[Nepomuk] Modifying nco:emailAddress

Christian Mollekopf chrigi_1 at fastmail.fm
Fri May 24 19:51:44 UTC 2013


On Saturday 25 May 2013 00.04:20 Vishesh Handa wrote:
> On Fri, May 24, 2013 at 5:11 PM, Christian Mollekopf
> 
> <chrigi_1 at fastmail.fm>wrote:
> > On Thursday 23 May 2013 19.44:04 Vishesh Handa wrote:
> > > Hey guys
> > > 
> > > We seem to have run into a situation where we need to fetch some
> > 
> > identifier
> > 
> > > of a nco:ContactMedium, and we noticed that nco:emailAddress does not
> > > derive from nao:identifier.
> > > 
> > > whereas nco:imID does.
> > > 
> > > If no one object, I can add the required super property.
> > 
> > Note that an email address is not actually a unique identifier. Many
> > people can
> > share email addresses (family account, company account, ...), so this
> > breaks
> > the "Inverse Functional" [0] property this property is supposed to have
> > according to [1]. Maybe there are other options?
> 
> It is still inverse functional.
>

I have confuse nco:emailAddress for nco:EmailAddress...
nco:emailAddress is of course inverse functional for nco:EmailAddress but not 
for nco:Contact (which I confused with nco:ContactMedium).

+1 for nao:identifier for nco:emailAddress.

You can ignore the rest of the mail if everything is clear.

Cheers,
Christian



As I understand [1], inverse functional means for:

<nepomuk:/resA> a nco:Contact ;
	 nco:hasEmailAddress <nepomuk:/res/email> .

that whenever I see 

X a nco:Contact;
	 nco:hasEmailAddress <nepomuk:/res/email> .

X MUST be the same as <nepomuk:/resA>.

So i.e. a UID would be an inverse functional property which would qualify as 
nao:identifier. Also, the nco:emailAddress (the string), is an inverse 
functional property of nco:EmailAddress (the resource).

> If multiple contacts want to share an email address then all of them can
> link to the same nco:EmailAddress. I do not think we need a separate copy
> of the nco:EmailAddress for each contact.
> 

Agreed, we don't need nor want a separate copy for each contact. But the email 
address doesn't identify the contact.

> Something like this -
> 
> <nepomuk:/resA> a nco:Contact ;
>                            nco:hasEmailAddress <nepomuk:/res/email> .
> 
> <nepomuk:/resB> a nco:Contact ;
>                            nco:hasEmailAddress <nepomuk:/res/email> .
> 
> <nepomuk:/resC> a nco:Contact ;
>                            nco:hasEmailAddress <nepomuk:/res/email> .
> 
> 
> <nepomuk:/res/email> a nco:EmailAddress ;
>                            nco:emailAddress "email at email.com" .
> 
> ---
> 
> If the Nepomuk identification works perfectly then this is what we
> currently have.
> 
> > Cheers,
> > Christian
> > 
> > [0] http://www.w3.org/wiki/InverseFunctionalProperty
> > [1] http://www.semanticdesktop.org/ontologies/nao/#mozTocId802441
> > _______________________________________________
> > Nepomuk mailing list
> > Nepomuk at kde.org
> > https://mail.kde.org/mailman/listinfo/nepomuk


More information about the Nepomuk mailing list