Re: [Tracker] Zeitgeist ontology and Tracker



On 30 March 2011 15:21, Martyn Russell <martyn lanedo com> wrote:
On 22/03/11 23:12, Philip Van Hoof wrote:
o. zg:eventId : We don't allow such IDs in the ontology. And ID means
   that it's referring to something. A "something" is a rdfs:Resource.

   ps. If you want to use integral IDs in your framework, you can use
       tracker:id() on the resource

I agree with Philip here,

Hi Martyn,

Thanks for your input on this matter.

This is slightly problematic I think and may be a major performance
hit unless someone has a really clever solution. Right now the eventId
is the pk in our main table so obviously very fast to do lookups on.
If one needs to correlate it with some tracker:id that probably means
an auxiliary table in the Zeitgeist DB (that would be managed by the
Tracker extension); so an extra indirection for each event you work
with.

Does Tracker has some mechanism like sqlite's lastrowid so it's free
to get the tracker:id after an insert?

o. zg:hasActor: I think it should also be a nie:InformationElement as
   range, but in NEO we apparently didn't fix that. No idea why.

o. The rules for zg:hasActor are in conflict with our own .desktop miner

I see, yes, there is some overlap. IMO, it makes more sense to use:

  zg:actor
       a rdf:Property ;
       rdfs:comment "The application or entity responsible for emitting the
event. For applications the format of this field is the base filename of the
corresponding .desktop file with an app:// URI scheme. For example
/usr/share/applications/firefox.desktop is encoded as app://firefox.desktop"
;
       rdfs:domain zg:Event ;
       rdfs:range nfo:FileDataObject ;
       rdfs:label "actor" ;
       nrl:maxCardinality "1"^^xsd:nonNegativeInteger .  zg:actor

But if you need to use anything other than a desktop file, we might want to
change the range back to rdfs:Resource.

Either way, linking to the urn of the desktop file here makes sense.

Right now we have users with two types of actors apps and services.
Services identify themselves with the basename of their DBus .service
file (so totally analogous to the .desktop case). So I guess this is a
rdfs:Resource?

o. zg:hasEventManifestation: rdfs:type? What is that? rdf:type? In our
   fixed version we just removed this.

Good question, what is that?

The original idea was that events lived in a dual type system and that
they are both and instance of a manifestation and an interpretation.
Fx. event e *is* a zg:UserActivity (manifestation) and e *is* a
zg:CreateEvent (interpretation). So hasEventManifestation is a
subproperty of rdf:type - and the assumption when writing the ontology
was that nie:isInterpretedAs was also a subproperty of rdf:type (which
I've learned it is not). So this is slightly broken on our part.

So (modulo the slight misunderstanding wrt nie:isInterpretedAs) using
rdf:type this way is legal rdf; however according to frade slightly
unorthodox :-)

-- 
Cheers,
Mikkel



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