This is a documentation preview for the next version of Tracker, generated from tracker.git commit c585703.

See the Tracker website for more documentation.

Nepomuk Contacts Ontology (NCO)

Nepomuk Contacts Ontology (NCO) — All about contacts. Rough equivalent of the VCARD standard.

Synopsis

@prefix nco: <http://tracker.api.gnome.org/ontology/v3/nco#>

Classes

Affiliation, AuthorizationStatus, BbsNumber, CarPhoneNumber, CellPhoneNumber, Contact, ContactGroup, ContactList, ContactListDataObject, ContactMedium, DomesticDeliveryAddress, EmailAddress, FaxNumber, Gender, IMAccount, IMAddress, IMCapability, InternationalDeliveryAddress, IsdnNumber, MessagingNumber, ModemNumber, OrganizationContact, PagerNumber, ParcelDeliveryAddress, PcsNumber, PersonContact, PhoneNumber, PostalAddress, PresenceStatus, Role, VideoTelephoneNumber, VoicePhoneNumber

Additional Properties

contributor, creator, publisher

Overview

Introduction

This is the ontology modelling contacts and postal addresses. It also extends the original nepomuk adding the Instant Messaging account details, because an 'identity' in an IM account can be consider also a contact.

FIXME This documentation must be completed.

A contact in this ontology

Document here how a contact with work and personal details is represented in the ontology. So far the QtContacts API is using this model to store the information internally, document here all the assumptions they are doing in the code, so a client using pure Sparql is completely compatible with that information

Do not forget contact groups and affiliations


Postal Address

Postal address class nco:PostalAddress represents a point in the space defined by the usual street, number, postal code textual data. Most of its parameters come from the RFC 2426 section 3.2.1 with few extensions for more granular APIs (nco:county and nco:district)


IM Accounts and contacts

Explain here how to represent the accounts of 'me' and the contacts coming from the accounts. Do not forget to explain how do we merge the same user in different accounts under one 'identity'. Also the authorization flow.


Special remarks

Maybe we need to add here something


Related information

Links to external docs (QT-contacts, Qt-Landmarks would be nice)

Class Details

Affiliation

Description

Aggregates three properties defined in RFC2426. Originally all three were attached directly to a person. One person could have only one title and one role within one organization. This class is intended to lift this limitation.

Class hierarchy

    rdfs:Resource 
        nco:Role 
        ╰── nco:Affiliation 

Properties

Name Type Notes Description

department

string This property is full-text-indexed, and can be looked up through fts:match

Department. The organizational unit within the organization.

org

OrganizationContact  

Name of an organization or a unit within an organization the object represented by a Contact is associated with. An equivalent of the 'ORG' property defined in RFC 2426 Sec. 3.5.5

role

string This property is full-text-indexed, and can be looked up through fts:match  

title

string This property is full-text-indexed, and can be looked up through fts:match  

AuthorizationStatus

Description

Predefined instances to indicate the auth status: yes, no, requested

Predefined instances

nco:AuthorizationStatus has the following predefined instances:

  • nco:predefined-auth-status-requested

  • nco:predefined-auth-status-no

  • nco:predefined-auth-status-yes


BbsNumber

Description

A Bulletin Board System (BBS) phone number. Inspired by the (TYPE=bbsl) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:PhoneNumber 
            ╰── nco:ModemNumber 
                ╰── nco:BbsNumber 

CarPhoneNumber

Description

A car phone number. Inspired by the (TYPE=car) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

CellPhoneNumber

Description

A cellular phone number. Inspired by the (TYPE=cell) parameter of the TEL property as defined in RFC 2426 sec 3.3.1. Usually a cellular phone can accept voice calls as well as textual messages (SMS), therefore this class has two superclasses.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:PhoneNumber nco:PhoneNumber 
            ├── nco:MessagingNumber ├── ───┐
        │   │                              │
            ╰── ╰── nco:VoicePhoneNumber ──┤
                                           └── nco:CellPhoneNumber 

Contact

Description

A Contact. A piece of data that can provide means to identify or communicate with an entity.

Class hierarchy

    nie:InformationElement ──┐
    rdfs:Resourcenco:Role ────────┤
                             └── nco:Contact 
                nco:OrganizationContact 
                    nco:PersonContact 

