[foaf-dev] Time to make the foaf classes relate to Dublin Core classes?

KANZAKI Masahide mkanzaki at gmail.com
Thu Jan 24 10:03:29 GMT 2008


2008/1/23, Dan Brickley <danbri at danbri.org>:
> > i think the membershipClass idea is potentially a powerful one.
> I agree btw re range being dct:AgentClass. Good point.

hmm... membershipClass and dct:AgentClass are both trying a sort of
meta modeling ...

See the example in FOAF spec quoted bellow:
<foaf:name>ILRT staff</foaf:name>
    <owl:Class rdf:about="http://ilrt.example.com/groups#ILRTStaffPerson">
     <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
         <owl:hasValue rdf:resource="http://www.ilrt.bris.ac.uk/"/>

If you define that {foaf:membershipClass rdfs:range dct:AgentClass.},
then class ILRTStaffPerson in the example being dct:AgentClass as well
as foaf:Person, which is nonsense. We should be very careful when
talking about things in different layers.

I guess, what the example wants to describe is "there is a class of
(group of) person who works at ILRT". This is simply represented by
the inner part of the example (but not a subclass of Person) :

ex:ILRTStaff a owl:Class;
  rdfs:subClassOf [a owl:Restriction;
     owl:onProperty foaf:workplaceHomepage;
     owl:hasValue <http://www.ilrt.bris.ac.uk/> ] .

In OWL Full, you can say this is an instance of foaf:Group as well
(not possible in OWL DL 1.0, but probably OK in 1.1). No need to make
another group. In this sense, foaf:Group and dct:AgentClass are
interchangeable, but only when we accept to break the separation of
classes and individuals (as in OWL Full).


@prefix : <http://www.kanzaki.com/ns/sig#> . <> :from [:name
"KANZAKI Masahide"; :nick "masaka"; :email "mkanzaki at gmail.com"].

More information about the foaf-dev mailing list