- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 19 Oct 2017 10:33:55 +1000
- To: public-rdf-shapes@w3.org
- Message-ID: <7cc46a42-036a-6855-9215-a066c7aea94a@topquadrant.com>
Hi Konrad, the spec uses a rather formal language to explain what is supposed to happen. In this particular case it states if|v|conforms <https://www.w3.org/TR/shacl/#dfn-conforms>to none of themembers <https://www.w3.org/TR/shacl/#dfn-members>of|$or|there is avalidation result <https://www.w3.org/TR/shacl/#dfn-validation-results>with|v|as|sh:value|. The test cases document http://w3c.github.io/data-shapes/data-shapes-test-suite/#validate-rdf-data-tests links to example(s) of what is supposed to be produced. This one here https://github.com/w3c/data-shapes/blob/gh-pages/data-shapes-test-suite/tests/core/node/or-001.ttl is close to what you seek, and produces [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle2 ; ] ; ] ; So, regardless of the structure of the sh:or, it will only ever produce a single sh:ValidationResult, and not any "nested" ones (although sh:detail could be used to record these, outside of the standard behavior). If things remain unclear, please follow up. The example you mention below doesn't have a data graph, so it's difficult to answer. HTH Holger On 18/10/2017 18:59, Konrad Abicht wrote: > Hello, > > i am currently working on a SHACL Core processor for PHP[1]. Handling > the ValidationReport as result of sh:or is unclear for me. The section > 4.6.3 of the spec[2] does not outline how the ValidationResult looks > like, if one, none or all shapes fail. > > Is there anything i missed in the specification? If not, can you > please give me a simple example of a ValidationReport and according > ValidationResults for a given sh:or? > >> :NodeShape >> rdf:type sh:NodeShape ; >> sh:targetClass foaf:Person ; >> sh:or ([ >> sh:path foaf:firstName ; >> sh:minCount 1 ; >> ], >> [ >> sh:path foaf:givenName ; >> sh:minCount 1 ; >> ]) . > > > [1] - https://github.com/k00ni/shacl-php > [2] - https://www.w3.org/TR/shacl/#OrConstraintComponent > > Thanks in advance! >
Received on Thursday, 19 October 2017 00:34:29 UTC