Re: [Tracker] tracker RDF data
- From: Jamie McCracken <jamiemcc blueyonder co uk>
- To: Eyal Oren <eyal oren deri org>
- Cc: tracker-list gnome org
- Subject: Re: [Tracker] tracker RDF data
- Date: Sat, 22 Jul 2006 16:14:10 +0100
Eyal Oren wrote:
On 07/19/06/07/06 15:54 +0100, Jamie McCracken wrote:
Eyal Oren wrote:
tracker is not designed for use as a web service but as a desktop
service (hence dbus is used).
I know, that's good. RDF is definitely not only for the web.
Its also not an RDF style application it merely uses RDFQ (xml based
version) as a means to query stuff. We dont implement all of RDFQ but
a subset with extensions. We also only uses the <rdfq:Condition> parts
in the query so its not a full blown RDF thingy. (you can see rdf
query examples in the tarball in the rdf-query-examples folder)
ok. but your datamodel is exactly like RDF: desktop-object has-property
with-value, e.g. (file-abc creation-date 2006/01/01), or (contact
hasName 'jamie') seems exactly the same as the RDF model (subject
has-predicate with-value), which is not so strange, because RDF was
designed to be a simple and generic datamodel and directed graphs are
then a natural solution.
Yes I know all that. There are things about RDF (like hierarchical
types) which I find inelegant and convoluted so i have basically taken a
cleaner simpler approach.
The datamodel is generic enough for RDF use as well as LDAP and other
object databases - they all have a similiar tree like table structure.
I don't mean to say that you should internally use RDF, since e.g. MySQL
is certainly more developed than current RDF databases. But what would
be useful is to align terminology, as you do in the 'shared file
metadata spec'. As you state there, the only requirement is that
metadata names are unique and not overloaded:
If I say 'file-abc is-owned-by EyalOren' and you say 'file-abc has-owner
EyalOren' then we have a problem merging and combining those two pieces
of metadata, and that's why you want to standardise the naming of these
metadata indicators (called properties in RDF).
The thing is that in RDF a lot of work has been done into standardising
exactly such vocubalaries. Such schemas could possibly contain
indications on domain/range of those properties, e.g. has-creator
usually relates files to persons. See for example schemaweb [1] for
some existing schemas (the PIMO schema [2] used by gnowsis is very
relevant, but the document is very long and winded.
If you are interested, I would certainly be interested to figure out how
we can better align the existing schemas in the RDF world with your
'shared file metadata specification'.
Im not sure - I did look at it before and found it too complex for my use.
Of course, if you're not interested in that, I can easily do the
tracker-terminology-to-rdf-schema-vocabulary translation myself, in the
adapter (as we did for evolution data: we mapped it to FOAF [3] and some
other RDF schemas).
okay
The dbus stuff will need Ruby bindings (if they exist?). Queries are
returned via dbus as a native dict/Hashtable with the URI as the key
and an array/list of values as the contents. I expect if you were
going to make use of it you could serialise this into ntriples yourself.
Yes, the triples are no problem, but the ruby dbus bindings are very old
and seem to be deserted. I don't really know how to get that working, I
don't know anything about dbus myself, so I don't see myself writing
those bindings.
All I have seen is http://rubyforge.org/projects/dbus-ruby
Im not sure if the above helps or not but it sounds like it would need
some mods on your part to make use of it.
Yes definitely. If I can get the dbus stuff to work somehow, I can
easily do the rest.
What kind of queries can I send to
org.freedesktop.Tracker.Search.Query? Which subset of RDFQ do you
support exactly?
I will document this in due course. In the meantime please look at the
examples here:
http://cvs.gnome.org/viewcvs/tracker/rdf-query-examples/
Note only the stuff between the <rdfq:Condition> tags is parsed and used
in the next version.
--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]