W3C home > Mailing lists > Public > public-socialweb@w3.org > May 2015

Re: potential use of profiles for crystalisations of RDF

From: <henry.story@bblfish.net>
Date: Thu, 14 May 2015 18:05:04 +0200
Cc: Social Web Working Group <public-socialweb@w3.org>, Linked Data Platform WG <public-ldp-wg@w3.org>
Message-Id: <6119D9DC-01AC-4F2F-9A33-4EC84BB3F6F9@bblfish.net>
To: John Walker <john.walker@semaku.com>

> On 14 May 2015, at 18:01, henry.story@bblfish.net wrote:
> 
> Forwarding this to the Social Web and Linked Data WG lists, as your mail does
> not seem to have made it through the filter there.
> 
>> On 13 May 2015, at 15:42, John Walker <john.walker@semaku.com> wrote:
>> 
>> Hi Henry
>> 
>> Sounds suspiciously like JSON-LD Framing.
>> 
>> http://json-ld.org/spec/latest/json-ld-framing/


Thanks for that pointer John. From the introduction it seems that indeed a frame is what I called a crystalisation.

[[
A JSON-LD document is a representation of a directed graph. A single directed graph can have many different serializations, each expressing exactly the same information. Developers typically work with trees, represented as JSON objects. While mapping a graph to a tree can be done, the layout of the end result must be specified in advance. A Frame can be used by a developer on a JSON-LD document to specify a deterministic layout for a graph.
]]

But what I don't see in that document is a language for expressing the frame/crystalisation that can be written to a document on the web, and then read by a machine to produce the right document structure.

Henry


>> 
>> Regards,
>> John
>> 
>> On 13 May 2015, at 14:15, "henry.story@bblfish.net" <henry.story@bblfish.net> wrote:
>> 
>>> There is a potential use of profiles that I can think of which has to do with cases where there is a need to create JSON-LD crystalisations of RDF [1]. I defined a crystalisation of RDF in 2006 as giving an RDF a specific shape. A good example of this in the RDF/XML work was RSS1.1 [2].
>>> 
>>> RDF/XML has gone but the same need is emerging in JSON land. For similar reasons there
>>> are people who need to consume JSON-LD as JSON. It may help with market share. It may help for technical reasons too, to do with ordering of results: one would sometimes like some information to appear first in a result page for example, such as with LDP the descriptions about an LDP Container. Or another use case is the Activity Streams 2.0 specification where some of the group members are very JSON centric and there is an argument that making RDF familiar to them will help increase the publication volume of this format.
>>> 
>>> Anyway, as a publisher of linked data, and an author of an LDP implementation [4] I would
>>> like to consume and publish such data.  Consuming it would be easy since it just is JSON-LD and so immediately converts to RDF. Publishing it on the other hand is more problematic. I don't want to hack my server to create serialisations for each different crystalisation people end up choosing for each data format. What is needed is an automated way for a client to request a crystalisation in particual if it wants one. So the client should ask for something like
>>> 
>>> Accept: application/ld+json;profile=http://www.w3.org/TR/activitystreams-core/profile
>>> 
>>> My server should be able initially to GET the profile at the URL, cache it, and from the information found there be able to produce the correct crystalisation, so that the client can be happy. The graph returned should be isomorphic to the one returned without the profile header.
>>> 
>>> This is a request ( perhaps to the JSON-LD crowd, perhaps to someone else ) to come up with a machine readable vocabulary for describing a profile so that my server can implement it and do the right thing. I am not sure who could take this up. There is a need for it. Perhaps it already exists.
>>> 
>>> Sincerely,
>>> 
>>>  Henry
>>> 
>>> 
>>> [1] https://blogs.oracle.com/bblfish/entry/crystalizing_rdf
>>> [2] http://inamidst.com/rss1.1/
>>> [3] http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2.html
>>> Activity Streams is an inheritor of the RSS work, moved to JSON, so its perhaps
>>> not surprising that the discussions from RSS1.1 have transfered to this format too.
>>> [4] https://github.com/read-write-web/rww-play/
>>> 
>>> 
>>> Social Web Architect
>>> http://bblfish.net/
>>> 
>>> 
> 
> Social Web Architect
> http://bblfish.net/
> 

Social Web Architect
http://bblfish.net/
Received on Thursday, 14 May 2015 16:05:34 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:26:17 UTC