- From: Pano Maria <pano.maria@gmail.com>
- Date: Wed, 8 Feb 2017 12:53:29 +0100
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: public-data-shapes-wg@w3.org
- Message-ID: <CADEotiZzZ7PbdO6K9CLDghh61zm+UME-LZzgzpjbWz9cg0aGuw@mail.gmail.com>
I can create an @context. However, do note that one would still need to frame their JSON-LD to get the desired output. We could probably create a default frame for a "pure" shapes graph, but if the shapes graph contains other non-shacl instances the frame should be customized to their needs. Kind regards, Pano On Feb 8, 2017 12:01, "Holger Knublauch" <holger@topquadrant.com> wrote: You are right that the given JSON-LD snippet is not complete and may theoretically be misunderstood. So as a minimum we would need to put an extra warning above this. Thinking a bit further than this particular snippet, many people who experiment with JSON-LD have told me that they dislike the "default rendering" produced by standard exporters. And I agree with them. My hope here was to be able to demonstrate that JSON-LD can produce a very readable syntax, and that this syntax may even be processed by tools that are not necessarily native RDF tools. I would therefore not like to include a full @context, as this somehow defeats the readability goal. The ideal solution would be if someone (e.g. this WG) would produce a de-facto default @context for SHACL. If we had this, we could simply link to that from the example. Is anybody in the WG sufficiently experienced with JSON-LD to do a proper job for that? The vocab itself is now hopefully quite stable so this may be a very worthwhile initiative to help with SHACL's adoption. Holger On 8/02/2017 18:56, Pano Maria wrote: > The example indeed looks good when the appropriate @context is > provided. I assume you don't want to add an @context to the example > because we don't provide the namespace prefixes in each turtle example > either. > > The only potential problem I see is for those that are using JSON-LD > (e.g. in APIs) but don't know RDF and could apply a seemingly > plausible @context which can lead to unexpected results. The fact that > someone asked how SHACL looks in JSON-LD tells me they either haven't > looked at the SHACL RDF vocabulary or don't know RDF. But the > resulting RDF in JSON-LD can vary a lot based on the @context. So it > might be safer to add an appropriate @context to this example. > > For example the RDF in this possibly appropriate @context > http://tinyurl.com/jrgj6t3 > is quite different from the one represented by the not so appropriate > @context http://tinyurl.com/hazbtyy. > > Kind regards, > Pano > > On Tue, Feb 7, 2017 at 7:27 AM, Holger Knublauch <holger@topquadrant.com> > wrote: > >> I was asked via a private email whether we could provide some example of >> how >> SHACL could look in JSON-LD. So I have added the following snippet to the >> SHACL Example in section 1.4. I have tested that it can be parsed, >> assuming >> a suitable @context exists. >> >> Does anyone see problems with this addition? >> >> Thanks >> Holger >> >> >> { >> "@id" : "ex:PersonShape", >> "@type" : "NodeShape", >> "targetClass" : "ex:Person", >> "property" : [ >> { >> "path" : "ex:ssn", >> "maxCount" : 1, >> "datatype" : "xsd:string" , >> "pattern" : "^\\d{3}-\\d{2}-\\d{4}$" >> }, >> { >> "path" : "ex:child", >> "class" : "ex:Person", >> "nodeKind" : "sh:IRI" >> }, >> { >> "comment" : "A person's parents are represented via ex:child >> used in the inverse direction." , >> "path" : { "inversePath" : "ex:child" }, >> "name" : "parent", >> "maxCount" : 2 >> } >> ], >> "closed" : true, >> "ignoredProperties" : [ "rdf:type" ] >> } >> >>
Received on Wednesday, 8 February 2017 11:54:24 UTC