Ok, I can officially say that I don't get #jsonLD.
-
replied to Licho last edited by
I don't believe you are wrong. Furthermore,
IMO saying "The Fediverse uses JsonLD" is a piece of misinformation. The Fediverse somewhat pretends to use JsonLD as suggested by ActivityPub. However, all common applications, ignore JsonLD, and just look up the properties by their name.
-
replied to Helge last edited by [email protected]
Even ActivityPub spec only talks about JSON-LD casually and not normatively. For example, in the Overview:
>If you know what JSON-LD is, you can take advantage of the cool linked data approaches provided by JSON-LD. If you don't, don't worry, JSON-LD documents and ActivityStreams can be understood as plain old simple JSON.
-
replied to silverpill last edited by
@silverpill @helge You can't actually use it, even the aliasing feature. It's quite pointless, isn't it?
-
replied to Licho last edited by
-
replied to silverpill last edited by@silverpill I tried starting with json-ld-first and regretted it. i really gave it a serious try.
it is TOO "flexible" for parsing if you assume you are going to take any valid json-ld. matching on expanded form is also awful. -
replied to silverpill last edited by@silverpill @licho @helge i have yet to find a single reason to actually engage with the LD part, it's completely useless. There's no situation I ever heard about where it would be useful (on the fediverse).
-
-
replied to Christmas Sun last edited byThis was my experience too.
It also doesn't play very well in practice with JCS canonicalisation, as used by FEP-8b32 signatures: #^https://zotum.net/channel/fentiger?mid=d9557d63-a9e5-4bba-a39d-e2ee785def42
Trying to treat messages as "JSON-LD first" has taken me a very long way down a blind alley, and cost me a lot of time.
-
replied to silverpill last edited by
@[email protected] @[email protected] @[email protected] Fedify (which I created) started with JSON-LD-first approach, and yes, I somewhat regretted it.
-
replied to Helge last edited by
AFAIK, Mastodon handles JSON-LD properly and this is pretty much it.
But I don't think that we should say "the Fediverse pretends to use it" or that it should be only a "suggestion". To me, any AP application that fails to parse any valid JSON-LD (even if rendered as RDF triples) should treat it as a high-priority bug.
-
replied to silverpill last edited by
> JSON-LD processing doesn't seem to solve any problem developers face in the real world
To me, it's the opposite. Without JSON-LD, my application needs to have a bunch of parsing/serializing code in order to talk with everyone else. With JSON-LD, we could just rely on any RDF library and get the data structures that we need right away.
By avoiding JSON-LD, you end up dealing with *more* complexity, not less.
-
replied to Raphael Lullis last edited by
@raphael @silverpill @helge
Great to hear an alternative point of view, and a small spark of hope I haven't spent this time learning it in vain. Although I still don't see how it helps. Would you suggest I should start using the library (in my case pyld) and it will clarify? -
replied to Licho last edited by
pyld will help you ensuring that any document you receive is valid according to the schema, but the real power comes when you start thinking of JSON-LD documents as self-contained subgraphs of the whole "Social Graph": https://codeberg.org/Vocata/vocata#technical-what-the-fediverse-really-is
-
replied to Christmas Sun last edited by
What programming language are you using? Pretty much any RDF library can parse JSON-LD.
-
replied to Raphael Lullis last edited by@raphael @silverpill Elixir, but I glossed over a lot of details about issues I was having. I actually found a big problem with the json-ld library in Elixir I was using but was able to code around it.
A lot of the issues were honestly problems with activitypub and json-ld, like it doesn't matter if you use json-ld, you have to assume that your recipients do not so you have to write custom code to force your output to something that mastodon recognizes.
I tried to find a database for storing json-ld (or rdf or turtle) and then lets you query on it and there are few options and they all suck.
There is zero benefit to json-ld and lots of unnecessary cost. I tried really hard to make it work. -
replied to Raphael Lullis last edited by
AFAIK, Mastodon handles JSON-LD properly and this is pretty much it.
nah, it's actually an easily disproven statement. See the second to last row in the table on funfedi.dev Hashtags. A proper jsonld parser would recognize
as:Hashtag
as a Hashtag. As nobody does, nobody parses JsonLD. -
replied to Christmas Sun last edited by
Yeah, graph databases are still not exactly practical. I think that with my own project I managed to have a good balance between the abstraction of the AP types and the ability to parse/serialize them via RDF.
As for "other projects do not do JSON LD properly, so we need to figure out how to interop with them", I really disagree. The standard is there, they should be able to implement it properly.
-
replied to Raphael Lullis last edited by
@raphael I don't have any issues with parsing data. Maybe JSON-LD makes it easier to parse different kinds of values (string vs object vs array), but in the grand scheme of things this is not a significant advantage, which is dwarfed by interop issues, poor performance and increased cognitive load. Moreover, the problem with value variability is the problem that was created by JSON-LD in the first place (and which can be fixed by standard JSON schemas).
-
replied to Helge last edited by
as:Hashtag is an extension. Does it really fail if you send the proper context definition and not just the base namespace?
I swear I got it working with Mastodon, but perhaps you are right.
In any case, maybe we need a proper test suite like the CSS Acid Test to start pushing different software towards standards compliance.