Closed aschrijver closed 1 year ago
The Actor properties and object properties defined in the ActivityPub standard are an extension of Activity Streams 2.0. They are not part of the Activity Streams core or vocabulary specifications. AS2 serves a number of use cases, and the AP properties are specific for the use cases of server-to-server federation and client-to-server API.
However, Activity Streams 2.0 has a mechanism for including properties from popular extensions. "Some popular extensions are included in the Activity Streams 2.0 namespace document, and can be reviewed at https://www.w3.org/ns/activitystreams#extensions. The Social Web Incubator Community Group maintains a wiki page on Activity Streams extensions."
Currently, the main extensions included this way are AP and DID properties, but others may be added in the future.
This can be confusing, since extension properties are agreed-up and defined elsewhere, but become part of the main "context" document. The advantage of having a single line of "@context" in AS2 JSON objects outweighs the disadvantage of distinguishing popular extensions from the core vocabulary.
I've added this as a FAQ to https://w3c.org/wiki/Activity_Streams/FAQ .
@evanp thank you. This answers the question.
However, I see I forgot to add some text to the issue, namely:
activitypub-context.jsonld
isn't complete and isn't the location where the context is defined. Having the file in the repo can only confuse. Shouldn't it be rather deleted then?
@aschrijver Maybe this needs to be a new issue?
activitypub-context.jsonld isn't complete and isn't the location where the context is defined. Having the file in the repo can only confuse. Shouldn't it be rather deleted then?
The repo has an activitypub-context.jsonld that includes some (not all, e.g. missing
streams
) of the AP properties that aren't mentioned in the ActivityStreams Vocab spec (the text document), such asProxyURL
. The ActivityPub recommendation also in par. Actor Objects refers to AS as an "upstream vocabulary".Yet, the activitystreams.jsonld does contain all these AP properties as well. This is confusing. There's a sort of mix'n match between specs.
Wouldn't it be more accurate to state that ActivityStreams is THE vocabulary of ActivityPub?
(This is in line with Mastodon PR #1202 that states that "there is no ActivityPub JSON format")