Re: example of recursive shapes

On 1/25/2015 11:48, Peter F. Patel-Schneider wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I can't tell whether this does or not, as there appears to be a missing bit
> after ldom:predicate.

Ok, the missing bit was a left-over from when I noticed that we don't 
have a better syntax for owl:hasValue. I have meanwhile added a new 
template using ldom:hasValue to improve readability (not that it matters 
for the recursion though):

ex:Polentoni
     a rdfs:Class ; # or ldom:Shape, or nothing
     ldom:property [
         ldom:predicate ex:livesIn ;
         ldom:hasValue ex:NorthernItaly ;
     ] ;
     ldom:constraint [
         a ldom:ShapeConstraint ;
         ldom:predicate ex:knows ;
         ldom:all ex:Polentoni ;
     ] .

>     However, I don't think that it could, as least so
> far as I understand LDOM, as the class definition below appears to require
> that ex:Polentoni is asserted on some individuals, and the point of the
> example is that there are no assertions involving ex:Polentoni in the input.

No, this is a misunderstanding. When ldom:all is used, it will simply 
check whether the instance matches all conditions specified by the given 
class/shape. The rdf:type triple is not restricted by the shape, 
therefore no rdf:type needs to be present on the valid instances.

>
> If LDOM does work by doing recognition, then this should be highlighted.

I have added a sentence

     Note that the matching values do not have to be instances of the 
given shape,
     i.e. no <code>rdf:type</code> triple is required.

Needless to say the overall specification needs work to clarify and 
better explain these details - some of them are currently well hidden in 
the implementation (Turtle code/SPARQL queries).

HTH and thanks for the example. I hope we agree recursion is covered.
Holger

Received on Sunday, 25 January 2015 02:26:41 UTC