Re: "shape" as a relationship, not a class

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