Oh want to get mad at me again? How about a quote from me on Hack & Craft tonight

"Now I don't think that the RDF world is full of bad ideas! I just think it's full of bad thinkers"

"If your response to ActivityPub is 'it's a pretty good protocol but it would be nice if I could send around Turtle instead of JSON' that is why people are not using your software"
@cwebber I'm having trouble finding what Turtle is. DuckDuckGo showed me a drawing app and... a protocol from Binance?
@passngrin @cwebber I'm in the same boat and I also wanna find out what the heck rdf is 😅

@ammaratef45 @passngrin RDF is an abstract representation of information where things are triples of Subject Predicate Object relations (and realistically quads, adding the contextual "Graph" as one more).

It's pretty cool if you're interested in eg Prolog-style thinking, graphs are great ways to represent known knowledge in many ways.

RDF combines this with a whole ecosystem of things that turns the web into a database of sorts. (A very lossy, untrustworthy database, but a damn cool set of ideas there.)

But they're not a great way of representing *structured* data, which is what most people want in protocols. They are rootless soup.

@ammaratef45 @passngrin Turtle is a particular *encoding* of RDF, a way of writing it down in text. RDF itself is the abstract datatypes, the "platonic ideal" of triples/quads of information, and so you need to encode it to save it in a file or show it to some one. RDF fans often love Turtle because it's a way of writing things down that looks good once you've bought into that mindset.

However, when you get over to eg json-ld, the question is whether or not json-ld is "just an encoding of RDF", and there be dragons, because json-ld also contains other relevant semantic structure, which is to say: structure. And that structure is lost upon conversion to RDF soup.

Also RDF doesn't have ordered lists so just wait till you find out what kind of linked list nightmares happen when you turn an ordered JSON list into RDF.

If you don't know how to interpret the phrase "cons'ing together blank nodes" thank your lucky stars

@cwebber @ammaratef45 @passngrin technically you can add the structure back with json-ld framing, so it's not exactly "lost", just flattened.

re: linked lists i don't think it's any different than what happens in a programming language, is it? the underlying data structure can be expressed with a more efficient serialization (like how a python list *looks* like a c array but isn't) but it's still the same data. if the order matters then you have to store the order somehow, right?

@trwnh @ammaratef45 @passngrin Yes but you need to know what the root is to bring it back
@cwebber @ammaratef45 @passngrin true, i guess that's the difference between a tree and a graph. although i guess a json document could represent a json array instead of necessarily representing a single json object... so it's more that some documents have a singular root node and some don't.