- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Tue, 14 Apr 2015 07:34:03 -0700
- To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg <public-data-shapes-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/13/2015 10:19 PM, Holger Knublauch wrote: > On 4/14/2015 0:26, Peter F. Patel-Schneider wrote: >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> >> On 04/12/2015 05:01 PM, Holger Knublauch wrote: >>> One of the main selling points of RDF technology has always been the >>> fact that instance and schema are represented uniformly. RDF Schema >>> and OWL class definitions are instances (of metaclasses) themselves. >>> This means that such data can not only be stored and shared together, >>> but also be queried uniformly. In general, SPARQL queries can freely >>> walk between meta-levels. >>> >>> Many other formalisms such as XML and SQL databases have a stricter >>> separation between those levels. If we agree on a similarly strict >>> separation by making it impossible to query the shapes graph from >>> the instances graph (and vice versa), then we may throw away a >>> unique advantage that RDF technology has. I am generally not in favor >>> of selecting the lowest common denominator for all use cases, only >>> because certain cases may not have the best performance. >> If the working group followed this advice, then all SHACL constructs >> would have to be representable as RDF triples, i.e., it would not be >> possible to use SPARQL syntax in SHACL. This does not seem to me to be >> a good way to proceed, unless SHACL turns into something completely >> different. > > I cannot follow your train of thought here. I do not expect anyone to > write constraints that walk through the SPARQL strings, or a syntax tree > of that (although this may be theoretically possible if we allow > constraints written in JavaScript). However, it is very well possible for > one constraint to look at high-level instances of SHACL Templates > (macros). In "my" current design, the following property constraint is > represented as such a template: > > ex:MyShape sh:property [ a sh:PropertyConstraint ; # Optional rdf:type > statement sh:predicate ex:myProperty ; sh:minCount 1 ] . > > A SPARQL-based constraint such as the implementation of Closed Shapes > could now walk these template instances, e.g. > > SELECT... WHERE { GRAPH ?shapesGraph { ?shape sh:property/sh:predicate > ?predicate . } // do something with the values of ?predicate } > > which looks like a perfectly normal operation that many people now do > with RDFS class definitions or OWL restrictions. My point is that SHACL > shouldn't disallow such operations, and in principle allow constraints to > query a dedicated named graph that contains the shape definitions. This > doesn't imply that all SHACL constructs would have to be representable as > RDF triples. > > Thanks, Holger > > You are arguing that it is a good thing to be able to query SHACL syntax when performing SHACL checks. If that is a good thing, then using SPARQL syntax in SHACL is a *bad* thing because it prevents effective querying of SHACL syntax. (Yes, you could pull the SPARQL syntax apart and try to analyze it, but that's not going to be effective.) peter -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJVLSVbAAoJECjN6+QThfjzztEH/08ripYftMl5ADNj9Fu3CTJ6 d3mZHntVcpTLKDvTtDLccPBpzuHCpG88/SlJeOxpX2CBpWVq0iD+dym0B+FXJHnr m4nh3RQ8CYwSQMxwSvLw/dEp7YwzkfGIbrR0s0aLAucJ+2xqRkxHp7T4pKUTwQpt BJckkJFIbQulhoSRQBs5wwZAOKHUhR3UhnNGIiSNSuF4aL2sAiwamJzL1/0y85KN w5fa388cDpUP+iDYYpHT9KgSNuGCwjPU3HP67ZRx5GNedJaQ0hkLLYjEetaMnd3/ 145uoshFrjGvM5YLhKCimjQ06QnIxX5cxjMSrh0Rq+b6uw/Fny8q0FQlF/n+Qu8= =x6ss -----END PGP SIGNATURE-----
Received on Tuesday, 14 April 2015 14:34:34 UTC