Properties

Name Type Notes Description

belongsToGroup

ContactGroup This property can have multiple values.

Links a Contact with a ContactGroup it belongs to.

birthDate

dateTime This property extends dc:date

Birth date of the object represented by this Contact. An equivalent of the 'BDAY' property as defined in RFC 2426 Sec. 3.1.5.

contactLocalUID

string  

Unique ID for the contact in the local storage

contactUID

string This property extends nie:identifier

A value that represents a globally unique identifier corresponding to the individual or resource associated with the Contact. An equivalent of the 'UID' property defined in RFC 2426 Sec. 3.6.7

fullname

string This property extends dc:titleThis property is full-text-indexed, and can be looked up through fts:match

To specify the formatted text corresponding to the name of the object the Contact represents. An equivalent of the FN property as defined in RFC 2426 Sec. 3.1.1.

hasLocation

Resource  

Geographical location of the contact. Inspired by the 'GEO' property specified in RFC 2426 Sec. 3.4.2

key

DataObject  

An encryption key attached to a contact. Inspired by the KEY property defined in RFC 2426 sec. 3.7.2

nickname

string This property is full-text-indexed, and can be looked up through fts:match

A nickname of the Object represented by this Contact. This is an equivalen of the 'NICKNAME' property as defined in RFC 2426 Sec. 3.1.3.

note

string This property can have multiple values.This property is full-text-indexed, and can be looked up through fts:match

A note about the object represented by this Contact. An equivalent for the 'NOTE' property defined in RFC 2426 Sec. 3.6.2

photo

InformationElement  

Photograph attached to a Contact. The DataObject refered to by this property is usually interpreted as an nfo:Image. Inspired by the PHOTO property defined in RFC 2426 sec. 3.1.4

representative

Contact  

An object that represent an object represented by this Contact. Usually this property is used to link a Contact to an organization, to a contact to the representative of this organization the user directly interacts with. An equivalent for the 'AGENT' property defined in RFC 2426 Sec. 3.5.4

sound

InformationElement  

Sound clip attached to a Contact. The DataObject refered to by this property is usually interpreted as an nfo:Audio. Inspired by the SOUND property defined in RFC 2425 sec. 3.6.6.


ContactGroup

Description

A group of Contacts. Could be used to express a group in an addressbook or on a contact list of an IM application. One contact can belong to many groups.

Notify iconThis class emits notifications about changes, and can be monitored using TrackerNotifier.

Properties

Name Type Notes Description

contactGroupName

string This property extends dc:titleThis property is full-text-indexed, and can be looked up through fts:match

The name of the contact group. This property was NOT defined in the VCARD standard. See documentation of the 'ContactGroup' class for details


ContactList

Description

A contact list, this class represents an addressbook or a contact list of an IM application. Contacts inside a contact list can belong to contact groups.

Notify iconThis class emits notifications about changes, and can be monitored using TrackerNotifier.

Properties

Name Type Notes Description

containsContact

ContactListDataObject This property extends nie:hasPartThis property can have multiple values.

A property used to group contacts into contact groups. This property was NOT defined in the VCARD standard. See documentation for the 'ContactList' class for details


ContactListDataObject

Description

An entity occuring on a contact list (usually interpreted as an nco:Contact)

ContactMedium

Description

A superclass for all contact media - ways to contact an entity represented by a Contact instance. Some of the subclasses of this class (the various kinds of telephone numbers and postal addresses) have been inspired by the values of the TYPE parameter of ADR and TEL properties defined in RFC 2426 sec. 3.2.1. and 3.3.1 respectively. Each value is represented by an appropriate subclass with two major exceptions TYPE=home and TYPE=work. They are to be expressed by the roles these contact media are attached to i.e. contact media with TYPE=home parameter are to be attached to the default role (nco:Contact or nco:PersonContact), whereas media with TYPE=work parameter should be attached to nco:Affiliation or nco:OrganizationContact.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ├── nco:EmailAddress 
        ├── nco:IMAddress 
        ├── nco:PhoneNumber 
        ╰── nco:PostalAddress 

Properties

Name Type Notes Description

contactMediumComment

string  

A comment about the contact medium.


DomesticDeliveryAddress

Description

