- From: Håvard Ottestad <hmottestad@gmail.com>
- Date: Thu, 26 Mar 2020 20:11:10 +0100
- To: Irene Polikoff <irene@topquadrant.com>
- Cc: James Hudson <jameshudson3010@gmail.com>, Public Shacl W3C <public-shacl@w3.org>
- Message-ID: <CAEKmdN08uDMA8VioM0B1bUivuxANrU6TQkyBhb19oY3PBUWCUQ@mail.gmail.com>
Hi, Things I think you can do with SHACL: > I have not typed "@Ib" instead of "@id". That there is a "@id" key for every object. I think that would be hard. Depends what happens when there isn't an @id. If the parser generates an error, then that should solve it for you. If it generates a blank node, then you can use sh:nodeKind to validate for that. > Additionally, that when I have declared something as a subclass, that the superclass exists and there are no typos in the superclass name. You could do some form of sh:minCount and also possibly checking that the sh:class is an rdfs:Class. Spelling mistakes for properties can be solved with sh:closed. Which will make sure that all properties used are specified in the SHACL shape. Cheers, Håvard On Thu, Mar 26, 2020 at 7:58 PM Irene Polikoff <irene@topquadrant.com> wrote: > JSON-LD, Turtle, RDF/XML, etc. are all different alternative text > serialization formats for RDF. Is this what you meant by “alternative > representation of RDF”? > > SHACL does not validate at the level of “is this a valid RDF > serialization”. It validates at the level “does this RDF data have the > expected shape”. > > I believe pretty much any RDF-based software already has the ability to > successfully serialize and de-serialize standard text formats and report an > error if the format is incorrect. > > On Mar 26, 2020, at 2:43 PM, James Hudson <jameshudson3010@gmail.com> > wrote: > > Hello, > > Yes, I understand that. A json-ld document is an alternate representation > of RDF. > > Regards, > James > ` > > On Thu, Mar 26, 2020 at 2:35 PM Irene Polikoff <irene@topquadrant.com> > wrote: > >> Hello James, >> >> SHACL validates RDF. It does not validate text serializations of RDF to >> make sure that a serialized document/file itself is a syntactically valid >> sterilization of RDF. >> >> So, I would think that first you'd need to have a document that is a >> valid serialization of RDF i.e., it can be successfully parsed and >> de-serialized. Then, you could use SHACL to ensure that RDF data >> corresponds to the SHACL shapes that describe it. I am using “RDF data” >> loosely, meaning any set of RDF triples, whether it is data or schema does >> not matter. By schema I mean the model of the data - classes, properties, >> allowed values for properties. >> >> On Mar 26, 2020, at 1:33 PM, James Hudson <jameshudson3010@gmail.com> >> wrote: >> >> Hello, >> >> Being rather new to the linked data world, I am at the point where I need >> to work out the best methods for validating schema's and the role that >> SHACL may or may not be able to play. >> >> Since it is easier to discuss something real, I have created a sample >> schema in the json-ld format and have made it available here: >> >> https://gist.github.com/James-Hudson3010/7deec4df32aa6b97509aeb490f1edf9b >> >> It can be entered into the json-ld playground and visualized without >> error. >> >> What I mean by validation of the schema, is that I would like to make >> sure it is valid json-ld document. I have not typed "@Ib" instead of "@id". >> That there is a "@id" key for every object. Additionally, that when I have >> declared something as a subclass, that the superclass exists and there are >> no typos in the superclass name. >> >> Perhaps someone has already been working on to playing with shape files >> for json-ld schema's. >> >> Perhaps I am ascribing capabilities to SHACL that it does not have. >> >> Any thoughts or comments would be appreciated. >> >> Additionally, for completeness, I have created an instance based on this >> schema and that can be found here: >> >> https://gist.github.com/James-Hudson3010/227ffb77b853a29556be5b5c3a67c309 >> >> Regards, >> James >> >> >> >
Received on Thursday, 26 March 2020 19:11:35 UTC