One comment on RDF mapping [related to ISSUE 67 and ISSUE 81]

Hi,

The following was the original question I sent to Boris, Peter, and 
Bernardo. We have had quite some
email discussions.

> The first sentence of 2.1.1: If /ax'/ is translated into a single RDF
> triple s p o, then the axiom /ax/ generates the following triples
> instead of triple s p o.
> I wonder why (s p o) is not generated? I can certainly see the reason
> for NegativePropertyAssertion.
>  
> Generating (s p o) may seem redundant. However, it makes implementation
> a lot easier. From a database's perspective, find (s p o) is a simple
> lookup. Find (_:x rdf:subject s) and (_:x rdf:predicate p) and 
> (_:x rdf:object o) involves quite a few joins.

Note that if one has a huge ontology and *tons* of annotated axioms, 
sifting out those original axioms is going to
be time consuming.

Recently, Boris has suggested a solution as follows.

> One final comment before the issue gets raised.
> 
> One concern of mine was the reverse mapping of axioms: if you find both the nonreified and the 
> reified and annotated axiom, you
> don't know what the original ontology was. Well, here is a possible way to handle this:
> 
> 1. We modify the forward mapping such that, if an ontology O contains both a nonannotated axiom 
> ax and an annotated axiom ax', then we serialize the following:
>
> (a) the nonreified version of ax
> (b) the reified version of both ax and ax'
> 
> 2. We modify the backward mapping such that, if an RDF graph contains both a nonreified version of 
> the axiom ax and a reified version ax', then only ax' is kept.
>
> In this way, the axiom generated in (a) can be used for the semantics. The axioms generated in (b), 
> however, would reflect the actual structure of the ontology.
>
> A slight problem might be that the reverse mapping is nonmonotonic. I could live with that; however, 
> I don't know whether other people can.
> 
> Regards,
>
>	Boris

Thanks,

Zhe

Received on Wednesday, 11 June 2008 15:45:30 UTC