Domestic Delivery Addresse. Class inspired by TYPE=dom parameter of the ADR property defined in RFC 2426 sec. 3.2.1

EmailAddress

Description

An email address. The recommended best practice is to use mailto: uris for instances of this class.

Properties

Name Type Notes Description

emailAddress

string This property is full-text-indexed, and can be looked up through fts:match

Email address


FaxNumber

Description

A fax number. Inspired by the (TYPE=fax) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:PhoneNumber 
            ╰── nco:FaxNumber 

Gender

Description

Gender. Instances of this class may include male and female.

Class hierarchy

    rdfs:Resource 
        nco:Gender 

Predefined instances

nco:Gender has the following predefined instances:

  • nco:gender-other

  • nco:gender-female

  • nco:gender-male


IMAccount

Description

An account in an Instant Messaging system. This refers to IM accounts of the user 'me'.

Notify iconThis class emits notifications about changes, and can be monitored using TrackerNotifier.

Properties

Name Type Notes Description

hasIMContact

IMAddress This property can have multiple values.

Indicates that this Instant Messaging account has the specified Instant Messaging address in the contact list.

imAccountAddress

IMAddress  

Instant Messaging address of this IM account. The user 'me' can send and receive messages from this IM address.

imAccountType

string  

Type of the IM account. This may be the name of the service that provides the IM functionality. Examples might include Jabber, ICQ, MSN etc

imDisplayName

string  

The user-visible name of this account. This SHOULD be chosen by the user at account creation time. The account creation user interface is responsible for setting a reasonable default value in the user's locale; something like 'Jabber (bob@example.com)' would be sensible.

imEnabled

boolean  


IMAddress

Description

An instant messaging address such as xmpp:foo@bar.com.

Notify iconThis class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:IMAddress 

Properties

Name Type Notes Description

imAddressAuthStatusFrom

AuthorizationStatus  

Has the other end authorize to receive information about his changes

imAddressAuthStatusTo

AuthorizationStatus  

Do i authorize this im Account to receive my information

imAvatar

DataObject  

A picture attached to a particular IM address.

imCapability

IMCapability This property can have multiple values.

Capabilities of an IM Contact, what can we interact with him

imID

string This property extends nao:identifierThis property is full-text-indexed, and can be looked up through fts:match

Identifier of the IM account. Examples of such identifier might include ICQ UINs, Jabber IDs, Skype names etc.

imNickname

string This property is full-text-indexed, and can be looked up through fts:match

A nickname attached to a particular IM address.

imPresence

PresenceStatus    

imProtocol

string  

Protocol of the account ('skype', 'gtalk', 'icq', ...)

imStatusMessage

string  

A feature common in most IM systems. A message left by the user for all his/her contacts to see.

presenceLastModified

dateTime  

Timestamp of the last change in the presence status


IMCapability

Description

Features of a certain IM connection (depends on the IMAccount implementation used by the Contact)

Predefined instances

nco:IMCapability has the following predefined instances:

  • nco:im-capability-dbus-tubes

  • nco:im-capability-stream-tubes

  • nco:im-capability-file-transfers

  • nco:im-capability-upgrading-calls

  • nco:im-capability-video-calls

  • nco:im-capability-audio-calls

  • nco:im-capability-media-calls

  • nco:im-capability-text-chat


InternationalDeliveryAddress

Description

International Delivery Addresse. Class inspired by TYPE=intl parameter of the ADR property defined in RFC 2426 sec. 3.2.1

IsdnNumber

Description

An ISDN phone number. Inspired by the (TYPE=isdn) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

MessagingNumber

Description

A number that can accept textual messages.

ModemNumber

Description

A modem phone number. Inspired by the (TYPE=modem) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:PhoneNumber 
            ╰── nco:ModemNumber 
                ╰── nco:BbsNumber 

OrganizationContact

Description

A Contact that denotes on Organization.

Class hierarchy

    nie:InformationElement ──┐
    rdfs:Resourcenco:Role ────────┤
                             └── nco:Contact 
                nco:OrganizationContact 

Properties

Name Type Notes Description

logo

DataObject  

Logo of a company. Inspired by the LOGO property defined in RFC 2426 sec. 3.5.3


PagerNumber

Description

A pager phone number. Inspired by the (TYPE=pager) parameter of the TEL property as defined in RFC 2426 sec 3.3.1.

