W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > January 2015

Re: example of recursive shapes

From: Holger Knublauch <holger@topquadrant.com>
Date: Sun, 25 Jan 2015 12:34:02 +1000
Message-ID: <54C4561A.1020209@topquadrant.com>
To: public-data-shapes-wg@w3.org
The "magic" is in the SPARQL function ldom:violatesConstraints which has 
to be implemented by LDOM-compliant SPARQL engines. It recursively calls 
another LDOM engine with another node and shape as starting points. This 
function can also be used as entry point into the API, and could become 
one of the Use Cases in the requirements document.

Yes, details will become clearer once written up.


On 1/25/2015 12:33, Peter F. Patel-Schneider wrote:
> Hash: SHA1
> I still don't see how LDOM can handle this example if it is all supposed to
> be translatable into SPARQL queries.  Perhaps a definition of LDOM will make
> this clear, but I don't think that one has been presented as of yet.
> peter
> On 01/24/2015 06:23 PM, Holger Knublauch wrote:
>> On 1/25/2015 11:48, Peter F. Patel-Schneider wrote:
>>> 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
> Version: GnuPG v1
> DELpPZiq7kGfl7+3VUJVOP++wRMBymrko4PevN6qxbxvK/VCRYMmnHbvdynlWi8U
> bkPrYSQP+6E5/ixzDs0mjScnQo0SdYOZve+t98P6wmm6J3uM1FeZOdMlPsUzuaOd
> L14Cxs/Dm23vHQ5Qp4paECOTTQmP/Rv3M3VLc/HJo3n2jzB7/CvP9FS6EdtVUIcJ
> YZarC4rt7GdR3EX6baxRe41wxT212TPH24RxXQxFst/ZY9SNdSylab/QP+eeWYY8
> mMFm6MhIVR0Zrgu3vPnoFRfYln5VMDijBlEK+I+As6IW0WV6/BmEdf1silp4eJI=
> =VSkC
Received on Sunday, 25 January 2015 02:37:34 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 25 January 2015 02:37:34 UTC