W3C home > Mailing lists > Public > semantic-web@w3.org > April 2007

[vcard] properties with variable ranges

From: David Powell <djpowell@djpowell.net>
Date: Mon, 2 Apr 2007 13:56:57 +0100
Message-ID: <46155922.20070402135657@djpowell.net>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:14 GMT