Re: Proposing Tracker for inclusion into GNOME 2.18



2006-10-25 klockan 12:27 skrev Jamie McCracken:
> Ross Burton wrote:
> > On Wed, 2006-10-25 at 11:12 +0100, Jamie McCracken wrote:
> >>>> With everything mapped 1:1 you can then use RDF query to search them
> >>> Why would you need a 1:1 mapping to do a query?  A query for "contacts
> >>> with an email of jamiecc blueyonder co uk" should be possible
> >>> independent of the number of email addresses a contact can have.
> >> we need the 1:1 mapping to get/set the values. Whatever we implement we 
> >> must have a unique metadata name for a particular service in order to do 
> >> that otherwise getting or setting a value would be impossible.
> >>
> >> One problem with metadata relationships is that some metadata like in 
> >> the above case would only be searchable like Contact.JabberID as the 
> >> actual storage would be in Contact.WorkJabberID or Contact.HomeJabberID 
> >> so it might get confusing for developers if they try and get the value 
> >> of Contact.JabberID which would be NULL.
> > 
> > A real world, physical example:
> > 
> > Name: Ross Burton
> > Email address (personal): ross burtonini com
> > Email address (personal): ross burton gmail com
> > Email address (work): ross openedhand com
> > 
> > How would you store this in Tracker?  If we declare that Tracker Contact
> > objects are *not* vCard clones I can handle dropping the personal/work
> > annotations for now.
> 
> would suggest:
> 
> Contact.HomeEmailAddress : ross burtonini com;ross burton gmail com
> Contact.WorkEmailAddress : ross openedhand com
> 
> note using semicolon as delimiter so contents would need to be escaped 
> for the semicolon. I guess standardising on semicolon delimiters might 
> be a good idea?

Looks pretty useless to me. Delimiters in database field?

The RDF way would be (triples):

  hasPersonalEmail --- rdfs:subPropertyOf ---> hasEmail
  hasWorkEmail     --- rdfs:subPropertyOf ---> hasEmail
  RossBurton       --- hasWorkEmail       ---> ross openedhand com
  RossBurton       --- hasPersonalEmail   ---> ross burtonini com
  RossBurton       --- hasPersonalEmail   ---> ross burton gmail com

You would then be able to query on "hasEmail" and get all three addresses.

  mvrgr, Wouter

-- 
:wq                                                       mail uws xs4all nl
                                                      web http://uwstopia.nl

i'm sorry that :: i'm sorry that i'm not like you          -- porcupine tree

Attachment: signature.asc
Description: Digital signature



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