hrefna,
@hrefna@hachyderm.io avatar

Send help.

benpate,
@benpate@mastodon.social avatar

@hrefna Yup. And this isn’t even the most difficult part of “federating” with ActivityPub. After six months and three failed starts, I punted on the ideal of using perfectly abstract JSON-LD and just hard coded a reasonable vocabulary based on what actual working applications are supporting. No Ragrets.

Where are you in this process? I’m working in Go (probably a different environment than you) but let me know if my notes would help you crack this.

hrefna,
@hrefna@hachyderm.io avatar

@benpate Similar experience to you (this is my fourth start), but I decided that I would define a protocol for my app first that didn't need to be compatible with anything else, but that would provide a clear route to being compatible.

As far as progress: I have a lot of basic framework in place, but have taken a step back to get the protocol I'm going for worked out and documented.

steve,
@steve@social.technoetic.com avatar

@hrefna Your diagram looks like it doesn't support Link* in the relevant union types. For example, Activity.object can reference either an Object or a Link. Most or all of the examples in the spec embed an anonymous Link (i.e. RDF blank node), but one could assign an "id" to a Link and use that IRI as the Activity.object value.

jenniferplusplus,
@jenniferplusplus@hachyderm.io avatar

@steve @hrefna Does Link* mean a link to a Link? What would that even mean? If it's just a bare uri string, that's a link to an Object.

hrefna,
@hrefna@hachyderm.io avatar

@jenniferplusplus

Agreed. To the degree that such could happen, I would view that as a flaw in the spec and something that should be considered a bug, not a feature.

There's "I could conceivably see this being used in a compliant application at some point for a legitimate purpose" and there's "I'm pretty sure that's just an error and should be treated as a bug."

@steve

steve,
@steve@social.technoetic.com avatar

@jenniferplusplus @hrefna No. It's a URI/IRI referencing a Link. A URI is not a Link (or necessarily a reference to an Object if the property range is Object|Link). A Link is effectively what RDF would call a "reified" property/predicate that allows other properties to be associated with the Link's "href" (name, summary, etc.). The Link can be given an "id", dereferenced just like an Object, and the Link can be referenced by multiple Objects. Or it could be put in a Collection, for example.

smallcircles,
@smallcircles@social.coop avatar

@steve @jenniferplusplus @hrefna

Said differently Object and Link are both concepts that lend their meaning from the ActivityStreams vocabulary. The URI/IRI are part of the LD spec for defining such concepts.

steve,
@steve@social.technoetic.com avatar

@smallcircles @jenniferplusplus @hrefna The places where a property range is defined as "xsd:anyURI | Link" could be considered a spec bug. From an OWL perspective, it's invalid (can't be both a DataProperty and ObjectProperty). An AP/AS2 URI typically references an Object or Link. However "anyURI" could dereference to anything (a zip file, an image, ...). In this case, given a URI, I think the only way to disambiguate the reference is to dereference it and check the content type (???).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • fediverse
  • DreamBathrooms
  • mdbf
  • ethstaker
  • magazineikmin
  • GTA5RPClips
  • rosin
  • thenastyranch
  • Youngstown
  • InstantRegret
  • slotface
  • osvaldo12
  • kavyap
  • khanakhh
  • Durango
  • megavids
  • everett
  • cisconetworking
  • normalnudes
  • tester
  • ngwrru68w68
  • cubers
  • modclub
  • tacticalgear
  • provamag3
  • Leos
  • anitta
  • JUstTest
  • lostlight
  • All magazines