- From: John Walker <john.walker@semaku.com>
- Date: Fri, 9 May 2014 22:48:22 +0200
- To: Dave Longley <dlongley@digitalbazaar.com>
- Cc: Gregg Kellogg <gregg@greggkellogg.net>, "public-linked-json@w3.org" <public-linked-json@w3.org>
Hi Dave Tried some variations round that theme, but could get it working. Would it be right to say that the SPARQL query *should* return results using "@type" rather than full URI? Guess that'd make life easier. Regards, John On 9 May 2014, at 22:32, Dave Longley <dlongley@digitalbazaar.com> wrote: > On 05/09/2014 03:49 PM, Gregg Kellogg wrote: >> 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. > > Alternatively, I think you could also specify > "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" as an alias for @type > to get the desired effect: > > { > "@context": { > "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "@type" > } > } > >> >> >>>> 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 >>> >> >> > > > -- > Dave Longley > CTO > Digital Bazaar, Inc.
Received on Friday, 9 May 2014 20:48:54 UTC