W3C home > Mailing lists > Public > public-xg-rdb2rdf@w3.org > March 2008

Re: elqraps and hello

From: Andrew Matthews <matthews.andrew@gmail.com>
Date: Fri, 7 Mar 2008 12:13:43 +1100
Message-ID: <bd9d8b3f0803061713o5d6d3117y7a15e5aba851d07@mail.gmail.com>
To: ashok.malhotra@oracle.com
Cc: public-xg-rdb2rdf@w3.org
Sorry Ashok,

I wasn't trying to make your life harder! It's just that the problem you are
tackling is part of a broad class of related problems that are perennial in
application development when bridging between complex systems. The most
widely encountered is in Object Relational Mapping systems, but there are
plenty of others.

For example, mapping the instance data in one ontology onto instances in
another ontology is another example. If the ontologies don't have simple one
to one mappings between their classes or properties, then there *must* be a
need for a generalized version of the owl:sameAs or
owl:equivalentClassrelations. I guess that is the problem I'd like to
see you solving. And I
don't think it's actually that much more difficult than what you're about to
embark on anyway. All I'm really asking you to do is not hard-code it to the
relational domain. If you think of a relational database as a kind of
old-skool way of representing an ontology, then you could cheerfully get
away with terminology like 'class' and 'property' instead of 'table' and
'column'.

As I see it, the mapping problem you have to solve has the following facets:

      *Reference Mapping*: Creating conventions for referring to databases,
schemas, table, columns, SPs etc using URIs. Do you create a URI scheme for
referring to the parts of a database?
e.g., urn:db://SomeUser@MYDB.Somewhere/MyTable/SomeColumn

      *Structure Mapping*: Database models are seldom going to match the
ontological domain. You need to allow the data model and the ontology to
diverge. That means that you must cope with *denormalization* and a lack of
explicit support for *inheritance*. There are several possible ways to do
this in the relational domain that trade off performance against space.

      *Type Mapping*: Creating a type transformation between types on a
given DB platform and in an ontology. This is complicated when there is no
natural type to translate into and out of (the case if you're using XML
Schema to define your own data types).

      *Query Mapping*: Mapping SPARQL[/Update] queries onto SQL commands.
The old dynamic SQL versus SPs debate (that still rages)? If you solve the
above three, this may become easy.

As you can see, these mapping problems apply equally to problems like
ontology-to-ontology mapping, mashups, mapping between objects within the
object domain, data extraction and portability.

If you create general-purpose mapping for each of the above then you'd solve
the problem for rdb2rdf, but you might also solve the *whole class* of
problems en passant. As an example of what I'm driving at, consider the case
of reference mapping (which seems to me to be the key to allowing your work
to be applicable elsewhere). Rather than define mappings in specific terms
of 'Table Name' or 'Column Name' you could create a URI scheme to reference
subparts of a database. In so doing you then can extend the mapping system
to anything that you can reference by a URI (such as a property or class in
another ontology).

WRT Type Mapping: the obvious approach might be to use a look-up table
matching types into and out of some canonical type representation. That
works if you're confined to just one domain. But when you get out of that
one domain, primitive types will proliferate, and you need some other
strategy. I don't think you can get out of solving this anyway! I'm not sure
what the general-purpose declarative solution to this one is. I suppose a
scheme like the SPARQL/XQuery/XPath type casting mechanism might work?

Provided you have a scheme for referencing the sub-parts of a thing, you
should be able to use it with a general purpose mapping table, so that one
falls quite easily. Again, I figure that's something you'll have to solve
anyway.
Regards,
Andrew Matthews


On 3/7/08, ashok malhotra <ashok.malhotra@oracle.com> wrote:
>
> Possibly!  I want to start with a more limited scope to increase our
> chances of getting
> done in a reasonable amount of time.  If you have proposals for a more
> general mapping,
> I'm sure the group would be happy to listen.
> Ashok
>
> Andrew Matthews wrote:
>
> > Hi,
> >
> >
> >
> > Wouldn't it make more sense for this group to focus on a more generic
> > model of mapping one structure onto another?
> >
> >
> >
> > The benefit  being that you could then not only devise an ontology
> > that covers mapping from the ontological domain to the relational, but
> > also onto the object oriented domain. The tasks are essentially the
> > same: providing a mapping from one structure or function to another
> > structure.
> >
> >
> >
> > There are plenty of other areas where a general solution might be
> > useful. Front-end data-binding and mashups come to mind.
> >
> > Regards,
> >
> > Andrew Matthews
>
>
>
> --
> All the best, Ashok
>



-- 
Regards,

    Andrew Matthews
    http://aabs.wordpress.com
Received on Friday, 7 March 2008 01:18:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 7 March 2008 01:18:30 GMT