- From: Dave Reynolds <dave.e.reynolds@gmail.com>
- Date: Fri, 03 May 2013 09:21:10 +0100
- To: semantic-web@w3.org
On 02/05/13 15:56, Ivan Herman wrote:
> The Semantic Web Interest Group has published a new draft for the vCard-in-RDF Ontology[1], edited by Renato Iannella and James McKinney. The new draft updates the previous version[2] by aligning it with the latest IETF vCard specification, ie, RFC6350[3].
>
> This is a draft; comments on the draft should be sent to the SWIG mailing list. The goal is to publish an Interest Group Note once there is a consensus in the community.
Thanks for this. Some comments based on a quick skim rather than an in
depth review.
1. As noted in the Issue in section 1, this new vocabulary needs to be
in a new namespace. This will be inconvenient but I see no other choice
given the new design. Specifically:
(a) Many of the properties that look similar between this specification
and the previous one have changed their name (adr, street-address, fn
etc). So I assume that the intent is that the old names would not be
permitted under this new specification.
(b) There has been a substantial shift in semantics from talking about
properties of VCards (information records) to properties of entities
(e.g. individuals).
2. The relationship between "Relation" and "Direct" properties needs
further explanation. Do you intend that there be an entailment
relationship? For example, should the Relation form:
:me vcard:hasFormattedName [
a vcard:FormattedName;
vcard:formattedName "Dave";
] .
entail the direct form:
:me vcard:formattedName "Dave" .
I think it should, in which case you need to express this (e.g. using
owl property chain axioms or closure rules). If you don't want such
entailments to hold then you need to state that and explain when authors
should use relational form instead of direct form and how clients are
supposed to handle the differences between the two forms.
3. The domain/ranges of the Relation and Direct properties are
confusing, if not actually inconsistent. As I understand it you want to
be able to use the Direct properties like vcard:formattedName on the
entity or on the n-ary relation (as in the above example).
Yet the domain of the Direct properties is declared as being the class
of the n-ary relation. For example, vcard:formattedName has domain
vcard:FormattedName but is shown in the table 2.3 as a Direct property
and in your example in section 3 is used directly on a vcard:Individual.
So this means that <http://example.com/me/corky> in your example is both
a vcard:Individual and a vcard:FormattedName. I don't think you have any
disjointness axioms which rule that out but I suspect it is not what you
mean.
Suggest that you either have different properties for the Direct
relationship and the component of the n-ary relationship, or you leave
the domains of these two-mode properties as open. I might suggest having
a union but that would mean defining some new classes as well.
4. The notation used in the tables in section 2 is confusing. You are
using dp: op: and class: as if they were (undefined) namespace prefixes.
Whereas it appears they are all the same namespace and the prefixes are
used to indicate type. Recommend just using a single prefix and not
bother with the type distinction in those tables.
5. The text in the vocabulary reference is a little confusing in its use
of labels instead of localnames to refer to the terms. This confusion
might be reduced if the labelling were more consistent. For example, it
took me a while to realize that the label "has format name" refers to
vcard:formattedName whereas "has formatted name" refers to
vcard:hasFormattedName. Suggest that use of things like "has" should be
consistent between the label and the localname. Similarly the use of
abbreviations in the labels is inconsistent (e.g. "Org" for
"vcard:Organization").
6. It would be helpful to have a section discussing the relationship
between this and existing vocabularies such as foaf and ORG.
Dave
Received on Friday, 3 May 2013 08:21:40 UTC