[foaf-dev] Time to make the foaf classes relate to Dublin Core
classes?
Mikael Nilsson
mikael at nilsson.name
Thu Jan 24 10:21:04 GMT 2008
On tor, 2008-01-24 at 19:03 +0900, KANZAKI Masahide wrote:
> Hi
>
> 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:Group>
> <foaf:name>ILRT staff</foaf:name>
> <foaf:membershipClass>
> <owl:Class rdf:about="http://ilrt.example.com/groups#ILRTStaffPerson">
> <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
> <rdfs:subClassOf>
> <owl:Restriction>
> <owl:onProperty
> rdf:resource="http://xmlns.com/foaf/0.1/workplaceHomepage"/>
> <owl:hasValue rdf:resource="http://www.ilrt.bris.ac.uk/"/>
> </owl:Restriction>
> </rdfs:subClassOf>
> </owl:Class>
> </foaf:membershipClass>
> </foaf:Group>
> ]]
>
> 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.
Actually, the example is correct.
ILRTStaffPerson is an *instance* of dct:AgentClass (due to range)
ILRTStaffPerson is a subclass of foaf:Person
Looks ok to me.
Actually, all subclasses of foaf:Agent are instances of dct:AgentClass,
including foaf:Person and foaf:Organization. I'm not sure if there is a
clean way of stating that in OWL (probably not), so one could argue that
an explicit rdf:type on Person and Organization could potentially be
helpful.
/Mikael
>
> 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).
>
> cheers,
>
--
<mikael at nilsson.name>
Plus ça change, plus c'est la même chose
More information about the foaf-dev
mailing list