- From: James M Snell <jasnell@gmail.com>
- Date: Mon, 19 Oct 2015 16:39:40 -0700
- To: Martynas Jusevičius <martynas@graphity.org>
- Cc: Melvin Carvalho <melvincarvalho@gmail.com>, public-socialweb@w3c.org
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 Monday, 19 October 2015 23:40:31 UTC