Re: Use of full URI for rdf:type instead of @type

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