Re: [vcard] properties with variable ranges

Good description of the problem. In AtomOwl I came across the same  
problem having to interpret the atom content element, and went for  
(c). In that case it had the added benefit of being very close to the  
structure of the xml.

<entry>
   <title>hello</title>
   ...
   <content>hello</content>
</entry>

becomes

[] :title "hello";
    :content [ :type "text/html" ].

<entry>
   <title>vacation</title>
   ...
   <content src="/image.jpg">
</entry>

[] :title "hello";
    :content [ :type "image/jpeg"
               :src </image.jpg> ].

But I recently discovered that the html types don't have a mime type,  
since they are not full html documents... So my feeling is that the  
atom content is really either a literal or a pointer to an object, so  
I can see the benefit of your solution b). a) would allow flexibility  
and be closest to the atom xml again...

Difficult to choose really...

Henry

On 2 Apr 2007, at 14:56, David Powell wrote:

>
>
> 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 Tuesday, 3 April 2007 04:17:12 UTC