[foaf-dev] Funky OWL-stuff with FOAF groups

Rinke Hoekstra <hoekstra-vHs5IaWfoDhmR6Xm/[email protected]>
Newsgroups gmane.comp.web.rdfweb
Message-ID <[email protected]>
Hi Dan,

Here's an attempt to explain the trick with FOAF groups we talked about at the Benelux semweb meetup yesterday.

Suppose I define a new group called :agroup as follows:

:agroup rdf:type owl:Class ,
                 owl:NamedIndividual ;
        owl:equivalentClass [ rdf:type owl:Restriction ;
                              owl:onProperty [ owl:inverseOf <http://xmlns.com/foaf/0.1/member>
                                             ] ;
                              owl:hasValue :agroup
                            ] ;
        rdfs:subClassOf <http://xmlns.com/foaf/0.1/Group> .

What I say here is that it is both a subclass of foaf:Group *and* a named individual. Membership of the class can be inferred if the named individual has a foaf:member relation with some resource. OWL 2 DL reasoners won't complain because this is just punning.

The trick works both ways: instances will become foaf:members, and foaf:members will become instances.

Attached is an example ontology with four individuals: there's :agroup, two instances of :agroup (:dan and :rinke) and a foaf:Person called :guus who is asserted to be a foaf:member of :agroup.

Running a reasoner will infer:

:agroup foaf:member :dan, :rinke .
:guus   a           :agroup .

From a purist point of view this is butt-ugly (if :guus is an instance of :agroup, then :guus should be a group), but ... it works.

Note: you can't generalise this for all groups, i.e. there is no way to specify that every member of a subclass must have a relation to that subclass-as-individual.

Cheers,

Rinke



---
Dr Rinke Hoekstra

AI Department         |   Leibniz Center for Law    
Faculty of Sciences   |   Faculty of Law            
Vrije Universiteit    |   Universiteit van Amsterdam
De Boelelaan 1081a    |   Kloveniersburgwal 48      
1081 HV Amsterdam     |   1012 CX  Amsterdam        
+31-(0)20-5987752     |   +31-(0)20-5253497         
hoekstra-vHs5IaWfoDhmR6Xm/[email protected]    |   hoekstra-V/Xpf/[email protected]           

Homepage: http://www.few.vu.nl/~hoekstra

_______________________________________________
foaf-dev mailing list
foaf-dev-RyYwo1q5J+qsOXdr9/[email protected]
http://lists.foaf-project.org/mailman/listinfo/foaf-dev
foaf-group.ttl (application/octet-stream, 2.6 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.