- From: Irene Polikoff <irene@topquadrant.com>
- Date: Fri, 14 Sep 2018 20:42:55 -0400
- To: Gary Murphy <gary@schemaapp.com>
- Cc: public-shacl@w3.org
- Message-Id: <C89D370F-ED1E-4025-88AD-710B6F5E274C@topquadrant.com>
What do you mean by the "base URI of the current focus instance”? A non local name part of the URI - a namespace? If so, I am not sure why you are prepending ‘#’. You need to isolate the namespace. Then, you can compare them using FILTER. Jena has a function afn:namespace. It is available to you if you are using TopBraid and/or if you are using Jena directly: https://jena.apache.org/documentation/query/library-function.html <https://jena.apache.org/documentation/query/library-function.html>. If you follow the link, you will also see the alternative to it - using REPLACE. If you are using sh:validator, are you creating a new SHACL constraint component? If so, then it is “pure SHACL”. May be you meant SHACL Core? > On Sep 14, 2018, at 2:43 PM, Gary Murphy <gary@schemaapp.com> wrote: > > two more shacl puzzles that I'm hoping to transpose from spin: > > First involves the string value of what would be $this in a sh:ask clause; the problem is to ensure that the base URI of the current focus instance is different from the base URL of the schema:url property. In SPARQL this would be something possibly like ... > > sh:validator [ > sh:ask """ > ASK { > OPTIONAL { > $this schema:url ?url . > BIND(CONCAT(str($this),'#') AS ?me ) . > BIND(CONCAT(str(?url),'#') AS ?it ) . > FILTER( STRBEFORE(?me,'#') != STRBEFORE(str(?it),'#') ) > } > }""" ] ; > > Can this be restated in pure SHACL? > > Another issue is in ensuring that all superclasses of the current focus instance are disjoint. Again, in my (probably naive) validator rule: > > sh:validator [ > sh:ask """ > ASK { > $this a ?class1 . > $this a ?class2 . > FILTER (?class1 != ?class2) . > ?class1 (rdfs:subClassOf)* ?parent1 . > ?class2 (rdfs:subClassOf)* ?parent2 . > ?parent1 owl:disjointWith ?parent2 . > }""" ] ; > > > -- > Gary Lawrence Murphy <gary@schemaapp.com> - Hunch Manifest, 15 Wyndham N 'C', Guelph
Received on Saturday, 15 September 2018 00:43:19 UTC