- From: Christopher Allan Webber <cwebber@dustycloud.org>
- Date: Tue, 20 Oct 2015 09:36:10 -0500
- To: Martynas Jusevičius <martynas@graphity.org>
- Cc: James M Snell <jasnell@gmail.com>, Melvin Carvalho <melvincarvalho@gmail.com>, public-socialweb@w3c.org
Martynas Jusevičius writes: > AS 2.0 is not an RDF application, yet it defines an RDF vocabulary and > specifically chooses JSON-LD instead of custom JSON to be interpreted as > RDF? I think it's great that it defines an RDF vocabulary and can be potentially expressed as such. That doesn't mean that because it's an option that it *must* express itself full-on this way. > What happens if I take your examples and publish them as Turtle? Why can't > that data be valid AS data? A well-designed system would be able to consume > both. > > By restricting the media type, AS is breaking content negotiation: > http://www.w3.org/TR/webarch/#def-coneg > > I can understand it is favoring JSON over other syntaxes. Is it because > JSON happens to be native to JavaScript, or, as Melvin has put it, because > it is fashionable? > > It is not safe to assume that a majority of semantic agents will be written > in JavaScript. Without that premise, JSON-LD has no advantages over other > RDF syntaxes. It isn't because of Javascript; I've spent the last 10 years as a web developer for various organizations, and the de-facto way to write web APIs right now is to have HTTP endpoints that send JSON from place to place. And I'm not a Javascript developer; most of my time has been spent in Python (with some excurions into various lisps, and a few brief stints in Ruby), and I can tell you that *all major web frameworks* are catered to this style of communication. This isn't true of RDF (and it isn't of Microformats either). You can do those, but the tooling doesn't work that way out of the box, and it'll take extra work. Path of least resistance. JSON from endpoint to endpoint is how APIs are currently written. I think it sticks in the craw of the linked data community that "AS2... it's soooooo close, it can even be expressed as RDF, can we just get them to go full RDF?" But the goal here is to build something that can work with mainstream developers, yes, because we want to bring the technologies we're proposing to the majority of the world. There's a big win for a developer being able to just HTTP GET some JSON resource and start pulling out keys, and *that's it*, no extra graph processing or anything. The good news is, as soon as you want to start extending AS2, you'll look at the json-ld representation in more depth, and that can be a "gateway drug" for more linked data exploration. The other good news is, if you recognize the ActivityStreams2 representation based off of the mimetype, you could do the appropriate conversion to other linked data stuff in what, a 5 line procedure? Maybe less! That's pretty great, I think.
Received on Tuesday, 20 October 2015 14:45:08 UTC