- From: David Powell <djpowell@djpowell.net>
- Date: Mon, 2 Apr 2007 13:56:57 +0100
- To: semantic-web@w3.org
Some properties in vcard can take very different values. Eg, AGENT
can be a text string, an embedded vCard, or a URL.
What is the best practice?
a) As in the current rdf schema, a single property, with no defined
range:
[] rdf:type ex:Vcard ;
ex:agent "Description of some person" ;
[] rdf:type ex:Vcard ;
ex:agent _:vc ;
[] rdf:type ex:Vcard ;
ex:agent <http://example.com/person> ;
This requires consumers to examine the type of RDF node to understand
its meaning. This seems a bit low-level.
b) Multiple properties:
[] rdf:type ex:Vcard ;
ex:agentText "Description of some person" ;
[] rdf:type ex:Vcard ;
ex:agentVcard _:vc ;
[] rdf:type ex:Vcard ;
ex:agentUrl <http://example.com/person> ;
... with a schema that defines ex:agentUrl, ex:agentVcard, and
ex:agentText to be sub properties of an 'abstract' base property. The
sub-properties can all have appropriate rdfs:range properties.
c) introduce indirection via a bnode and have an explicit property to
indicate the value type.
This seems a bit verbose.
I prefer b).
--
Dave
Received on Monday, 2 April 2007 12:57:37 UTC