I have also responded to the similar question at
https://github.com/TopQuadrant/shacl-js/issues/22
Holger
On 31/01/2020 02:54, Irene Polikoff wrote:
Stefan,
Is your question about EDG or about SHACL playground?
* In EDG, Data Graph is a type of asset collection that contains
only instance data. When you create a data graph in EDG, you will
be asked for an ontology to base it on. The dialog will give you a
selection of ontologies that are available in your environment.
* It is important that there is a class in that ontology that is
declared to be public. This should be a class for which you will
have data. If your data will belong to multiple classes, make a
common parent public. Please see
https://doc.topquadrant.com/6.3/ontologies/#SHACL_requirements_for_working_with_Reference_Datasets_and_Data_Graphs
* Once this is set up, you can use Import RDF to load your data in
JSON-LD serialization or any other serialization. The ontology you
chose should, of course, correspond to this data. In other words,
have SHACL Shapes for it.
In SHACL, there are two terms, “shapes graph” and “data graph”. These
are roles that any graph can play. A SHACL engine will use a shapes
graph as a source for SHACL Shapes and it will use a data graph as a
source of data to be validated against these shapes. These are just
roles and you can have the same graph playing both roles. You can also
use as a data graph a graph containing just shapes, not “instance
data” . This can be useful to validate your shapes declarations
against the meta shapes for SHACL. If your graphs contain any
owl:imports, SHACL engines should act on them, but you are not
required to have them.
SHACL playground is a sample implementation of SHACL in JavaScript.
On Jan 30, 2020, at 5:04 AM, Stefan Verweij
<[email protected] <mailto:[email protected]>> wrote:
Hi Irene,
I have a question regarding this topic: I cannot find any
documentation about importing an ontology with the owl:import
mechanism in a data graph with instances and how this data graph
would look like then, e.g. if we look at the examples Fan gave (or
one in JSON-LD format?). In the https://shacl.org/playground/ the
data graph does not seem to import the ontology if I am not mistaken?
Stefan
Op donderdag 10 oktober 2019 20:52:31 UTC+2 schreef Irene Polikoff:
You do not need to separate them into 2 graphs for the purposes
of validation. Shape graph and data graph are just roles. You
could use a single graph as both, shapes and data.
As a best practice, we recommend separating schema (shapes) from
data (instances) and connecting a graph with instances with a
graph that defines schema using Includes/owl:imports mechanism.
>> On Oct 10, 2019, at 12:40 PM, Fan Li <[email protected]> wrote:
>>
>> Hi Irene, thanks for your prompt response! I should be more
clear that the error doesn't surface in the EDG editor interface
but through the SHACL validation form
(/edg/tbl/swp?_viewClass=tblshacl%3AValidationPage) as well as
the public shacl playground (http://shacl.org
<http://shacl.org/>). I have enclosed a simple example for you to
reproduce.
>>
>> shape:
>> # baseURI: urn:x-evn-master:mytest
>> # imports: http://datashapes.org/dash
>> # imports: http://datashapes.org/graphql
>>
>> @prefix mytest: <http://example.org/ontologies/mytest#
<http://example.org/ontologies/mytest#>> .
>> @prefix metadata: <http://topbraid.org/metadata#> .
>> @prefix sh: <http://www.w3.org/ns/shacl#> .
>> @prefix teamwork: <http://topbraid.org/teamwork#> .
>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>> .
>> @prefix owl: <http://www.w3.org/2002/07/owl#
<http://www.w3.org/2002/07/owl#>> .
>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#
<http://www.w3.org/2000/01/rdf-schema#>> .
>> <urn:x-evn-master:mytest>
>> a owl:Ontology ;
>> rdfs:label "mytest" ;
>> metadata:status metadata:UnderDevelopmentStatus ;
>> <http://topbraid.org/swa#defaultNamespace
<http://topbraid.org/swa#defaultNamespace>>
>> "http://example.org/ontologies/mytest#
<http://example.org/ontologies/mytest#>" ;
>> teamwork:newInstancesUserCannotModifyURI
>> false ;
>> owl:imports <http://datashapes.org/dash> ,
<http://datashapes.org/graphql> .
>>
>> mytest:B a sh:NodeShape , owl:Class ;
>> rdfs:label "B" ;
>> rdfs:subClassOf owl:Thing .
>>
>> mytest:A a sh:NodeShape , owl:Class ;
>> rdfs:label "A" ;
>> rdfs:subClassOf mytest:B .
>>
>> mytest:C a sh:NodeShape , owl:Class ;
>> rdfs:label "C" ;
>> rdfs:subClassOf owl:Thing ;
>> sh:property mytest:C-prop1 .
>>
>> mytest:C-prop1 a sh:PropertyShape ;
>> sh:class mytest:B ;
>> sh:path mytest:prop1 .
>>
>> mytest:prop1 a owl:ObjectProperty ;
>> rdfs:label "prop1" .
>>
>>
>> data:
>> # baseURI: urn:x-evn-master:mytest
>> # imports: http://datashapes.org/dash
>> # imports: http://datashapes.org/graphql
>>
>> @prefix mytest: <http://example.org/ontologies/mytest#
<http://example.org/ontologies/mytest#>> .
>> @prefix metadata: <http://topbraid.org/metadata#> .
>> @prefix sh: <http://www.w3.org/ns/shacl#> .
>> @prefix teamwork: <http://topbraid.org/teamwork#> .
>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>> .
>> @prefix owl: <http://www.w3.org/2002/07/owl#
<http://www.w3.org/2002/07/owl#>> .
>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#
<http://www.w3.org/2000/01/rdf-schema#>> .
>> <urn:x-evn-master:mytest>
>> a owl:Ontology ;
>> rdfs:label "mytest" ;
>> metadata:status metadata:UnderDevelopmentStatus ;
>> <http://topbraid.org/swa#defaultNamespace
<http://topbraid.org/swa#defaultNamespace>>
>> "http://example.org/ontologies/mytest#
<http://example.org/ontologies/mytest#>" ;
>> teamwork:newInstancesUserCannotModifyURI
>> false ;
>> owl:imports <http://datashapes.org/dash> ,
<http://datashapes.org/graphql> .
>>
>> mytest:34640a83-2c1b-11b2-80f2-005056bba47c
>> a mytest:A ;
>> rdfs:label "a1" .
>>
>> mytest:34640a85-2c1b-11b2-80f2-005056bba47c
>> a mytest:C ;
>> rdfs:label "c1" ;
>> mytest:prop1
mytest:34640a83-2c1b-11b2-80f2-005056bba47c .
>>
>>
>>
>> With regard to SHACL reference, I would be more than happy to
know if you have any recommendations.
>>
>> Thanks,
>> Fan
--
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/7072fcbd-de2d-4597-b4c1-903948ec6582%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/7072fcbd-de2d-4597-b4c1-903948ec6582%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/735136E5-B2FC-4B4E-B2FB-7F739F0B91D6%40topquadrant.com
<https://groups.google.com/d/msgid/topbraid-users/735136E5-B2FC-4B4E-B2FB-7F739F0B91D6%40topquadrant.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "TopBraid
Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/b921427f-8d6a-1280-12d9-73100133672b%40topquadrant.com.