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

what is LDOM? (was Re: example of recursive shapes)

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Sun, 25 Jan 2015 06:25:31 -0800
Message-ID: <54C4FCDB.1070307@gmail.com>
To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
Hash: SHA1

This is not just a matter of details.  It now appears that there are aspects
of LDOM that are not touched on in the information that has been sent out.
Without comprehensive information on what LDOM is, discussion of it in the
working group is not going to be useful.


On 01/24/2015 06:34 PM, Holger Knublauch wrote:
> 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.
> Holger
> On 1/25/2015 12:33, Peter F. Patel-Schneider wrote: 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:
>>>>> -----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
Version: GnuPG v1

Received on Sunday, 25 January 2015 14:26:04 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 25 January 2015 14:26:05 UTC