From W3C Wiki
Revision as of 05:31, 25 October 2012 by Riannell (Talk | contribs)

Jump to: navigation, search


This page is for discussion and development of an OWL Ontology for vCard.

Currently, the W3C Member Submission on Representing vCard Object in RDF covers vCard 3.0 (aka RFC2426).

The latest vCard V.4 is documented in RFC6350

The new specification will be published as a W3C Semantic Web Interest Group (SWIG) Note.

Discussion is undertaken on the SWIG email list.

The current editors are Renato Iannella and James McKinney

Mapping from the RFC

In order to create the OWL ontology mapping from RFC6350, some changes are made to reflect the support of RDF/OWL features, linked data principles, ontology reuse, and future scenarios. No semantics are changed in the mapping.

All the data types defined in the RFC are fully supported, as XML Schema dataypes.

Design Issues:

  • Mention the n-ary and direct relation mechanism.

Property Parameters

These properties can apply to most (but not all) vCard properties. NOTE: we should list them

RFC Property Note OWL Class Parent Relation Direct
LANGUAGE the human language used in the related property dp:hasLanguageData xsd:anyURI
VALUE Not Required as this is implicit on the ontology
PREF A number (1-100) to show the preference level of the property. Can we use an ref:Seq ? dp:hasPreference xsd:integer
ALTID Perhaps use owl:sameAs ?
PID Not required
TYPE See the Context Codes. (Type is too generic, so renamed to context) dp:hasContextData xsd:anyURI
MEDIATYPE Do we need this?
CALSCALE Assume the default Gregorian system for date times
SORT-AS Do we need this?
GEO The geography related to the property value (geo URI) dp:hasGeoData xsd:anyURI
TZ The timezone related to the property value dp:hasTimezoneData xsd:string

General Properties

RFC Property Note OWL Class Parent Relation Direct
BEGIN Not Required
END Not Required
SOURCE Do we need this?
KIND vCard defines "Kinds" to represent the types of objects to be represented by vCard class:Kind owl:Thing
individual To represent people class:Individual class:Kind
org To represent organisations class:Organization class:Kind
group To represent groups of vCard objects class:Group class:Kind
location To represent location objects class:Location class:Kind
XML  ?

Identification Properties

RFC Property Note OWL Class Parent Relation Direct
FN The full name of the object (as a single string). This is the only mandatory property. class:FormattedName class:Identification op:hasFormattedName dp:hasFormattedNameData xsd:string
N The name of the object represented in structured parts. class:Name class:Identification op:hasName dp:hasFirstNameData xsd:string

dp:hasLastNameData xsd:string dp:hasAdditionalNameData xsd:string dp:hasPrefixNameData xsd:string dp:hasSuffixNameData xsd:string

NICKNAME A nickname for the object class:Nickname class:Identification op:nasNickname dp:nasNicknameData xsd:string
PHOTO class:Photo class:Identification op:hasPhoto dp:hasPhotoData xsd:anyURI
BDAY Should only apply to Individual dp:hasBirthday xsd:dateTime
ANNIVERSARY Should only apply to Individual dp:hasAnniversaryData xsd:dateTime
GENDER Should only apply to Individual. See Gender Codes dp:hasGenderData xsd:anyURI

Delivery Addressing Properties

RFC Property Note OWL Class Parent Relation Direct
ADR The address of the object represented in structured parts class:Address class:Addressing op:hasAddress dp:hasStreetAddressData xsd:string

dp:hasLocalityData xsd:string dp:hasRegionData xsd:string dp:hasCountryData xsd:string dp:hasSuffixNameData xsd:string

Communications Properties

RFC Property Note OWL Class Parent Relation Direct
TEL The telephone number as a tel URI. Use TEL TYPE to indicate the type of telephone class:Telephone class:Communication op:hasTelephone dp:hasTelephoneData xsd:anyURI
TEL TYPE Specify the type of telephone. See the Telephone Type Code set. dp:hasTelephoneTypeData xsd:anyURI
EMAIL The email address as a mailto URI class:Email class:Communication op:hasEmail op:hasEmailData xsd:anyURI
IMPP The IMPP instant messaging contact info class:InstantMessage class:Communication op:hasInstantMessage dp:hasInstantMessageData xsd:anyURI
LANG The language of the object. Need to find an ontology of ISO 2/3 chars lang codes class:Language class:Communication op:hasLanguage dp:hasLanguageData xsd:anyURI

Geographical Properties

RFC Property Note OWL Class Parent Relation Direct
TZ The timezone of the object class:Timezone class:Geographical op:hasTimezone dp:hasTimezoneData xsd:string
GEO The geographical coordinates of the object (geo URI) class:Geo class:Geographical op:hasGeo op:hasGeoData xsd:anyURI

Organizational Properties

RFC Property Note OWL Class Parent Relation Direct
TITLE The title of the object class:Title class:Organizational op:hasTitle dp:hasTitleData xsd:string
ROLE The role of the object (Should we make this a URI?) class:Role class:Organizational op:hasRole op:hasRoleData xsd:anyURI
LOGO The logo of the object (data URI) class:Logo class:Organizational op:hasLogo dp:hasLogoData xsd:anyURI
ORG The organisation RELATED to the object (NOTE: This gets confused with the Organisation Kind) class:Org class:Organizational op:hasOrg dp:hasOrgData xsd:string
ORGUNIT The organisational unit related to the object class:OrgUnit class:Org op:hasOrgUnit dp:hasOrgUnitData xsd:string
MEMBER Can only be used for Group Kind objects. Must point to other Individual or Organization objects op:hasMember
RELATED Link to related objects. Use Related Type to specify the type of relationship class:Related class:Organizational op:hasRelated dp:hasRelatedData xsd:anyURI
RELATED TYPE Specify the type of relationship linked in Related. See the Related Code set. dp:hasRelatedTypeData xsd:anyURI

Explanatory Properties

RFC Property Note OWL Class Parent Relation Direct
CATEGORIES The categories of the object class:Category class:Explanatory op:hasCategory dp:hasCategoryData xsd:string
NOTE Notes about the object class:Note class:Explanatory op:hasNote op:hasNoteData xsd:string
PRODID Not required?
REV Not required?
SOUND Audio related to the object (data URI) class:Sound class:Explanatory op:hasSound dp:hasSoundData xsd:anyURI
UID A unique identifier for the object dp:hasUIDData xsd:anyURI
CLIENTPIDMAP Not required?
URL Any URL related to the object. Is this the best name for it? class:URL class:Explanatory op:hasURL dp:hasURLData xsd:anyURI
VERSION Not required?

Security Properties

RFC Property Note OWL Class Parent Relation Direct
KEY The security key of the object class:Key class:Security op:hasKey dp:hasKeyData xsd:anyURI

Calendar Properties

RFC Property Note OWL Class Parent Relation Direct
FBURL Calendar Busy Time of the object class:CalendarBusy class:Calendar op:hasCalendarBusy dp:hasCalendarBusyData xsd:anyURI
CALADURI Calendar Request of the object class:CalendarRequest class:Calendar op:hasCalendarRequest dp:hasCalendarRequestData xsd:anyURI
CALURI Calendar Link of the object class:CalendarLink class:Calendar op:hasCalendarLink dp:hasCalendarLinkData xsd:anyURI

Code Sets





Telephone Type

Cell (mobile)
Text (sms)

Related Type


Draft Ontology - 9OCT2012

OWL File

LODE Documentation

Four vCard KINDS