[Tracker] Proposal for contact ontology (NCO)


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

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

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 <florent thevenet laposte net>

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