[Nepomuk] Re: Special Identifying Properties

Vishesh Handa handa.vish at gmail.com
Wed Jul 27 16:53:36 CEST 2011


On Wed, Jul 27, 2011 at 8:13 PM, Sebastian Trüg <trueg at kde.org> wrote:

> could you please elaborate on the need of a primary key type of
> property. Give an example maybe...
>

Of course

Imagine I already have a contact in my repo -

<nepomuk:/res/somecontact>
    a nco:PersonContact ;
    nco:fullName "Some name" ;
    nco:hasEmailAddress <someEmailRes> .

Now I decide to push some data using storeResources

SimpleResource res;
res.addType( NCO::PersonContact() );
res.addProperty( NCO::hasEmailAddress(), QUrl("someEmailRes") );
res.addProperty( NCO::fullName(), QLatin1String("Some other name") );

This contact would normally not get identified as <nepomuk:/res/somecontact>
as it has a different first name. However, two people can never have the
same email address, so in this case it *should* get identified as
<nepomuk:/res/somecontact>. ( Merging would obviously fail, but that is
another issue, we could be using OverwriteProperties )

If we marked nco:hasEmailAddress as Globally Unique, then the SimpleRes
would get mapped to <nepomuk:/res/somecontact> as the email matches.

Same is the case for nfo:hashValue


>
> On 07/27/2011 04:26 PM, Vishesh Handa wrote:
> > Hey Everyone
> >
> > Martin and I were discussing storeResources yesterday, and we stumbled
> > on the need to have certain properties act as Primary Keys for
> > Resources. Currently, storeResources treats the nie:url as a Primary
> > Key, only if the nie:url is not present does it use the literal
> > identification scheme ( read datamanagement.h for more info )
> >
> > With Martin working on pimo:Person and nco:PersonContact aggregation, he
> > requires the nco:hasEmailAddress to act as a Primary Key. Additionally I
> > would like nfo:hashValue to act as one. So now that we have 3
> > contenders, it makes sense to mark these properties in the ontologies as
> > globally identifying or something.
> >
> > What do you guys think? If you approve, can you suggest a way to mark
> > these properties?
> >
> > One option is that we have a nxx:globalIdentifyingProperty, and make
> > nie:url, nco:hasEmailAddress, and nfo:hashValue subclasses of it.
> >
> > --
> > Vishesh Handa
>



-- 
Vishesh Handa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/nepomuk/attachments/20110727/10e58989/attachment.htm 


More information about the Nepomuk mailing list