Hello, I'm very interested in NCO ontology and I saw the modifications you made from the original Nepomuk ontology. I must say that of not very fond of some of these changes. First because you seems to assume that only IM clients and mail apps will use NCO. Then because with the IMContact class you lost semantic meaning. Finally because I don't understand the need for an MetaContact thing, while Nepomuk's ontology has a powerful ContactMedium class.
Let me explain my thoughts and expose my proposal. In my mind IMContact is evil; it's both a Contact and a ContactMedium so you lose a lot of meaning here. What's more as far as I understand, the Real Person should be represented by MetaContact; and then you link that MetaContact with IMContacts, which can have different names, genders... Does a real person have many names ? I don't think so. Then you care only about IM things : where are all the hypes things like SocialNetwork and MicroBlogging from where you can gather a LOT of semantic informations about a contact ? Hopefully not everything is bad, ContactPresence and ContactCapabilities classes and fromIMAccount property are great ideas. So here is my proposal for the NCO ontology; Note that you should apply these changes to the Nepomuk's original ontology, not the tracker modified one. First, we should create a nco:ServiceAccount class, a subclass of nco:ContactMedium. It describes a (web)service on which contacts are registered when linked to any nco:Role. When linked to contact-me it represents a web(service) on which I'm registered and from where my contacts can come. This class have two properties, taken from nco:IMAccount : nco:accountType and nco:accountId. Then we have three subclasses of nco:ServiceAccount : _ nco:IMContact, exactly the one we have now. _ nco:BroadcastAccount, for things like twitter, since it's more and more integrated in the desktop. It has a new property nco:broadcastMessage (nco:BroadcastAccount, xsd:string) that represents the last message contact posted. _ nco:SocialNetworkAccount, for things like Facebook, very popular and from which you can get a lot of informations about a contact [1]. We link these classes to the nco:PersonContact or to an nco:Affiliation with the properties : nco:hasIMAccount, nco:hasBroadcastAccount and nco:hasSocialNetworkAccount (subproperties of nco:hasServiceAccount). If we take new properties and classes from Tracker and change them to fit with my proposal: _ nco:imPresence (nco:IMAccount, nco:PresenceStatus) _ nco:imAccountCapability (nco:IMAccount, nco:IMCapability) _ nco:PresenceStatus _ nco:IMCapability _ nco:fromAccount (nco:ServiceAccount, nco:ServiceAccount[only ones from contact-me]) Finally, some more useful properties: _ nco:openIdUrl (nco:PersonContact, xsd:string) _ nco:hasIRCNickame (nco:Affiliation, xsd:string) There may be a need for a separated nco:ServiceAccount class, for contact-me. Thanks a lot for reading ! [1] From a Social Network you can get the name, the gender... of the user's friend, photos, videos, events... -- THEVENET Florent <[email protected]> _______________________________________________ tracker-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/tracker-list
