[tracker/im: 1/2] NCO: Add IMAddress as contact medium



commit f19a38945505fca52510353cf91b787c951a76cb
Author: Jürg Billeter <j bitron ch>
Date:   Tue Feb 2 15:38:58 2010 +0100

    NCO: Add IMAddress as contact medium
    
    nco:hasIMAddress can be used by any nco:Contact and represents an
    instant messaging address consisting of nco:imID and nco:imProtocol.
    
    The address of a nco:IMAccount is now stored in nco:imAccountAddress.

 data/ontologies/32-nco.ontology |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)
---
diff --git a/data/ontologies/32-nco.ontology b/data/ontologies/32-nco.ontology
index a9c285a..dc66e64 100644
--- a/data/ontologies/32-nco.ontology
+++ b/data/ontologies/32-nco.ontology
@@ -48,11 +48,16 @@ nco:EmailAddress a rdfs:Class ;
 	rdfs:comment "An email address. The recommended best practice is to use mailto: uris for instances of this class." ;
 	rdfs:subClassOf nco:ContactMedium .
 
+nco:IMAddress a rdfs:Class ;
+	rdfs:label "IM Address" ;
+	rdfs:comment "An instant messaging address such as xmpp:foo bar com " ;
+	rdfs:subClassOf nco:ContactMedium .
+
 nco:IMAccount a rdfs:Class ;
 	rdfs:label "IMAccount" ;
 	rdfs:comment "An account in an Instant Messaging system. Only user 'me' can have IM Accounts (check hasIMAccount). All other contacts in the address book can come from one (check nco:fromIMAccount). The properties in this class (id, status,...) refers only to 'me'. The specific details of contacts coming from that account are properties of IMContact." ;
 	tracker:notify true ;
-	rdfs:subClassOf nco:ContactMedium .
+	rdfs:subClassOf nie:InformationElement .
 
 nco:OrganizationContact a rdfs:Class ;
 	rdfs:label "OrganizationContact" ;
@@ -298,13 +303,6 @@ nco:extendedAddress a rdf:Property ;
 	tracker:fulltextIndexed true ;
 	tracker:weight 6 .
 
-nco:hasIMAccount a rdf:Property ;
-	rdfs:label "hasIMAccount" ;
-	rdfs:comment "Indicates that an Instant Messaging account owned by an entity represented by this contact." ;
-	rdfs:subPropertyOf nco:hasContactMedium ;
-	rdfs:domain nco:PersonContact ;
-	rdfs:range nco:IMAccount .
-
 nco:fromIMAccount a rdf:Property ;
 	rdfs:label "hasIMAccount" ;
 	rdfs:comment "Indicates that an Instant Messaging account owned by an entity represented by this contact." ;
@@ -360,11 +358,17 @@ nco:imID a rdf:Property ;
 	rdfs:comment "Identifier of the IM account. Examples of such identifier might include ICQ UINs, Jabber IDs, Skype names etc." ;
 	rdfs:subPropertyOf nao:identifier ;
 	nrl:maxCardinality 1 ;
-	rdfs:domain nco:IMAccount ;
+	rdfs:domain nco:IMAddress ;
 	rdfs:range xsd:string ;
 	tracker:fulltextIndexed true ;
 	tracker:weight 5 .
 
+nco:imAccountAddress a rdf:Property ;
+	a nrl:InverseFunctionalProperty ;
+	nrl:maxCardinality 1 ;
+	rdfs:domain nco:IMAccount ;
+	rdfs:range nco:IMAddress .
+
 # FIXME Range geo:Point but we dont have that class
 nco:addressLocation a rdf:Property ;
 	rdfs:label "addressLocation" ;
@@ -620,7 +624,7 @@ nco:imProtocol a rdf:Property ;
 	rdfs:label "imProtocol" ;
 	rdfs:comment "Protocol of the account ('skype', 'gtalk', 'icq', ...)" ;
 	nrl:maxCardinality 1 ;
-	rdfs:domain nco:IMAccount ;
+	rdfs:domain nco:IMAddress ;
 	rdfs:range xsd:string .
 
 nco:pobox a rdf:Property ;
@@ -677,13 +681,6 @@ nco:hasAffiliation a rdf:Property ;
 #
 # IM related properties
 #
-nco:imContactId a rdf:Property ;
-	rdfs:label "imContactId" ;
-	rdfs:comment "ID of the contact in the service like my friend xmail com" ;
-	nrl:maxCardinality 1;
-	rdfs:domain nco:IMContact ;
-	rdfs:range xsd:string .
-
 nco:imContactNickname a rdf:Property ;
 	rdfs:label "imContactNickname" ;
 	rdfs:comment "Visible nickname of the user in a service";
@@ -747,3 +744,7 @@ nco:imContactCapability a rdf:Property ;
 	rdfs:comment "Capabilities of an IM Contact, what can we interact with him";
 	rdfs:domain nco:IMContact ;
 	rdfs:range nco:IMCapability .
+
+nco:hasIMAddress a rdf:Property ;
+	rdfs:domain nco:Contact ;
+	rdfs:range nco:IMAddress .



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]