Re: Some excerpts from AdobeXMP SDK Documentation

At 16:14 25/09/2002 +0300, Patrick Stickler wrote:


>For consideration...
>
> From MetadataToolkit.pdf:

Good idea Patrick.  We needed to do something like this.


>The method UtilityXAP::CompareTimestamps takes as its arguments two property
>"paths" (triples) and compares the timestamps represented in their literal
>objects. This operates directly on the objects, not on any internalized,
>pre-parsed data structures. I.e the literal objects are presumed to denote
>timestamps that can be compared as timestamps, not strings.
>
>There are also numerous methods for retrieving and storing values which
>insulate the developer from any concerns about the lexical representation
>used in the RDF -- i.e. applications using XMP concern themselves with
>the *values* expressed in the RDF, not the lexical forms of their expression
>(though there are, of course, lower level methods for manipulating the
>actual lexical forms themselves, if needed). E.g.
>
>MetaXAP::getTimestamp
>MetaXAP::setTimestamp
>UtilityXAP::GetBoolean
>UtilityXAP::GetDateTime
>UtilityXAP::GetInteger
>UtilityXAP::GetReal
>UtilityXAP::SetBoolean
>UtilityXAP::SetDateTime
>UtilityXAP::SetInteger
>UtilityXAP::SetReal

What we need is an objective test of whether an API implementation is tidy 
or untidy.  We have agreed a model theoretic test, i.e. does

   <a> <b> "foo" .
   <c> <d> "foo" .

entail

  <a> <b> _:l .
  <c> <d> _:l .

If we could express this directly in the XMP api then your suggestion we 
would have an objective test.

We can do this in the jena api.  Given a model with the above triples we 
can write:

   model.contains(c, d, a.getProperty(b).getObject())

In Jena this returns true because Jena is tidy (despite having methods such 
as getBoolean, getInteger etc).

Is there a way to express the entailment directly in the XMP api so we can 
execute the test?

Brian

Received on Wednesday, 25 September 2002 14:26:36 UTC