- From: Arthur Ryman <arthur.ryman@gmail.com>
- Date: Thu, 29 Oct 2015 17:16:03 -0400
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Holger, Why a fatal showstopper? It is not even clear that all the prefixes used in the SPARQL are required or defined in the shape Turtle file. There should be a mechanism to allow users to be explicit about the prefixes used in the SPARQL. Thinking about this more, a simpler approach is to let them define the PREFIXes in the SPARQL using SPARQL syntax. That way the queries are self-contained and can be tested outside the shape and can be immediately parsed without doing any fixups to the SPARQL source. -- Arthur On Thu, Oct 29, 2015 at 4:58 PM, Holger Knublauch <holger@topquadrant.com> wrote: > Does anyone know of an API that doesn't have a Graph-level function to query > prefixes? Relying on users of SHACL to spell out every full URI in their > SPARQL queries, or requiring explicit triples to duplicate prefix > declarations are fatal show-stoppers in terms of useability. > > As a resolution, we may need to improve wording in the spec to clarify what > our assumptions are, e.g. to assume that a SHACL processor must preserve > prefixes from files so that they can be added into the SPARQL query > fragments before parsing. This is IMHO an editorial matter. > > Holger > > > On 10/30/15 6:46 AM, Arthur Ryman wrote: >> >> Peter, >> >> I am not sure this really makes sense since PREFIX is not an RDF >> concept. It is a syntactical concept in most RDF serializations, >> including Turtle of course. However, I believe that even in Turtle, >> you can redefine a PREFIX within the file so there is not necessarily >> a unique meaning for a prefix. >> >> To make prefixes explicit, the shapes graph could include triples to >> explicitly declare the prefixes used in SPARQL code. OSLC defined >> terms for this purpose, e.g. in [1] >> >> @prefix process: <http://jazz.net/ns/process#> . >> >> # prefixes for terms used in the vocabulary >> >> <#process-prefix> a oslc:PrefixDefinition ; >> oslc:prefix "process" ; >> oslc:prefixBase process: . >> >> [1] >> https://jazz.net/wiki/pub/LinkedData/JazzProcessVocabulary/process-vocabulary.ttl >> >> -- Arthur >> >> On Wed, Oct 28, 2015 at 10:23 PM, RDF Data Shapes Working Group Issue >> Tracker <sysbot+tracker@w3.org> wrote: >>> >>> shapes-ISSUE-105 (defined prefixes): SHACL SPARQL constraints depend on >>> namespaces in a graph, which is not defined [SHACL Spec] >>> >>> http://www.w3.org/2014/data-shapes/track/issues/105 >>> >>> Raised by: Peter Patel-Schneider >>> On product: SHACL Spec >>> >>> >From Section 6.2: >>> >>> Before parsing, a SHACL processor must prepend PREFIX statements for all >>> namespace prefixes defined in the current shapes graph. >>> >>> Namespace prefixes are not defined in an RDF graph, so this cannot be >>> done. >>> >>> >>> > >
Received on Thursday, 29 October 2015 21:16:33 UTC