arnelson,
@arnelson@fosstodon.org avatar

Java is an interesting language for a Fediverse project because it's the one language with several mature implementations of Semantic Web tech (RDF, SPARQL, etc). JSON-LD just works, out of the box. It was kind of shocking to see Apache Jena do in a few minutes of work what took me weeks in Deno!

And I learned about a piece of the Semantic Web ecosystem I wasn't familiar with before. Have you heard the good word of OWL?

arnelson,
@arnelson@fosstodon.org avatar

OWL is a class hierarchy definition language for RDF. (And RDF, in case you're not up to speed, is the data model underneath JSON-LD, which ActivityPub is based on). Have you read the AP spec and wondered "OK, it defines all of these types, but where does that type hierarchy ever appear in code? What if I wanted to add a new subtype to one of them?" OWL is how you'd define that. At least in theory.

ayo,
@ayo@ayco.io avatar

@arnelson Does this mean a Note can be extended as another more specific thing? Maybe a calendar event?

arnelson,
@arnelson@fosstodon.org avatar

@ayo Yes, in theory. But nothing else would understand it yet. There's already an Event type, and you could just use that; it'll show up on software that understands it (Mobilizon, probably? Is there any other Fedi event software?) and be ignored by everything else.

In theory it would be correct JSON-LD to define an object as "type": ["Note", "Event"] and let it be interpreted as either by software that understands one or the other. But I can almost guarantee this would just be ignored.

ayo,
@ayo@ayco.io avatar

@arnelson Calendar event was just the first thing I thought, but yeah it makes sense that there’s already an Event type 😄 now thinking a software with this type could be a decentralized Calendly alternative.

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