ParcelDeliveryAddress

Description

Parcel Delivery Addresse. Class inspired by TYPE=parcel parameter of the ADR property defined in RFC 2426 sec. 3.2.1

PcsNumber

Description

Personal Communication Services Number. A class inspired by the TYPE=pcs parameter of the TEL property defined in RFC 2426 sec. 3.3.1

Class hierarchy

    rdfs:Resource 
        nco:ContactMedium 
        ╰── nco:PhoneNumber 
            ╰── nco:VoicePhoneNumber 
                ╰── nco:PcsNumber 

PersonContact

Description

A Contact that denotes a Person. A person can have multiple Affiliations.

Notify iconThis class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

    nie:InformationElement ──┐
    rdfs:Resourcenco:Role ────────┤
                             └── nco:Contact 
                nco:PersonContact 

Predefined instances

nco:PersonContact has the following predefined instances:

  • nco:default-contact-me

Properties

Name Type Notes Description

gender

Gender  

Gender of the given contact.

hasAffiliation

Affiliation This property can have multiple values.

Links a PersonContact with an Affiliation.

hobby

string  

A hobby associated with a PersonContact. This property can be used to express hobbies and interests.

nameAdditional

string This property is full-text-indexed, and can be looked up through fts:match

Additional given name of an object represented by this contact. See documentation for 'nameFamily' property for details.

nameFamily

string This property is full-text-indexed, and can be looked up through fts:match

The family name of an Object represented by this Contact. These applies to people that have more than one given name. The 'first' one is considered 'the' given name (see nameGiven) property. All additional ones are considered 'additional' names. The name inherited from parents is the 'family name'. e.g. For Dr. John Phil Paul Stevenson Jr. M.D. A.C.P. we have contact with: honorificPrefix: 'Dr.', nameGiven: 'John', nameAdditional: 'Phil', nameAdditional: 'Paul', nameFamily: 'Stevenson', honorificSuffix: 'Jr.', honorificSuffix: 'M.D.', honorificSuffix: 'A.C.P.'. These properties form an equivalent of the compound 'N' property as defined in RFC 2426 Sec. 3.1.2

nameGiven

string This property is full-text-indexed, and can be looked up through fts:match

The given name for the object represented by this Contact. See documentation for 'nameFamily' property for details.

nameHonorificPrefix

string  

A prefix for the name of the object represented by this Contact. See documentation for the 'nameFamily' property for details.

nameHonorificSuffix

string  

A suffix for the name of the Object represented by the given object. See documentation for the 'nameFamily' for details.


PhoneNumber

Description

A telephone number.

Properties

Name Type Notes Description

phoneNumber

string This property is full-text-indexed, and can be looked up through fts:match  

PostalAddress

Description

A postal address. A class aggregating the various parts of a value for the 'ADR' property as defined in RFC 2426 Sec. 3.2.1.

Properties

Name Type Notes Description

addressLocation

Resource  

The geographical location of a postal address.

country

string This property is full-text-indexed, and can be looked up through fts:match

A part of an address specifying the country. Inspired by the seventh part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

county

string This property is full-text-indexed, and can be looked up through fts:match

Regional division between state and city. Not in RFC 2426 sec 3.2.1. Added for API compatibility

district

string This property is full-text-indexed, and can be looked up through fts:match

Local division inside a city. Not in RFC 2426 sec 3.2.1. Added for API compatibility

extendedAddress

string This property is full-text-indexed, and can be looked up through fts:match

An extended part of an address. This field might be used to express parts of an address that aren't include in the name of the Contact but also aren't part of the actual location. Usually the streed address and following fields are enough for a postal letter to arrive. Examples may include ('University of California Campus building 45', 'Sears Tower 34th floor' etc.) Inspired by the second part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

locality

string This property is full-text-indexed, and can be looked up through fts:match

Locality or City. Inspired by the fourth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

pobox

string This property is full-text-indexed, and can be looked up through fts:match

Post office box. This is the first part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

postalcode

string This property is full-text-indexed, and can be looked up through fts:match

Postal Code. Inspired by the sixth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

region

string This property is full-text-indexed, and can be looked up through fts:match

Region. Inspired by the fifth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1

streetAddress

string This property is full-text-indexed, and can be looked up through fts:match

