Hi Holger,

Thanks for the fast response. What do you mean with *same subject* in the 
sets of values of two properties? Do you mean that the class (=subject?) of 
these two properties has to be the same (as in the example of the link 
class 'name' has properties 'firstname' and 'givenname' which should be 
equal, thus if you have another class 'person' with the property 'nickname' 
you cannot state this property 'nickname' has to be equal to the property 
'firstname' of class 'name'? And this last thing is basically what I would 
like to express.

PS: sorry, how silly of me. Here is Turtle code:
For the three classes:
*a*
test:a
  rdf:type owl:Class ;
  rdf:type sh:NodeShape ;
  rdfs:label "a" ;
  rdfs:subClassOf owl:Thing ;
  sh:property test:a_has_result ;
.

*b*
test:b
  rdf:type owl:Class ;
  rdf:type sh:NodeShape ;
  rdfs:label "b" ;
  rdfs:subClassOf owl:Thing ;
  sh:property test:b_has_result ;
.


test:result
  rdf:type owl:Class ;
  rdf:type sh:NodeShape ;
  rdfs:label "result" ;
  rdfs:subClassOf owl:Thing ;
  sh:property test:result-has_result1 ;
  sh:property test:result-has_result2 ;
  sh:property test:result-has_result3 ;
.

For the two properties:
*a_has_result:*
test:a-a_has_result
  rdf:type sh:PropertyShape ;
  sh:path test:a_has_result ;
  sh:class test:result ;
  sh:maxCount 1 ;
  sh:minCount 1 ;
.

*b_has_result:*
test:b-b_has_result
  rdf:type sh:PropertyShape ;
  sh:path test:b_has_result ;
  sh:class test:result ;
  sh:description "Each b has result. The result should be equal to that of 
a." ;
  sh:equals test:a_has_result ;
  sh:maxCount 1 ;
  sh:minCount 1 ;
.


For the instances:
*instance_a:*
test:a91bea78-2c0b-11b2-809c-005056bba47c
  rdf:type test:a ;
  test:a_has_result test:bee2c6e0-2c15-11b2-80f2-005056bba47c ;
  rdfs:label "instance_a" ;
.

*instance_b:*
test:bee2c6d6-2c15-11b2-80f2-005056bba47c
  rdf:type test:b ;
  test:b_has_result test:bee2c6e0-2c15-11b2-80f2-005056bba47c ;
  rdfs:label "instance_b" ;
.
*for instance test_result:*
test:bee2c6e0-2c15-11b2-80f2-005056bba47c
  rdf:type test:result ;
  test:has_result1 0.06 ;
  test:has_result2 0.42 ;
  test:has_result3 0.56 ;
  rdfs:label "test_result" ;
.


Op donderdag 19 september 2019 03:17:12 UTC+2 schreef Holger Knublauch:
>
> Hi Stefan,
>
> if you use sh:equals, which is defined here:
>
> https://www.w3.org/TR/shacl/#EqualsConstraintComponent
>
> it means that the sets of values of two properties must be identical, at 
> the same subject.
>
> In your data it seems that instance_b doesn't have the same values for a 
> has results and b has results.
>
> You probably want to express something else?
>
> Holger
>
> PS: it took me a while to "parse" your example. For future postings, maybe 
> consider sending the RDF/Turtle source code exported from EDG to avoid 
> ambiguities.
>

-- 
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/ff45fa7c-ef9d-4467-8081-b741bf760b3f%40googlegroups.com.

Reply via email to