- From: Irene Polikoff <irene@topquadrant.com>
- Date: Sun, 8 Feb 2015 22:29:28 -0500
- To: "kcoyle@kcoyle.net" <kcoyle@kcoyle.net>
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Karen,
The official name for magic property is property function.
http://jena.apache.org/documentation/query/writing_propfuncs.html
For example, you can create a predicate let's say example:grandparent and define it in the obvious way - as a parent of a parent. that is:
?x example:parent ?y.
?y example:parent ?z.
means ?x example:grandparent ?z.
Then, given the data:
:Tom example:parent :John.
:John example:parent :Liz
You can query:
SELECT ?grandparent
WHERE {:Tom example:grandparent ?grandparent} and :Liz will be returned even though the triple {:Tom example:grandparent :Liz} doesn't exist.
Irene
Sent from my iPhone
> On Feb 8, 2015, at 8:22 PM, Karen Coyle <kcoyle@kcoyle.net> wrote:
>
> Yes, we may be talking past each other, but most likely I'm not correctly reading your examples since I don't speak SPARQL/SPIN code and have no idea what a "magic property" is. (Examples illustrated with instance data could help.)
>
> In the glossary "shape" is defined as "a set of constraints over RDF graphs".
>
> So, with this simple example (and note that there are no classes, either explicit or implicit):
>
> http://lccn.loc.gov/75300479
> dct:title "Moby Dick" ;
> dct:creator <http://id.loc.gov/authorities/names/n79006936> ;
> dct:publisher "M. Kennerley" .
>
> Were you suggesting to add the relationship "hasShape" to this graph like this:
>
> http://lccn.loc.gov/75300479
> ldom:hasShape ex:bookShape ;
> dct:title "Moby Dick" ;
> dct:creator <http://id.loc.gov/authorities/names/n79006936> ;
> dct:publisher "M. Kennerley" .
>
> If so, this still looks to me to be saying that my book has a relationship to a set of constraints.
>
> kc
>
>
>> On 2/8/15 4:10 PM, Holger Knublauch wrote:
>>> On 2/9/2015 10:04, Karen Coyle wrote:
>>> Holger, even if it is a concept, and not a RWO, there still must be
>>> only a single IRI for a single thing -- and for sure the subject is
>>> not the same thing as the graph.
>>
>> Sorry then we must have talked about different things. Surely, the IRI
>> of a book should not represent the graph that the book is stored in.
>> Could you rephrase what you were asking about (maybe with a concrete
>> example)?
>>
>> Thanks
>> Holger
>>
>>
>>>
>>> kc
>>>
>>>> On 2/8/15 2:36 PM, Holger Knublauch wrote:
>>>>> On 2/9/2015 4:36, Karen Coyle wrote:
>>>>> I'm trying to understand how the subject of a triple can be either of
>>>>> type shape or can have a shape.
>>>>>
>>>>> Let me make this more concrete. My subject is a book, which is a RWO,
>>>>
>>>> For a computer, your subject is not a RWO but a data structure
>>>> represented by triples. Humans may interpret this as a real-world book,
>>>> but this is IMHO largely philosophical.
>>>>
>>>>> and it has an IRI. I'm going to make various statements about this RWO
>>>>> (it has a title , it has an author, etc.). It makes little sense to me
>>>>> to say that this RWO "has a shape/graph." The graph has a shape, but
>>>>> using the same IRI to represent the RWO and the graph violates a basic
>>>>> rule that each IRI references one and only one "thing."
>>>>>
>>>>> It seems to me that the key difference between shapes and classes is
>>>>> exactly this: a shape is information about a graph; a class is
>>>>> information about the RWO. If the class of the RWO is coincident with
>>>>> the graph that you wish to validate, then presumably the class can be
>>>>> used as a target for validation. However, that is making a use of the
>>>>> class which is not within the definition of class in RDF. I would find
>>>>> it inconsistent with RDF for us to encourage people to assign classes
>>>>> to RWO's that represent the graph itself.
>>>>
>>>> Could you point me at documents that proof that all classes in RDF must
>>>> be real-world objects? What about, for example, abstract data structures
>>>> such as rdf:Lists - rdf:List is also a class. Also please consider that
>>>> the term "class" is not exclusive to RDF Schema. It was already used by
>>>> object-oriented systems, for example. I am afraid the distinction
>>>> between real-world objects and their representation drifts into
>>>> theoretical realms that nobody outside of the RDF world seems to care
>>>> about (and rightfully so). I repeat my statement that there is zero
>>>> practical difference between the following options:
>>>>
>>>> ex:Class
>>>> a owl:Class ;
>>>> rdfs:subClassOf [
>>>> a owl:Restriction ;
>>>> owl:onProperty ex:property ;
>>>> owl:minCardinality 1 ;
>>>> ] .
>>>>
>>>> ex:Class
>>>> a owl:Class ;
>>>> ldom:property [
>>>> a ldom:PropertyConstraint ;
>>>> ldom:predicate ex:property ;
>>>> ldom:minCount 1 ;
>>>> ] .
>>>>
>>>> Holger
>
> --
> Karen Coyle
> kcoyle@kcoyle.net http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet/+1-510-984-3600
>
Received on Monday, 9 February 2015 03:30:05 UTC