Representing the cause of an activity

In Activity Streams 2.0, we can represent the result of an activity using the result property. Here, when the actor accepts a Follow activity, the result is that the follower is added to the actor's followers collection.

{ "@context": "https://www.w3.org/ns/activitystreams", "id": "https://social example/accept/12931", "type": "Accept", "actor": "https://social example/person/24405", "to": ["as:Public", "https://other example/person/21356"], "object": { "id": "https://other example/follow/30360",

https://activitypub.space/post/402

Representing the cause of an activity

In Activity Streams 2.0, we can represent the result of an activity using the result property. Here, when the actor accepts a Follow activity, the result is ...

⁂ ActivityPub.Space

Dagnabbit. Here's a comment from 11 years ago on this topic!

https://github.com/w3c/activitystreams/issues/20#issuecomment-58034202

reverse link relations (inverse properties) · Issue #20 · w3c/activitystreams

currently schema.org tries to address challenges related microdata not having proper support for inverse properties: https://www.w3.org/wiki/WebSchemas/InverseProperties JSON-LD and RDFa support it...

GitHub
@evan hi Evan, I think we would need some examples of what you consider a cause to be in order to develop this idea further

@[email protected] I used an example in my original post! The result property describes this relationship.

https://www.w3.org/TR/activitystreams-vocabulary/#dfn-result

Here are a few more:

  • When an actor arrives at a place, the actor updates their own location
  • When an actor likes an object, the actor adds the object to their liked collection
  • When an actor unfollows someone, the actor removes that someone from their following collection

So, I see it particularly useful for the side-effects defined by ActivityPub, but there may be other good uses.

Activity Vocabulary

@evan this is what happens when you read the fedi at stoplights.

I'd think some kind of link to the "triggering" activity in the result.

(I'm speaking from a very old and rusty memory of AP, but)

Is a result an activity? Can it live on it's own? If not, it seems like a processor can make the assumption that object → result? Otherwise, a link to the triggering activity by id could work. But what to call that link? <shrugs>

@[email protected] @evan i.e. can another activity be considered a cause which raises the question of whether an activity stream stream can be considered a network graph delivered overtime
@evan I don’t know just random driving thoughts