Re: [vcard] properties with variable ranges

1 view
Skip to first unread message

Henry Story

unread,
Apr 3, 2007, 12:17:11 AM4/3/07
to David Powell, semant...@w3.org
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
>

Reply all
Reply to author
Forward
0 new messages