Re: ContainerHierarchy again

On 3/4/14 7:35 PM, ashok malhotra wrote:
> In programming languages, subclass relationships come with certain 
> guarantees
> such as :  a method that runs on an instance of the parent class will 
> also run on
> an instance of the subclass.
>
> What are the equivalent guarantees on RDF subclasses?
> In other words, what are the rules on behavior between a parent class 
> and a subclass?

In RDF (a language for entity relationship representation) you can have 
relations (relationship types) that are defined/described as being 
transitive in nature. These kinds of relations enable reasoning and 
inference the deliver what OO programmers would refer to as inheritance. 
Basically, you and I could be described instances of the class 
<http://xmlns.com/foaf/0.1/Person> which is by its definition is an 
<http://www.w3.org/2000/01/rdf-schema#subClassOf> 
<http://xmlns.com/foaf/0.1/Agent>. Thus, a reasoner could infer that you 
and I are Agents as consequence of the aforementioned relation.

Written out in Turtle:

## Turtle Start ##

<#i>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://xmlns.com/foaf/0.1/Person>;
<http://xmlns.com/foaf/0.1/name> "Kingsley Idehen" .

<#you>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://xmlns.com/foaf/0.1/Person>;
<http://xmlns.com/foaf/0.1/name> "Ashok Malhotra" .

<http://xmlns.com/foaf/0.1/Person>
<http://www.w3.org/2000/01/rdf-schema#subClassOf> 
<http://xmlns.com/foaf/0.1/Agent> ;
<http://www.w3.org/2000/01/rdf-schema#label> "FOAF: Person Class".

## Turtle End ##

Thus, when presented with the following SPARQL query, the solution 
should return <#i> and <#you>:

select ?s
from <#thisDocument>
where
{  ?s
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://xmlns.com/foaf/0.1/Agent> .}

I published some live examples of SPARQL and reasoning in a blog post, a 
while back [1].

Conclusion:

The transitive nature of the relation is what delivers the inheritance 
feature that you are accustomed to in OO. The trouble with OO is that 
semantics are programming-language locked whereas with RDF, there are 
not data silos encumbering relations semantics etc.. :-)


Links:

[1] 
http://kidehen.blogspot.com/2014/01/demonstrating-reasoning-via-sparql.html
[2] 
http://virtuoso.openlinksw.com/tutorials/sparql/SPARQL_Tutorials_Part_5/SPARQL_Tutorials_Part_5.html#(57) 
-- collection of queries with live links to query solutions in regards 
to transitive relations.

Kingsley
>
> On 3/4/2014 3:38 PM, Kingsley Idehen wrote:
>> On 3/4/14 1:16 PM, henry.story@bblfish.net wrote:
>>> At the last meeting there was a resolution to move back to the 
>>> previous positon
>>> on container hierarchies, the position called "the minimal 
>>> consensual position"
>>> in
>>>
>>> https://www.w3.org/2012/ldp/wiki/ContainerHierarchy
>>>
>>> But that wiki page shows how the minimal consensual position we have 
>>> currently
>>> + the decisions we have previously come to lead to hierarchy
>>>
>>> IndirectContainer
>>>    DirectContainer
>>>       BasicContainer
>>>
>>> In RDF subclass relations DO NOT mean dependence of one subclass
>>> on another. You can easily deprecate classes without subclasses or
>>> superclasses without this leading to legacy issues.
>>>
>>> All the subclass relations mean is that you cannot have objects that 
>>> are in one
>>> class and not the superclass as shown by the picture
>>>
>>> https://www.w3.org/2012/ldp/wiki/ContainerHierarchy#LDP-BC_.3C:_LDP-DC_.3C:_LDP-IC_.3C:_LDPC
>>>
>>>
>>> So I think it is misleading in fact to now show the classes as 
>>> having no relation to each
>>> other when we know they do.
>>>
>>> Henry
>>
>> Is this addressed to me or everyone else?
>>
>> "
>> In RDF subclass relations DO NOT mean dependence of one subclass
>> on another. You can easily deprecate classes without subclasses or
>> superclasses without this leading to legacy issues.
>> "
>>
>> You appear (if this is directed to me) to be assuming that I am I 
>> disagreeing with, or contradicting, the claim above?
>>
>> FWIW: subclasses are useful in the context of inference, when the 
>> relations in question (e.g., rdfs:subClassOf) are transitive in nature.
>> -- 
>>
>> Regards,
>>
>> Kingsley Idehen 
>> Founder & CEO
>> OpenLink Software
>> Company Web:http://www.openlinksw.com
>> Personal Weblog:http://www.openlinksw.com/blog/~kidehen
>> Twitter Profile:https://twitter.com/kidehen
>> Google+ Profile:https://plus.google.com/+KingsleyIdehen/about
>> LinkedIn Profile:http://www.linkedin.com/in/kidehen
>>
>>
>>
>>
>


-- 

Regards,

Kingsley Idehen 
Founder & CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter Profile: https://twitter.com/kidehen
Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen

Received on Wednesday, 5 March 2014 14:02:20 UTC