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"
@mlemweb: "So how many fights are you planning on starting online today"
@cwebber @mlemweb Activitypub should be compatible with xhtml 2.0 coward
@cwebber @mlemweb you can't make good compost without stirring up sh!t
@cwebber @mlemweb but you keep making obviously correct points
@cwebber hm Turtle does sound preferable to JSON, tho.
@cwebber I was thinking REBOL, which makes it even more true of an assertion.
@cwebber ok but hear me out Turtle itself is beautiful
@platypus Turtle is beautiful and great but also there is a reason that nobody uses it for APIs that have taken off
@platypus It's great if you're a librarian or data scientist
@cwebber @platypus I legitimately can't tell if turtle is a real file format or if this is a joke.
@cwebber how about: YAML-LD
@cwebber
But why JSON instead of XML? 
@cwebber My criticism of ActivityPub is that it should either send JSON-LD or not send JSON-LD. Either extreme would be fine
@cwebber actually people aren't using my software because i haven't written it yet :)
@cwebber hah, am a fan of rdf ideas but never really been in rdf world -- i like json as a simple/safe serialization but sure wish jsonld-ish representations contained (like turtle) all the information needed to infer full property uris without having to fetch arbitrary contexts... maybe i belong in a library
@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.
@cwebber @ammaratef45 @passngrin I have a blog post in the works where I partially talk about how JSON-LD is such a seductive technology for “having your cake and eating it too” but the problem is that if you’re not utterly rigorous in how you define your context and use thereof you don’t actually get to have your cake and you certainly can’t eat it.
@cwebber Just remember : you only need to inject two bad thinkers to derail an entire standards committee
@cwebber in all seriousness it's not the ideas or the thinkers, it's actually a discovery issue from what i've found mostly. for someone who's unfamiliar with it all, what's your entry point? how do you play around with the smallest possible slice of the problem space? for something like a database people know mariadb and postgres but if you ask them to pick out a triple store could they even name one? maybe they can write a sparql query, but how do they execute it?
@cwebber i'd also add that there seems to be a much higher proportion of offerings that are proprietary or cost money. if you're not netflix or the bbc, then you're kind of cut off from the good tooling that a lot of people recommend. so you either have to load documents into memory with something like rdflib in python, or get your jvm setup so you can run... apache jena? rdf4j? i'm not really sure what i'd recommend to most people...