Throwing a remix of this idea into the ring as well:
The quote activity
Instead of an Announce with content, we can define a new Activity type Quote that can be used similarly, but has different semantics. Whereas an Announce is defined like so:
Indicates that the
actoris calling thetarget's attention theobject.
So instead of “calling for attention”, the Quote activity would instead be defined semantically as:
Quote
: Indicates that the actor is quoting the object verbatim in its entirety.
The “quote activity” might also instead be named something else to avoid potential conflicts with other shorthand terms. Something like Cite could also work. Alternatively, other disambiguated senses of the word may be represented in the noun form as a Quotation or Citation.
- (~) No fallback. This could be either good or bad, depending on if you want a fallback or if you want the semantics to be respected.
- (+) With the existence of a
quotescollection (even if theitemsmight be private), we can use its IRI as thetargetof anAddwhich acts as a stamp of inclusion in a parallel way to how one might signal an Add into thelikes,shares,replies,context, etc collections. - (+) In theory supports one or multiple
objectreferences, but even if you limit the cardinality to 1, this at least “frees up” theinReplyToproperty for cases where you might reply to one post while quoting a different post. It also remains possible toQuoteanobjectwhile also declaring that yourQuoteisinReplyTothe sameobject.