By Garret Wilson
Version 2007-04-29
This document outlines a process for creating a specification for an RDF representation of [RFC 2425] (Directory), [RFC 2426] (vCard), and [RFC 2445] (iCalendar). As a process for presenting a definition of one or more RDF ontologies, this specification first declares a set of principles and a set of transformation rules that can be used to produce such an RDF ontology.
Before actually producing an RDF ontology, it is useful to determine what sort of ontology is desired. The following principals will guide the methodology used for producing an RDF version of directory information:
Taking into consideration the relationship among the Directory, vCard, and iCalendar specifications, there shall be three namespaces to identify three respective related ontologies:
text/directory
)http://www.w3.org/2007/directory/ns#
text/directory
, text/x-vcard
)http://www.w3.org/2006/vcard/ns#
text/calendar
)http://www.w3.org/2002/12/cal#
In addition, the following namespaces are referenced from other specifications:
http://www.w3.org/2001/XMLSchema#
All RDF type and property names shall use mixed case or Camel Case. RDF type names shall use an initial uppercase character, and RDF property names shall use an initial lowercase character. This provides consistency with current naming practices. See:
Each component defined by the special type pair BEGIN
and END
should be represented by an RDF class. e.g. The value defined by the vCard BEGIN:VCARD
/END:VCARD
pair would be represented as a vcard:VCard
class.
VCARD
VCALENDAR
, VEVENT
, VTODO
, VJOURNAL
, VFREEBUSY
, VTIMEZONE
, STANDARD
, DAYLIGHT
, VALARM
Source | Name | Description | RDF Class |
---|---|---|---|
[RFC 2426] 1. | VCARD |
To hold person object or white-pages type of directory information. | vcard:VCard |
[RFC 2445] 4.4 | VCALENDAR |
The Calendaring and Scheduling Core Object is a collection of calendaring and scheduling information. | icalendar:VCalendar |
[RFC 2445] 4.6.1 | VEVENT |
Provide a grouping of component properties that describe an event. | icalendar:VEvent |
[RFC 2445] 4.6.2 | VTODO |
Provide a grouping of calendar properties that describe a to-do. | icalendar:VToDo |
[RFC 2445] 4.6.3 | VJOURNAL |
Provide a grouping of component properties that describe a journal entry. | icalendar:VJournal |
[RFC 2445] 4.6.4 | VFREEBUSY |
Provide a grouping of component properties that describe either a request for free/busy time, describe a response to a request for free/busy time or describe a published set of busy time. | icalendar:VFreeBusy |
[RFC 2445] 4.6.5 | VTIMEZONE |
Provide a grouping of component properties that defines a time zone. | icalendar:VTimeZone |
[RFC 2445] 4.6.5 | STANDARD |
A collection of properties that describe Standard Time. | icalendar:Standard |
[RFC 2445] 4.6.5 | DAYLIGHT |
A collection of properties that describe Daylight Saving Time. | icalendar:Daylight |
[RFC 2445] 4.6.6 | VALARM |
Provide a grouping of component properties that define an alarm. | icalendar:VAlarm |
Each Directory type name (or property name in iCalendar) should be converted to an RDF property. e.g. The vCard ORG
type produces the vcard:org
property. Some properties have no use in an RDF ontology because of their syntactic purpose, but are provided here for completeness.
SOURCE
, NAME
, PROFILE
, BEGIN
, END
FN
, N
, NICKNAME
, PHOTO
, BDAY
, ADR
, LABEL
, TEL
, EMAIL
, MAILER
, TZ
, GEO
, TITLE
, ROLE
, LOGO
, AGENT
, ORG
, CATEGORIES
, NOTE
, PRODID
, REV
, SORT-STRING
, SOUND
, URL
, UID
, VERSION
, CLASS
, KEY
CALSCALE
, METHOD
, PRODID
, VERSION
, ATTACH
, CATEGORIES
, CLASS
, COMMENT
, DESCRIPTION
, GEO
, LOCATION
, PERCENT_COMPLETE
, PRIORITY
, RESOURCES
, STATUS
, SUMMARY
, COMPLETED
, DTEND
, DUE
, DTSTART
, DURATION
, FREEBUSY
, TRANSP
, TZID
, TZNAME
, TZOFFSETFROM
, TZOFFSETTO
, TZURL
, ATTENDEE
, CONTACT
, ORGANIZER
, RECURRENCE_ID
, RELATED_TO
, URL
, UID
, EXDATE
, EXRULE
, RDATE
, RRULE
, ACTION
, REPEAT
, TRIGGER
, CREATED
, DTSTAMP
, LAST_MODIFIED
, SEQUENCE
, REQUEST-STATUS
Source | Type/Property Name | Description | RDF Property | Value Type | Notes |
---|---|---|---|---|---|
[RFC 2425] 6.1. | SOURCE |
To identify the source of directory information contained in the content type. | directory:source |
Resource | The CONTEXT parameter is abandoned because of complexity, partial obviation by the URI scheme designation, and few legacy data. |
[RFC 2425] 6.2. | NAME |
To identify the displayable name of the directory entity to which information in the content type pertains. | directory:name |
Literal | TBD: Replace with dc:Title ? |
[RFC 2425] 6.3. | PROFILE |
To identify the type of directory entity to which information in the content type pertains. | none | N/A | Obviated by inherent RDF typing. |
[RFC 2425] 6.4. | BEGIN |
To denote the beginning of a syntactic entity within a text/directory content-type. | none | N/A | Syntactical element. |
[RFC 2425] 6.5. | END |
To denote the end of a syntactic entity within a text/directory content-type. | none | N/A | Syntactical element. |
[RFC 2426] 3.1.1 | FN |
To specify the formatted text corresponding to the name of the object the vCard represents. | vcard:fn |
Literal | |
[RFC 2426] 3.1.2 | N |
To specify the components of the name of the object the vCard represents. | vcard:n |
vcard:N |
|
[RFC 2426] 3.1.3 | NICKNAME |
To specify the text corresponding to the nickname of the object the vCard represents. | vcard:nickname |
Literal | |
[RFC 2426] 3.1.4 | PHOTO |
To specify an image or photograph information that annotates some aspect of the object the vCard represents. | vcard:photo |
Resource | ENCODING and TYPE abandoned as semantically unuseful and obviated by other properties. TBD: Sanction use of XPackage file:contentType as replacement for TYPE ? |
[RFC 2426] 3.1.5 | BDAY |
To specify the birth date of the object the vCard represents. | vcard:bday |
Literal, datatype xsd:dateTime |
|
[RFC 2426] 3.2.1 | ADR |
To specify the components of the delivery address for the vCard object. | vcard:adr |
vcard:Adr ; or rdf:List of vcard:Adr , the first element indicating preference |
TYPE parameter represented by vcard:adrType property |
[RFC 2426] 3.2.2 | LABEL |
To specify the formatted text corresponding to delivery address of the object the vCard represents. | vcard:label |
Literal; or bnode with Literal rdf:value ; or rdf:List of such bnodes, the first element indicating preference |
TYPE parameter represented by vcard:labelType property |
[RFC 2426] 3.3.1 | TEL |
To specify the telephone number for telephony communication with the object the vCard represents. | vcard:tel |
Resource; or rdf:Llist of Resource, the first element indicating preference |
TYPE parameter represented by vcard:telType property; these are the same values as vcard:adr , but separate property created for consistency |
[RFC 2426] 3.3.2 | EMAIL |
To specify the electronic mail address for communication with the object the vCard represents. | vcard:email |
Resource | TYPE abandoned out of limited usefulness and few legacy data. |
[RFC 2426] 3.3.3 | MAILER |
To specify the type of electronic mail software that is used by the individual associated with the vCard. | vcard:mailer |
Literal | |
[RFC 2426] 3.4.1 | TZ |
To specify information related to the time zone of the object the vCard represents. | directory:tz |
Literal | Promoted to Directory ontology because of commonality with iCalendar. |
[RFC 2426] 3.4.2 | GEO |
To specify information related to the global positioning of the object the vCard represents. | directory:geo |
directory:Geo |
Promoted to Directory ontology because of commonality with iCalendar. |
[RFC 2426] 3.5.1 | TITLE |
To specify the job title, functional position or function of the object the vCard represents. | vcard:title |
Literal | |
[RFC 2426] 3.5.2 | ROLE |
To specify information concerning the role, occupation, or business category of the object the vCard represents. | vcard:role |
Literal | |
[RFC 2426] 3.5.3 | LOGO |
To specify a graphic image of a logo associated with the object the vCard represents. | vcard:logo |
Resource | ENCODING and TYPE abandoned as semantically unuseful and obviated by other properties. TBD: Sanction use of XPackage file:contentType as replacement for TYPE ? |
[RFC 2426] 3.5.4 | AGENT |
To specify information about another person who will act on behalf of the individual or resource associated with the vCard. | vcard:agent |
vcard:VCard |
|
[RFC 2426] 3.5.5 | ORG |
To specify the organizational name and units associated with the vCard. | vcard:org |
vcard:Org |
|
[RFC 2426] 3.6.1 | CATEGORIES |
To specify application category information about the vCard. | vcard:categories |
rdf:List of bnodes with literal rdf:value |
|
[RFC 2426] 3.6.2 | NOTE |
To specify supplemental information or a comment that is associated with the vCard. | vcard:note |
Literal | |
[RFC 2426] 3.6.3 | PRODID |
To specify the identifier for the product that created the vCard object. | vcard:prodid |
Literal | |
[RFC 2426] 3.6.4 | REV |
To specify revision information about the current vCard. | vcard:rev |
Literal, datatype xsd:dateTime |
|
[RFC 2426] 3.6.5 | SORT-STRING |
To specify the family name or given name text to be used for national-language-specific sorting of the FN and N types. | vcard:sortString |
Literal | |
[RFC 2426] 3.6.6 | SOUND |
To specify a digital sound content information that annotates some aspect of the vCard. By default this type is used to specify the proper pronunciation of the name type value of the vCard. | vcard:sound |
Resource | ENCODING and TYPE abandoned as semantically unuseful and obviated by other properties. TBD: Sanction use of XPackage file:contentType as replacement for TYPE ? |
[RFC 2426] 3.6.7 | UID |
To specify a value that represents a globally unique identifier corresponding to the individual or resource associated with the vCard. | none | N/A | UID property obviated by RDF's inherent identifier URI reference, which can be a UUID URN ([RFC 4122]. |
[RFC 2426] 3.6.8 | URL |
To specify a uniform resource locator associated with the object that the vCard refers to. | vcard:url |
Resource | Value must not be a bnode. |
[RFC 2426] 3.6.9 | VERSION |
To specify the version of the vCard specification used to format this vCard. | none | N/A | Ontology versioning is inherent in the VCard RDF namespace. |
[RFC 2426] 3.7.1 | CLASS |
To specify the access classification for a vCard object. | vcard:class |
Literal | |
[RFC 2426] 3.7.2 | KEY |
To specify a public key or authentication certificate associated with the object that the vCard represents. | vcard:key |
TBD | Is there something from the Web Of Trust (WOT) RDF Ontology we can use here? |
[RFC 2445] | CALSCALE |
This property defines the calendar scale used for the calendar information specified in the iCalendar object. | icalendar:calscale |
||
[RFC 2445] | METHOD |
This property defines the iCalendar object method associated with the calendar object. | icalendar:method |
||
[RFC 2445] | PRODID |
This property specifies the identifier for the product that created the iCalendar object. | icalendar:prodid |
||
[RFC 2445] | VERSION |
This property specifies the identifier corresponding to the highest version number or the minimum and maximum range of the iCalendar specification that is required in order to interpret the iCalendar object. | icalendar:version |
||
[RFC 2445] | ATTACH |
The property provides the capability to associate a document object with a calendar component. | icalendar:attach |
||
[RFC 2445] | CATEGORIES |
This property defines the categories for a calendar component. | icalendar:categories |
||
[RFC 2445] | CLASS |
This property defines the access classification for a calendar component. | icalendar:class |
||
[RFC 2445] | COMMENT |
This property specifies non-processing information intended to provide a comment to the calendar user. | icalendar:comment |
||
[RFC 2445] | DESCRIPTION |
This property provides a more complete description of the calendar component, than that provided by the "SUMMARY" property. | icalendar:description |
||
[RFC 2445] | GEO |
This property specifies information related to the global position for the activity specified by a calendar component. | icalendar:geo |
||
[RFC 2445] | LOCATION |
The property defines the intended venue for the activity defined by a calendar component. | icalendar:location |
||
[RFC 2445] | PERCENT_COMPLETE |
This property is used by an assignee or delegatee of a to-do to convey the percent completion of a to-do to the Organizer. | icalendar:percentComplete |
||
[RFC 2445] | PRIORITY |
The property defines the relative priority for a calendar component. | icalendar:priority |
||
[RFC 2445] | RESOURCES |
This property defines the equipment or resources anticipated for an activity specified by a calendar entity. | icalendar:resources |
||
[RFC 2445] | STATUS |
This property defines the overall status or confirmation for the calendar component. | icalendar:status |
||
[RFC 2445] | SUMMARY |
This property defines a short summary or subject for the calendar component. | icalendar:summary |
||
[RFC 2445] | COMPLETED |
This property defines the date and time that a to-do was actually completed. | icalendar:completed |
||
[RFC 2445] | DTEND |
This property specifies the date and time that a calendar component ends. | icalendar:dtend |
||
[RFC 2445] | DUE |
This property defines the date and time that a to-do is expected to be completed. | icalendar:due |
||
[RFC 2445] | DTSTART |
This property specifies when the calendar component begins. | icalendar:dtstart |
||
[RFC 2445] | DURATION |
The property specifies a positive duration of time. | icalendar:duration |
||
[RFC 2445] | FREEBUSY |
The property defines one or more free or busy time intervals. | icalendar:freebusy |
||
[RFC 2445] | TRANSP |
This property defines whether an event is transparent or not to busy time searches. | icalendar:transp |
||
[RFC 2445] | TZID |
This property specifies the text value that uniquely identifies the "VTIMEZONE" calendar component. | icalendar:tzid |
||
[RFC 2445] | TZNAME |
This property specifies the customary designation for a time zone description. | icalendar:tzname |
||
[RFC 2445] | TZOFFSETFROM |
This property specifies the offset which is in use prior to this time zone observance. | icalendar:tzoffsetfrom |
||
[RFC 2445] | TZOFFSETTO |
This property specifies the offset which is in use in this time zone observance. | icalendar:tzoffsetto |
||
[RFC 2445] | TZURL |
The TZURL provides a means for a VTIMEZONE component to point to a network location that can be used to retrieve an up-to-date version of itself. | icalendar:tzurl |
||
[RFC 2445] | ATTENDEE |
The property defines an "Attendee" within a calendar component. | icalendar:attendee |
||
[RFC 2445] | CONTACT |
The property is used to represent contact information or alternately a reference to contact information associated with the calendar component. | icalendar:contact |
||
[RFC 2445] | ORGANIZER |
The property defines the organizer for a calendar component. | icalendar:organizer |
||
[RFC 2445] | RECURRENCE_ID |
This property is used in conjunction with the "UID" and "SEQUENCE" property to identify a specific instance of a recurring "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property value is the effective value of the "DTSTART" property of the recurrence instance. | icalendar:recurrenceID |
||
[RFC 2445] | RELATED_TO |
The property is used to represent a relationship or reference between one calendar component and another. | icalendar:relatedTo |
||
[RFC 2445] | URL |
This property defines a Uniform Resource Locator (URL) associated with the iCalendar object. | icalendar:url |
||
[RFC 2445] | UID |
This property defines the persistent, globally unique identifier for the calendar component. | icalendar:uid |
||
[RFC 2445] | EXDATE |
This property defines the list of date/time exceptions for a recurring calendar component. | icalendar:exdate |
||
[RFC 2445] | EXRULE |
This property defines a rule or repeating pattern for an exception to a recurrence set. | icalendar:exrule |
||
[RFC 2445] | RDATE |
This property defines the list of date/times for a recurrence set. | icalendar:rdate |
||
[RFC 2445] | RRULE |
This property defines a rule or repeating pattern for recurring events, to-dos, or time zone definitions. | icalendar:rrule |
||
[RFC 2445] | ACTION |
This property defines the action to be invoked when an alarm is triggered. | icalendar:action |
||
[RFC 2445] | REPEAT |
This property defines the number of time the alarm should be repeated, after the initial trigger. | icalendar:repeat |
||
[RFC 2445] | TRIGGER |
This property specifies when an alarm will trigger. | icalendar:trigger |
||
[RFC 2445] | CREATED |
This property specifies the date and time that the calendar information was created by the calendar user agent in the calendar store. | icalendar:created |
||
[RFC 2445] | DTSTAMP |
The property indicates the date/time that the instance of the iCalendar object was created. | icalendar:dtstamp |
||
[RFC 2445] | LAST_MODIFIED |
The property specifies the date and time that the information associated with the calendar component was last revised in the calendar store. | icalendar:lastModified |
||
[RFC 2445] | SEQUENCE |
This property defines the revision sequence number of the calendar component within a sequence of revisions. | icalendar:sequence |
||
[RFC 2445] | REQUEST-STATUS |
This property defines the status code returned for a scheduling request. | icalendar:requestStatus |
Each defined parameter for a type/property should be converted to an RDF property. e.g. The iCalendar DELEGATED_FROM
parameter would be indicated by a icalendar:delegatedFrom
property. Some parameters have syntactical purposes and will not be appropriate for inclusion into an RDF ontology.
language
, context
, encoding
, value
TYPE
ALTREP
, CN
, CUTYPE
, DELEGATED-FROM
, DELEGATED-TO
, DIR
, ENCODING
, FMTTYPE
, FBTYPE
, LANGUAGE
, MEMBER
, PARTSTAT
, RANGE
, RELATED
, RELTYPE
, ROLE
, RSVP
, SENT-BY
, TZID
, VALUE
If a particular type/property specifies a structured value, an RDF class should be used to contain the elements of that stuctured value with a name derived from the type/property name. e.g. The value of the vCard ADR
type would be represented as a vcard:Adr
class that is the value of a vcard:adr
property.
N
, ADR
, GEO
, ORG
GEO
, PERIOD
, RECUR
Source | Name | Description | RDF Class |
---|---|---|---|
[RFC 2426] 3.1.2 | N |
To specify the components of the name of the object the vCard represents. | vcard:N |
[RFC 2426] 3.2.1 | ADR |
To specify the components of the delivery address for the vCard object. | vcard:Adr |
[RFC 2426] 3.4.2 | GEO |
To specify information related to the global positioning of the object the vCard represents. | directory:Geo |
[RFC 2426] 3.5.5 | ORG |
To specify the organizational name and units associated with the vCard. | vcard:Org |
[RFC 2445] 4.8.1.6 | GEO |
Information related to the global position for the activity specified by a calendar component. | directory:Geo |
[RFC 2445] 4.3.9 | PERIOD |
A precise period of time. | icalendar:Period |
[RFC 2445] 4.3.10 | RECUR |
A recurrence rule specification. | icalendar:Recur |
Each structured value component should be represented by an RDF property. If there is no official name defined for a particular structured value subcomponent, one should be created that is as close as possible to the name used in the specification in referring to that component. e.g. The subcomponent "Additional Name" of the vCard N
type would appear as a vcard:additionalName
property of the vcard:N
class which would appear as a value of the vcard:n
property.
N
: Family Name, Given Name, Additional Names, Honorific Prefixes, Honorific Suffixes; ADR
: post office box, extended address, street
address, locality, region, postal code, country name; GEO
: latitude, longitude; ORG
: organizational name, originizational unit namesGEO
: latitude, longitude; PERIOD
: start, end, duration; RECUR
: FREQ
, UNTIL
, COUNT
, INTERVAL
, BYSECOND
, BYMINUTE
, BYHOUR
, BYDAY
, BYMONTHDAY
, BYYEARDAY
, BYWEEKNO
, BYMONTH
, BYSETPOS
, WKST
Source | Type Name | Property Name | RDF Property | Value Type | Notes |
---|---|---|---|---|---|
[RFC 2426] 3.1.2 | N |
Family Name | vcard:familyName |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.1.2 | N |
Given Name | vcard:givenName |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.1.2 | N |
Additional Names | vcard:additionalName |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.1.2 | N |
Honorific Prefixes | vcard:honorificPrefix |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.1.2 | N |
Honorific Suffixes | vcard:honorificSuffix |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.2.1 | ADR |
post office box | vcard:poBox |
Literal | |
[RFC 2426] 3.2.1 | ADR |
extended address | vcard:extendedAddress |
Literal | |
[RFC 2426] 3.2.1 | ADR |
street address | vcard:streetAddress |
Literal | Value can be a literal, a blank node with a literal rdf:value , or an rdf:List of such blank nodes. |
[RFC 2426] 3.2.1 | ADR |
region | vcard:region |
Literal | |
[RFC 2426] 3.2.1 | ADR |
postal code | vcard:postalCode |
Literal | |
[RFC 2426] 3.2.1 | ADR |
country name | vcard:countryName |
Literal | The country name, not the country code, must be specified. |
[RFC 2426] 3.4.2 | GEO |
latitude | directory:latitude |
Literal | |
[RFC 2426] 3.4.2 | GEO |
longitude | directory:longitude |
Literal | |
[RFC 2426] 3.5.5 | ORG |
organizational name | directory:name |
Literal | This overloads the [RFC 2425] use of NAME , but the semantics seem to be the same. |
[RFC 2426] 3.5.5 | ORG |
organizational units | directory:units |
rdf:List of blank nodes each with rdf:value of Literal. |
|
[RFC 2445] 4.8.1.6 | GEO |
latitude | directory:latitude |
Literal | |
[RFC 2445] 4.8.1.6 | GEO |
longitude | directory:longitude |
Literal | |
[RFC 2445] 4.3.9 | PERIOD |
start | icalendar:start |
Literal of datatype xsd:dateTime |
|
[RFC 2445] 4.3.9 | PERIOD |
end | icalendar:end |
Literal of datatype xsd:dateTime |
|
[RFC 2445] 4.3.9 | PERIOD |
duration | icalendar:duration |
Literal of datatype icalendar:duration |
|
[RFC 2445] 4.3.10 | RECUR |
FREQ |
icalendar:freq |
Literal; one of secondly , minutely , hourly , daily , weekly , monthly , yearly |
TBD: use constants or URI values? |
[RFC 2445] 4.3.10 | RECUR |
UNTIL |
icalendar:until |
Literal of datatype xsd:dateTime |
|
[RFC 2445] 4.3.10 | RECUR |
COUNT |
icalendar:count |
Literal of datatype xsd:integer |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
INTERVAL |
icalendar:interval |
Literal of datatype xsd:integer |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
BYSECOND |
icalendar:bySecond |
rdf:List of blank nodes with rdf:value of Literal of datatype xsd:integer (0-59) |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
BYMINUTE |
icalendar:byMinute |
rdf:List of blank nodes with rdf:value of Literal of datatype xsd:integer (0-59) |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
BYHOUR |
icalendar:byHour |
rdf:List of blank nodes with rdf:value of Literal of datatype xsd:integer (0-23) |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
BYDAY |
icalendar:byDay |
rdf:List of blank nodes with rdf:value of Literal in the form [([+]ordwk/-ordwk)] weekday where ordwk is an integer (1-53) and weekday is one of su , mo , tu , we , th , fr , sa |
TBD: i18n |
[RFC 2445] 4.3.10 | RECUR |
BYMONTHDAY |
icalendar:byMonthDay |
rdf:List of blank nodes with rdf:value of Literal in the form ([+]ordmoday/-ordmoday) where ordmoday is an integer (1-31) |
TBD: i18n |
[RFC 2445] 4.3.10 | RECUR |
BYYEARDAY |
icalendar:byYearDay |
rdf:List of blank nodes with rdf:value of Literal in the form ([+]ordyrday/-ordyrday) where ordyrday is an integer (1-366) |
TBD: i18n |
[RFC 2445] 4.3.10 | RECUR |
BYWEEKNO |
icalendar:byWeekNo |
rdf:List of blank nodes with rdf:value of Literal in the form ([+]ordwk/-ordwk) where ordwk is an integer (1-53) |
TBD: i18n |
[RFC 2445] 4.3.10 | RECUR |
BYMONTH |
icalendar:byMonth |
rdf:List of blank nodes with rdf:value of Literal of datatype xsd:integer (1-12) |
TBD: use xsd:integer or plain literal? |
[RFC 2445] 4.3.10 | RECUR |
BYSETPOS |
icalendar:bySetPos |
rdf:List of blank nodes with rdf:value of Literal in the form ([+]ordyrday/-ordyrday) where ordyrday is an integer (1-366) |
TBD: i18n |
[RFC 2445] 4.3.10 | RECUR |
WKST |
icalendar:weekStart |
Literal; one of su , mo , tu , we , th , fr , sa |
TBD: i18n |
Each value type if possible should be replaced with an existing RDF typed literal data type such as those found in XML Schema Datatypes. As values should be equivalent regardless of lexical form, the lexical rules of the RDF data type will apply when the value is stored in RDF. Value types which indicate other resources (such as email addresses, telephone numbers, and existing entities such as vCards) will be indicated by normal RDF URI reference. e.g. The boolean
Directory value type would be represented as a typed literal with the data type xsd:boolean
.
uri
, text
, date
, time
, date-time
, integer
, boolean
, float
, x-name
, iana-token
binary
, vcard
, phone-number
, utc-offset
BINARY
, BOOLEAN
, CAL-ADDRESS
, DATE
, DATE-TIME
, DURATION
, FLOAT
, INTEGER
, PERIOD
, RECUR
, TEXT
, TIME
, URI
, UTC-OFFSET
, x-name
, iana-token
Source | Value Type | Description | Value Type | Notes |
---|---|---|---|---|
[RFC 2425] 5.8.4. | uri |
Used to identify values that are referenced by a URI (including a Content-ID URI), instead of encoded in-line. | xsd:anyURI |
TBD: Determine which properties expect a URI really expect a Resource with a URI specified. |
[RFC 2425] 5.8.4. | text |
xsd:string |
This value type will be represented by an RDF string datatype or a plain literal, depending on the context. | |
[RFC 2425] 5.8.4. | date |
Based on a subset of the definitions in ISO 8601 standard. | xsd:date |
|
[RFC 2425] 5.8.4. | time |
Based on a subset of the definitions in ISO 8601 standard. | xsd:time |
|
[RFC 2425] 5.8.4. | date-time |
Based on a subset of the definitions in ISO 8601 standard. | xsd:dateTime |
|
[RFC 2425] 5.8.4. | integer |
Used to express signed integers in decimal format. | xsd:integer |
|
[RFC 2425] 5.8.4. | boolean |
Used to express boolen values. | xsd:boolean |
|
[RFC 2425] 5.8.4. | float |
Used to express real numbers. | xsd:float |
|
[RFC 2425] 5.4. | x-name |
Reserved for experimental use not intended for released products, or for use in bilateral agreements. | none | RDF obviates the need for syntactical extension rules. |
[RFC 2425] 5.4. | iana-token |
A publicly-defined extension token, registered with IANA. | none | RDF obviates the need for extension through IANA registration. |
[RFC 2426] 2.4.1 | BINARY |
Inline, encoded binary data. | xsd:base64Binary |
It is expected that some binary properties, such as PHOTO , LOGO , and SOUND , can accept either xsd:base64Binary literal or resource values. |
[RFC 2426] 2.4.2 | VCARD |
Another vCard. | Resource | |
[RFC 2426] 2.4.3 | PHONE-NUMBER |
Telephone number. | Resource | The resource value must have a URI with a tel: scheme as defined in [RFC 3966]. |
[RFC 2426] 2.4.4 | UTC-OFFSET |
Signed offset from UTC. | icalendar:utcOffset |
Literal is in the format specified by [RFC 2426] 2.4.4 (e.g. -07:00 ). |
[RFC 2445] 4.3.1 | BINARY |
Inline binary data. | xsd:base64Binary |
It is expected that some binary properties can accept either xsd:base64Binary literal or resource values. |
[RFC 2445] 4.3.2 | BOOLEAN |
A Boolean value. | xsd:boolean |
|
[RFC 2445] 4.3.3 | CAL_ADDRESS |
A calendar user address. | Resource | The given resource must have a URI specified. |
[RFC 2445] 4.3.4 | DATE |
A calendar date. | xsd:date |
|
[RFC 2445] 4.3.5 | DATE-TIME |
A calendar date. | xsd:dateTime |
|
[RFC 2445] 4.3.6 | DURATION |
A duration of time. | icalendar:duration |
Literal is in the format specified by [RFC 2445] 4.3.6 (e.g. P15DT5H0M20S ). |
[RFC 2445] 4.3.7 | FLOAT |
A real number value. | xsd:float |
|
[RFC 2445] 4.3.8 | INTEGER |
A signed integer value. | xsd:integer |
|
[RFC 2445] 4.3.9 | PERIOD |
A precise period of time. | none | Although PERIOD is specified as a value type, it more resembles a structured value and therefore a separate class is specified elsewhere in this document. |
[RFC 2445] 4.3.10 | RECUR |
A recurrence rule specification. | none | Although RECUR is specified as a value type, it more resembles a structured value and therefore a separate class is specified elsewhere in this document. |
[RFC 2445] 4.3.11 | TEXT |
Human-readable text. | xsd:string |
This value type will be represented by an RDF string datatype or a plain literal, depending on the context. |
[RFC 2445] 4.3.12 | TIME |
A time of day. | xsd:time |
|
[RFC 2445] 4.3.13 | URI |
A uniform resource identifier (URI) type of reference to the property value. | xsd:anyURI |
TBD: Determine which properties expect a URI really expect a Resource with a URI specified. |
[RFC 2445] 4.3.14 | UTC-OFFSET |
An offset from UTC to local time. | icalendar:utcOffset |
Literal is in the format specified by [RFC 2426] 2.4.4 (e.g. -07:00 ) rather than [RFC 2445] 4.3.14 (e.g. -700 ), as the former is consistent with the lexical representation of xsd:dateTime . |
[RFC 2445] 4.2.20 | x-name |
none | RDF obviates the need for syntactical extension rules. | |
[RFC 2445] 4.2.20 | iana-token |
none | RDF obviates the need for extension through IANA registration. |
RDF allows simple one-to-one property-value correspondances, although a single value may be a list of values. The syntax of Directory, vCard, and iCalendar allows for many properties to have a one-to-many relationship with values, in which a single property may contain one or more values. Furthermore, the RDF data model makes restrictions on where literals may appear in an RDF instance (e.g. string literals cannot appear as a subject of an RDF statement, nor may they appear as elements in a list). To compensate for these disparities, the following rules shall be applied when representing Directory data in RDF:
N
type Additional Name component), or if a property inherently indicates that the value should be plural (e.g. the vCard CATEGORIES
type), the RDF property value may be an rdf:List
containing the multiple values.rdf:List
), a blank node shall be used as the property value with the literal value appearing as the property of the blank node's rdf:value
property.Copyright © 2007 GlobalMentor, Inc.