- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Wed, 05 Mar 2014 09:01:58 -0500
- To: public-ldp-wg@w3.org
- Message-ID: <53172E56.3040504@openlinksw.com>
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
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Wednesday, 5 March 2014 14:02:20 UTC