Re: SKOS concept scheme URIs as values for constraints

This could be represented in SHACL using a template, with an end-user 
syntax such as

     a sh:Shape ;
     sh:property [
         a shx:AllowedValueNamespacesConstraint ;
         sh:predicate ps:siteDesignation ;
         shx:allowedValueNamespaces ( 
"" ) ;
         sh:valueClass skos:Concept ;
     ] .

In the above scenario I am assuming that the algorithm will check that 
all values of the given property must be URIs starting with one of the 
enumerated strings (using STRSTARTS in SPARQL). It would not go to the 
web to check whether there is actually a Graph at that namespace - this 
would be outside of what SPARQL can do right now.

I cannot comment on whether this particular pattern should become part 
of the Core vocabulary too, but the whole point of the extension 
mechanism is to allow anyone to represent and publish their own favorite 
constraint design patterns, so that they don't rely on the choices made 
by a particular working group in the year 2015.


On 8/4/2015 5:39, Karen Coyle wrote:
> Phil,
> Thanks for bringing this up. I thought that I had covered this in use 
> case #34 [1], and at one point I asked if all of these criteria were 
> met by the requirements and I was assured that they were. This is a 
> key use case for the cultural heritage community, so if there are any 
> doubts that these requirements can be met we need to address this. 
> Perhaps the was to resolve this is to provide test cases. There seem 
> to be some functional versions of SHACL that could be used to test 
> this, if I'm not mistaken. Would you be able to provide some test data?
> Thanks,
> kc
> [1] 
> On 8/3/15 9:48 AM, Phil Archer wrote:
>> Hi,
>> I've had an opportunity to take a look at the SHACL work today and I
>> notice one of the use cases looks set to be missed - although only just.
>> The UCR doc includes the one about self-describing Linked Data [1] which
>> talks about the value of a property being a skos:Concept. Are you
>> considering making this a little tougher, i.e. that the value of a given
>> property is a concept defined in a specific scheme?
>> I see that SHACL allows the enumeration of values [2], but I want to be
>> able to say "any value from the SKOS Concept scheme at <foo>". It looks
>> like SHACL won't support that?
>> Use Case: INSPIRE
>> INSPIRE [0] - the European Union's obligatory set of standards for
>> environmental and geospatial data - has a handy registry of SKOS concept
>> schemes [3]. In one of my projects, I've been working on creating RDF
>> vocabularies that are compatible with the INSPIRE data model, such as
>> the one about protected sites [4]. That has a property
>> ps:siteDesignation for which the range is defined as skos:Concept but
>> really what it should say is:
>> the value of this property should be a skos:Concept in the scheme at
>> It would be inappropriate to enumerate the concepts in that concept
>> scheme (there are 6 of them) since it is under a different
>> organisation's change control.
>> I recognise that this leads to the possibility that a graph that is
>> valid today may become invalid if the INSPIRE Registry were to be
>> amended but that's a management task for the European Commission to
>> worry about (i.e. the people responsible for the INSPIRE data model) and
>> they would need to be mindful of such situations which would occur
>> whether we were talking about RDF graphs or dollops of GML, so I don't
>> think that's a show stopper here.
>> WDYT?
>> Phil.
>> [0]
>> [1]
>> [2]
>> [3]
>> [4]

Received on Monday, 3 August 2015 22:29:50 UTC