Should audience targeting properties be subproperties of as:audience?
@evanp is already working on this.
Since Mar 13, 2026.
- Dominant language
- HTML
- Stars
- 313
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Description
Background
We have 5 properties for "audience" in https://www.w3.org/TR/activitystreams-vocabulary/ defined like so:
- "to" (as:to) = "public primary audience"
- "cc" (as:cc) = "public secondary audience"
- "bto" (as:bto) = "private primary audience"
- "bcc" (as:bcc) = "private secondary audience"
- "audience" (as:audience) = total audience ("the total population of entities for which the object can considered to be relevant")
This sounds like (based on the "total" wording there) that we should be able to infer that if an object is addressed as:to something, then that something is part of the "total" as:audience of the object.
More formally, it is implying the following claims, in an inferential/ontological sense:
as:to rdfs:subPropertyOf as:audience.
as:cc rdfs:subPropertyOf as:audience.
as:bto rdfs:subPropertyOf as:audience.
as:bcc rdfs:subPropertyOf as:audience.
We use this "subproperty of" terminology in the definition of "actor", where as:actor is a "subproperty of" as:attributedTo.
Question
Should audience targeting properties be subproperties of as:audience? Or in other words, is every value of as:to, as:cc, as:bto, as:bcc also a value of as:audience?
Potential answer 1: Yes
If yes, then we should:
- Errata AS2-Vocab to call out this subproperty relationship, like how as:actor is an rdfs:subPropertyOf as:attributedTo.
- Update the "OWL file" to add these statements. (Although there is a larger meta-issue about this file and how it should be managed, which #416 and #606 deal with.)
- Maybe update the primer page on "Audience targeting", which is currently copied from AS2-Vocab verbatim.
Potential answer 2: No
If not, then what is as:audience, really? Why aren't the "audience properties" subproperties of "the audience property"? Can there be a meaningful definition of as:audience that makes something part of a public/private primary/secondary audience not part of the total audience? This answer raises many inconsistencies, so I am inclined to say that we should go with answer 1 instead.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.