[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