- From: Martynas Jusevičius <martynas@graphity.org>
- Date: Tue, 20 Oct 2015 00:19:00 +0000
- To: James M Snell <jasnell@gmail.com>
- Cc: Melvin Carvalho <melvincarvalho@gmail.com>, public-socialweb@w3c.org
- Message-ID: <CAE35VmxZBoDKHpz4X_vhH2zd3FKXyvXkGU7crV8mg5DCv8iLrQ@mail.gmail.com>
What is the problem exactly? That AS 2.0 document is "invalid"? How is that validity defined? In RDF interpretation, there is no valid or invalid data - anyone can assert anything. In practice, this only becomes a problem when consuming data - but then it can be validated using constraints. If the specification depends on certain syntax of a certain serialization, then maybe it's based on the wrong design assumptions? An RDF application should be agnostic to serializations. On Tue, 20 Oct 2015 at 01:48, James M Snell <jasnell@gmail.com> wrote: > Doing so would not address the problem I describe. > > On Mon, Oct 19, 2015 at 4:42 PM, Martynas Jusevičius > <martynas@graphity.org> wrote: > > Why not put some constraints on the data? And make them dereferenceable? > > There's a spec for that: https://w3c.github.io/data-shapes/shacl/ > > > > On Tue, Oct 20, 2015 at 1:39 AM, James M Snell <jasnell@gmail.com> > wrote: > >> By way of example: The following is a valid expanded form JSON-LD > >> document that uses the AS 2.0 vocabulary. It can be served using the > >> `application/ld+json` media type. It is NOT, however, a valid AS 2.0 > >> document. > >> > >> ``` > >> [ > >> { > >> "@type": [ > >> "http://www.w3.org/ns/activitystreams#Create" > >> ], > >> "http://www.w3.org/ns/activitystreams#actor": [ > >> { > >> "@id": "acct:sally@example.org", > >> "@type": [ > >> "http://www.w3.org/ns/activitystreams#Person" > >> ], > >> "http://www.w3.org/ns/activitystreams#displayName": [ > >> { > >> "@value": "Sally" > >> } > >> ] > >> } > >> ], > >> "http://www.w3.org/ns/activitystreams#object": [ > >> { > >> "@type": [ > >> "http://www.w3.org/ns/activitystreams#Note" > >> ], > >> "http://www.w3.org/ns/activitystreams#content": [ > >> { > >> "@value": "This is a simple note" > >> } > >> ] > >> } > >> ], > >> "http://www.w3.org/ns/activitystreams#published": [ > >> { > >> "@type": "http://www.w3.org/2001/XMLSchema#dateTime", > >> "@value": "2015-01-25T12:34:56Z" > >> } > >> ] > >> } > >> ] > >> ``` > >> > >> The following is also a valid JSON-LD document that can be served > >> using the `application/ld+json` media type. It also uses the AS 2.0 > >> vocabulary but it is also not a valid AS 2.0 document: > >> > >> ``` > >> { > >> "@context": ["http://www.w3.org/ns/activitystreams", { > >> "foo": "as:displayName", > >> "bar": "as:content", > >> "baz": "@id", > >> "fuz": "@type" > >> }], > >> "@type": "Create", > >> "actor": { > >> "fuz": "Person", > >> "baz": "acct:sally@example.org", > >> "foo": "Sally" > >> }, > >> "object": { > >> "fuz": "Note", > >> "bar": "This is a simple note" > >> }, > >> "published": "2015-01-25T12:34:56Z" > >> } > >> ``` > >> > >> In fact, both of the above examples are valid JSON-LD serializations > >> of exactly the same data, which you can only know if you apply the > >> JSON-LD processing APIs. > >> > >> A key part of the reason AS 2.0 requires a normative JSON-LD context > >> and compact serialization is to normalize the data format and make it > >> possible for implementers to choose not to apply full JSON-LD > >> processing and still be able to make reasonable sense of the data. > >> > >> - James > >> > >> On Mon, Oct 19, 2015 at 4:30 PM, Martynas Jusevičius > >> <martynas@graphity.org> wrote: > >>> I don't see any reason for a new media type. Media types identify file > >>> formats basically, which is orthogonal to what AS doing: creating yet > >>> another RDF vocabulary to describe social graphs and document > >>> hierarchies. If the serialization format is JSON-LD, then it can be > >>> interpreted as both RDF and JSON, which is a bonus. But in general, > >>> Linked Data applications should advertise which RDF serializations > >>> they support, instead of creating or extending media types. By > >>> extending the JSON media type, the interoperability would decrease. > >>> > >>> Martynas > >>> > >>> On Tue, Oct 20, 2015 at 12:58 AM, Melvin Carvalho > >>> <melvincarvalho@gmail.com> wrote: > >>>> > >>>> > >>>> On 19 October 2015 at 21:37, James M Snell <jasnell@gmail.com> wrote: > >>>>> > >>>>> We have had a number of open github issues. I recommend closing the > >>>>> following: > >>>>> > >>>>> #52 - "New media type or application/ld+json plus profile" - > >>>>> https://github.com/jasnell/w3c-socialwg-activitystreams/issues/52 > >>>>> > >>>>> This one has been around for a while. There was a concern brought > up > >>>>> about the creation of the application/activity+json media type and > >>>>> whether or not AS2 should use the application/ld+json media type with > >>>>> a profile parameter. The concern is that use of the > >>>>> application/activity+json media type could harm interoperability. > >>>>> > >>>>> In my opinion, the concern is largely theoretical and is not backed > >>>>> by real implementation experience. There is nothing to be gained by > >>>>> switching to using the application/ld+json media type. Nor is there > >>>>> anything "broken" about using the "application/activity+json". > >>>> > >>>> > >>>> Thanks for bringing this up, James. > >>>> > >>>> Am I right to say that you would consider the two proposals of: > >>>> > >>>> 1 using the application/activity+json media type > >>>> 2 using the the application/ld+json media type plus profile mechanism > [1] > >>>> > >>>> largely equivalent? > >>>> > >>>> Or do you strongly favor one option over the other? If so, I think > it's > >>>> important to understand why > >>>> > >>>> [1] http://www.w3.org/TR/json-ld/#iana-considerations (see Optional > >>>> Parameters) > >>>> > >>>>> > >>>>> > >>>>> #157 - "Vocabulary item for "Blog" type" - > >>>>> https://github.com/jasnell/w3c-socialwg-activitystreams/issues/157 > >>>>> > >>>>> In my opinion, this is unnecessary. > >>>>> > >>>>> #175 - "Should we have a type for the object of an "Offer" activity? > >>>>> " - > https://github.com/jasnell/w3c-socialwg-activitystreams/issues/175 > >>>>> > >>>>> In my opinion, this is unnecessary. > >>>>> > >>>>> #205 - "Object partOf Collection" - > >>>>> https://github.com/jasnell/w3c-socialwg-activitystreams/issues/205 > >>>>> > >>>>> Question raised over whether we need a reverse property on objects > >>>>> to indicate which collection(s) they are members of. In my opinion > >>>>> this is unnecessary. > >>>>> > >>>>> #208 - "owl:Class vs. rdf:Property (for verbs and roles)" - > >>>>> https://github.com/jasnell/w3c-socialwg-activitystreams/issues/208 > >>>>> > >>>>> Raises a concern over the fundamental design of verbs in AS2. This > >>>>> requests revisiting a design decision that was made early within the > >>>>> design of AS2 without presenting any new information. I see little > >>>>> value in rehashing the prior conversation and selected design. > >>>>> > >>>>> - James > >>>>> > >>>> >
Received on Tuesday, 20 October 2015 00:19:42 UTC