Re: vote for supporting "closed shapes"

Hi

On 27 Apr 2015, at 03:47, Holger Knublauch <holger@topquadrant.com> wrote:

> On 4/25/2015 1:21, Erik Wilde wrote:
>> 
>> that's the problem: ideally, you would want to have a vocabulary identified, so that terms from it can be identified as belonging to it. in XML, namespaces do that for you, and because that's a very usefu scoping mechanism, that's how a lot of vocabularies are defined and used.
> 
> Hi Erik,
> 
> to clarify: are you looking for some way to express that a given resource can only have properties from a certain namespace? For example,
> 
> SELECT ?subject ?predicate ?object
> WHERE {
>    ?subject ?predicate ?object .
>    FILTER (!STRSTARTS(str(?predicate), "http://example.org/ns#"))
> }
> 
> would return all triples of the given ?subject that have a predicate from another namespace than the provided one.
> 
> A query as above would be straight-forward to generalize into a SHACL template, so that the syntax would be something like
> 
> ex:ExampleShape
>    sh:constraint [
>        a sh:ClosedShapeByIRIConstraint ;
>        sh:allowedIRIStarts ( "http://example.org/ns#" ) ;
>    ] .
> 
> Does this look about right? (I'd be happy to write this down as a requirement for our catalogue so that the WG can vote on it).
> 
> Thanks,
> Holger
> 
> 

In general I expect this would be much easier if said vocabulary were identified with a URI and the terms from the vocabulary (i.e. the properties, classes and individuals) related to it using a property like rdfs:isDefinedBy.

John

Received on Monday, 27 April 2015 05:36:01 UTC