The streed address. Inspired by the third part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1


PresenceStatus

Description

Predefined set of status level instances

Predefined instances

nco:PresenceStatus has the following predefined instances:

  • nco:presence-status-error

  • nco:presence-status-unknown

  • nco:presence-status-busy

  • nco:presence-status-hidden

  • nco:presence-status-extended-away

  • nco:presence-status-away

  • nco:presence-status-available

  • nco:presence-status-offline

  • nco:presence-status-unset


Role

Description

A role played by a contact. Contacts that denote people, can have many roles (e.g. see the hasAffiliation property and Affiliation class). Contacts that denote Organizations or other Agents usually have one role. Each role can introduce additional contact media.

Class hierarchy

    rdfs:Resource 
        nco:Role 
        ├── nco:Affiliation 
        ╰── nco:Contact 

Properties

Name Type Notes Description

blogUrl

Resource This property extends nco:urlThis property can have multiple values.

A Blog url.

foafUrl

Resource This property extends nco:url

The URL of the FOAF file.

hasContactMedium

ContactMedium This property can have multiple values.

A superProperty for all properties linking a Contact to an instance of a contact medium.

hasEmailAddress

EmailAddress This property extends nco:hasContactMediumThis property can have multiple values.

An address for electronic mail communication with the object specified by this contact. An equivalent of the 'EMAIL' property as defined in RFC 2426 Sec. 3.3.1.

hasIMAddress

IMAddress This property extends nco:hasContactMediumThis property can have multiple values.

An address for communication using instant messages with the object specified by this contact.

hasPhoneNumber

PhoneNumber This property extends nco:hasContactMediumThis property can have multiple values.

A number for telephony communication with the object represented by this Contact. An equivalent of the 'TEL' property defined in RFC 2426 Sec. 3.3.1

hasPostalAddress

PostalAddress This property extends nco:hasContactMediumThis property can have multiple values.

The default Address for a Contact. An equivalent of the 'ADR' property as defined in RFC 2426 Sec. 3.2.1.

url

Resource This property can have multiple values.

A uniform resource locator associated with the given role of a Contact. Inspired by the 'URL' property defined in RFC 2426 Sec. 3.6.8.

video

InformationElement  

Video avatar of a contact. Note that is an icon/avatar, not a generic 'present in video' property

websiteUrl

Resource This property extends nco:urlThis property can have multiple values.

A url of a website.


VideoTelephoneNumber

Description

A Video telephone number. A class inspired by the TYPE=video parameter of the TEL property defined in RFC 2426 sec. 3.3.1

VoicePhoneNumber

Description

A telephone number with voice communication capabilities. Class inspired by the TYPE=voice parameter of the TEL property defined in RFC 2426 sec. 3.3.1

Properties

Name Type Notes Description

voiceMail

boolean  

Indicates if the given number accepts voice mail. (e.g. there is an answering machine). Inspired by TYPE=msg parameter of the TEL property defined in RFC 2426 sec. 3.3.1

Property Details

Additional properties for nie:InformationElement

Description

Properties this ontology defines which can describe nie:InformationElement resources.

Properties

Name Type Notes Description

contributor

Contact This property extends dc:contributorThis property can have multiple values.

An entity responsible for making contributions to the content of the InformationElement.

creator

Contact This property extends nco:contributorThis property extends dc:creatorThis property can have multiple values.

Creator of a data object, an entity primarily responsible for the creation of the content of the data object.

publisher

Contact This property extends dc:publisher

An entity responsible for making the InformationElement available.

Credits and Copyright

Authors:
  • Tracker Developers
  • Ludger van Elst, DFKI, <elst@dfki.uni-kl.de>
  • Michael Sintek, DFKI, <michael.sintek@dfki.de>
  • Leo Sauermann, DFKI, <leo.sauermann@dfki.de>
  • Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
Editors:
  • Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
  • Tracker developers (translation into turtle)
Contributors:
  • Christiaan Fluit, Aduna, <christiaan.fluit@aduna-software.com>
  • Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, <stexx@mail.ru>
Upstream:

Upstream version

ChangeLog:

Tracker changes

Copyright:

© 2007 DFKI © 2009 Nokia. The ontologies are made available under the terms of NEPOMUK software license (FIXME verify)