- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Fri, 9 May 2014 12:49:45 -0700
- To: "john.walker" <john.walker@semaku.com>
- Cc: public-linked-json@w3.org
On May 9, 2014, at 7:38 AM, john.walker <john.walker@semaku.com> wrote:
> For sake of completeness here is another example of the JSON-LD tree using
> "@type" [4] working with the first frame [2]:
> http://json-ld.org/playground/index.html#startTab=tab-framed&json-ld=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Ftree2.jsonld&frame=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Fframe1.jsonld&context=%7B%7D
>
> But same input does not get along with second frame [3]:
> http://json-ld.org/playground/index.html#startTab=tab-framed&json-ld=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Ftree2.jsonld&frame=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Fframe2.jsonld&context=%7B%7D
Hi Jon, a couple of things to note:
1) JSON-LD treats rdf:type like @type only when importing from RDF; otherwise, it's just another property.
2) Framing is really pattern matching. For a frame to match @type: skos:ConceptScheme, it has to be specified using @type in the input JSON-LD.
You could get this effect by first transforming the input to RDF, and then back to JSON-LD to have it use @type. For example, see the following: http://goo.gl/JILxnc.
>> On May 9, 2014 at 4:27 PM "john.walker" <john.walker@semaku.com> wrote:
>>
>>
>> Hi There,
>>
>> I have a question about use of rdf:type in JSON-LD.
>>
>> Take for example a simple SKOS tree loaded [1] to the playground:
>> http://json-ld.org/playground/index.html#json-ld=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Ftree.jsonld
>>
>> All looks good.
>>
>> Now I want to apply a JSON-LD frame [2] to this:
>> http://json-ld.org/playground/index.html#startTab=tab-framed&json-ld=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Ftree.jsonld&frame=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Fframe1.jsonld
>>
>> In the result there is no content in the "@graph".
>>
>> It seems that this is due to the use of "@type" in the JSON-LD frame, whereas
>> the JSON-LD input uses "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".
>>
>> Note that the input document is being generated from a SPARQL query, so I'm
>> not
>> in control of how it is formed, it's just a simple serialization of the
>> triples.
>>
>> So a triple in question looks like:
>>
>> {
>> "@id": "http://example.com/conceptSchemes/myTree",
>> "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {
>> "@id": "http://www.w3.org/2004/02/skos/core#ConceptScheme"
>> }
>> }
>>
>> I would have thought the processor would somehow know that "@type" and
>> "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" are equivalent, but it seems
>> not.
>>
>> If I modify the frame to use the full URI [3], it works as expected:
>> http://json-ld.org/playground/index.html#startTab=tab-framed&json-ld=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Ftree.jsonld&frame=https%3A%2F%2Frawgit.com%2Fjaw111%2Fbbd1b00d656045ba8a2c%2Fraw%2Fframe2.jsonld
>>
>> So my questions:
>> - is this specified on way or another in the standard
>> - is this a problem in the processing in the playground, or
>> - should the relevant triples be formulated as follows in the JSON-LD input:
>>
>> {
>> "@id": "http://example.com/conceptSchemes/myTree",
>> "@type": "http://www.w3.org/2004/02/skos/core#ConceptScheme"
>> }
>>
>> Hope that is clear...
>>
>> Cheers,
>> John
>>
>> [1] https://rawgit.com/jaw111/bbd1b00d656045ba8a2c/raw/tree.jsonld
>> [2] https://rawgit.com/jaw111/bbd1b00d656045ba8a2c/raw/frame1.jsonld
>> [3] https://rawgit.com/jaw111/bbd1b00d656045ba8a2c/raw/frame2.jsonld
>>
>
> John
>
> [4] https://rawgit.com/jaw111/bbd1b00d656045ba8a2c/raw/tree2.jsonld
>
Received on Friday, 9 May 2014 19:50:16 UTC