Toby Inkster wrote:
On Thu, 2009-06-25 at 11:59+0200, Bernhard Schandl wrote:
However many "newbies" to RDF and ontologies are confused by this,
because the triple
foaf:Agent foaf:holdsAccount foaf:OnlineAccount .
is actually not contained in the ontology.
What needs to be communicated is that:
[ a foaf:Agent ] foaf:holdsAccount [ a foaf:OnlineAccount ] .
instead. Those triples are not actually in the ontology itself, but will
be found (or at least implied) in any instance data that makes use of
the foaf:holdsAccount property.
The N3 statement '[a foaf:Agent] foaf:holdsAccount [a foaf:OnlineAccount]'
seems like an intuitive way, at least to this native English speaker,
to say that the domain and range of foaf:holdsAccount are foaf:Agent
and foaf:OnlineAccount, respectively. I even like it.
But it doesn't really say this, does it?
Running the statement through CWM produces:
<rdf:Description>
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
<holdsAccount rdf:parseType="Resource">
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
</holdsAccount>
</rdf:Description>
Maybe I am missing some of the nuances of N3 and RDF, but I think this
defines two anonymous individuals, one which is a foaf:person (among
possibly other things) and another which is a foaf:OnlineAccount
(among possibly other things) and asserts that a foaf:holdsAccount
relations exist between them.
I don't think this says anything about the domain and range of
foaf:holdsAccount. If we interpret this as OWL, I guess we can infer
that the domain and range are subsumed by owl:Thing.
Or maybe I am missing something.
Tim