experimental new module for mapping from rdf_db to owl2_model

6 views
Skip to first unread message

Chris Mungall

unread,
Feb 23, 2011, 6:28:47 PM2/23/11
to thea-o...@googlegroups.com, Jan Wielemaker
I've been having problems with the speed of the existing mapping implemented in owl2_from_rdf, especially where axiom annotations are concerned. This is partly because it maps everything from rdf/3 to owl/4 and then converts the entire rdf database to owl in one go. Doing it this was has some advantages because of the non-monotonic nature of the mapping from rdf to owl2. However, it's a shame not to take advantage of the speed of rdf/3. And for cliopatria it would be very nice to have owl2_model facts on demand from an existing rdf_db

I've added a new file on a new branch:

https://github.com/vangelisv/thea/blob/newrdf/owl2_from_rdf_direct.pl

this is highly incomplete and more of a proof of principle. But the basic idea is to serve up facts like subClassOf/2 directly from rdf_db, without owl/4. At the same time, it should still be possible to compile/materialize an owl2_model from an existing db.

I'm using DCGs for the mapping rules, which provides a nice way of generating the list of triples required to make an axiom or expression.

More details as this matures, it's still a bit of an experiment.

Vangelis Vassiliadis

unread,
Feb 24, 2011, 3:40:48 AM2/24/11
to thea-o...@googlegroups.com, Chris Mungall, Jan Wielemaker
Hi Chris,

I had a look the the code. I think it is in a very good direction and in principle we could generalise to get dynamic owl_model axioms from any
triple store. Regarding monotonicity I do not thing it is a problem for this kind of (query) applications. It is a problem only if you want to materialise
(produce a complete ontology) from a given - static- graph. When you just query a dynamic rdf store for axioms, in my view, you should not even
consume the triples.

Chris Mungall

unread,
Feb 28, 2011, 9:29:32 PM2/28/11
to Vangelis Vassiliadis, thea-o...@googlegroups.com, Jan Wielemaker


On Feb 24, 2011, at 12:40 AM, Vangelis Vassiliadis wrote:

> Hi Chris,
>
> I had a look the the code. I think it is in a very good direction and in principle we could generalise to get dynamic owl_model axioms from any
> triple store. Regarding monotonicity I do not thing it is a problem for this kind of (query) applications. It is a problem only if you want to materialise
> (produce a complete ontology) from a given - static- graph. When you just query a dynamic rdf store for axioms, in my view, you should not even
> consume the triples.

one of the challenges is being able to distinguish triples that are true DL propertyAssertions, and those which are owl syntax. This is useful even for ad-hoc-queries, and consuming the triples gives us one way of doing this.

For I'm getting around that right now by just eliminating any property assertions in which one of the arguments is an entity in the rdf, rdfs and owl vocabularies.

I've made some commits and changed the name to owl2_rdf.pl. Reading and writing are both (partially) supported. Using DCGs turns out to be a nice way of doing a bidirectional mapping.

This is still on the newrdf branch. I'm using it a lot in an existing application and uncovering bugs as I go.

I think the main challenge will be in supporting a mixture of a dynamic rdf_store plus wl2_model facts.

Reply all
Reply to author
Forward
0 new messages