Re: Open Github Issues

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