[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
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.
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,
--
@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