NCO: Add IMAddress and adapt existing IM classes and properties
This commit applies various changes to the ontology for multiple reasons. It increases consistency between email addresses, phone numbers, and IM addresses. This enables the use of anonymous contacts for IM messages. Furthermore, this commit also simplifies queries that involve merged contacts, which improves the performance significantly. Despite all the changes, full backward compatibility is retained during a transition period as this commit does not yet remove the deprecated classes and properties. The class nco:IMAddress and the property nco:hasIMAddress have been added. nco:hasIMAddress can be used by any nco:Contact and represents an instant messaging address consisting of nco:imID and nco:imProtocol. This improves consistency with how email addresses and phone numbers are handled in NCO. nco:IMContact has been deprecated in favor of using nco:PersonContact with nco:hasIMAddress. This avoids special casing IM contacts. The address of a nco:IMAccount is now stored in nco:imAccountAddress, this allows to consolidate the nearly duplicate properties such as nco:imId and nco:imContactId and the other nco:im* and nco:imContact* property pairs. To improve consistency among these properties and ease transition, nco:imContactCapability has been renamed to nco:imCapability. nco:hasIMAccount has been deprecated as it did not provide any information as it was only applicable to a single subject, nco:default-contact-me. nco:fromIMAccount has been deprecated and replaced by nco:hasIMContact, which provides the same information in reversed form, that is, it links IM accounts of the user to IM contacts (buddy list). nco:MetaContact and nco:metaContact have been deprecated in favor of storing merged contacts. Contact details can be linked to the data source with named graphs in future versions of Tracker. This provides vastly simpler and more efficient access to merged contacts.
parent
30f49d86
Please register or sign in to comment