I ought to say some things about json-ld, because I think a lot of people aren't familiar with the details of it.

- You can play with json-ld live here: json-ld.org/playground/
- JSON-LD lets you have extensions but map them to local "compacted" shorthands, while still allowing to expand out into unambiguous form.
- JSON-LD does allow converting to a RDF graph, but it's not required. (It is interesting, though.)

(cotd ...)

- Unlike most specs, JSON-LD has a complete implementation guide w3.org/TR/json-ld-api/ Some people have been complaining on here that it's non-normative, but of course it's not normative. For example, the algorithms here are imperative, and it's legal to rewrite to a functional style without breaking the spec.
- The JSON-LD test suite is *fantastic* and if you do an implementation, will really catch a lot of things

(cotd ...)

- One of the suggestions in the "litepub" subset of activitypub being proposed (I think it's fine to explore a subset) is that core AS2 terms can be compacted while extensions should be their full URI. That's fine, and is compatible, but
- If you have a json-ld library handy, one thing you can do is just compact incoming data to the context *you* use. It'll do exactly the same thing with terms you don't know but will let you use shorthands for those you do.

- One complaint about json-ld is that it doesn't work nicely with statically compiled languages or ones with fixed records. That's because it's an open world system. But here's news: *any system* that has extensions (including litepub's proposed solution) will have this problem. Litepub won't get rid of this challenge (because records will still be fixed and won't know how to handle extensions). It would mean you wouldn't have to use a json-ld library, but those are two different things

- JSON-LD didn't come from the semantic web world, it even started as a reaction against it in some ways. Here's history from one of the JSON-LD founders, Manu Sporny: "JSON-LD and Why I Hate the Semantic Web" manu.sporny.org/2014/json-ld-o
- JSON-LD's inclusion in ActivityPub had nothing to do with pressure from W3C staff. Most W3C staff barely paid attention to ActivityPub or the SocialWG compared to most other working groups before it took off thanks to Mastodon's adoption

- The W3C has structural problems, and it's membership structure *does* lead to corruption. I've criticized this myself. However the SocialWG which standardized ActivityPub was an outlier: most participants were not corporate members but were "invited experts" from the community. This was rare in the W3C.

- JSON-LD is actually quite easy to use if you have a library that implements it. Most of the time, all you need to do is compact incoming data to the local context you know. *That's it*! It's fast too.
- If you don't have a library, the API doc walks you through it. It's not hard (I've implemented a full json-ld stack myself), just time consuming. Again, the tests are very good though.

There, I just wanted to clear up some things. Happy to answer questions.



I appreciated all of your json-ld posts today. Did any of them make it into any of those pleroma threads? I just looked at the one I bookmarked, and don't see it there.

(Still learning how these federated conversations work..)

My comment did (appear in pleroma.site...)

@bhaugen I didn't link it on the Pleroma thread. Maybe that's lame of me, but I just didn't have the energy to deal with a kick-back and I figured I might get one if I posted it over there since there seemed to be a lot of indignation there


I understand. I take the same approach, I don't argue much with people, just move with the people who want to move together. Move faster and usually better that way.
Unless we are all deluded...

Sign in to participate in the conversation

social.coop is a cooperatively-run corner of the Fediverse. The instance is democratically governed by its members, who generally share an interest in the co-op model, but topics of discussion range widely.

If you are interested in joining our community, please review our Bylaws and Code of Conduct. If you agree with them, you may apply for membership on our instance via this link

Our instance is supported by sliding scale contributions of $1-10/mo made via Open Collective. You must have an active Open Collective account to apply for membership; you may set one up here