Re: Semantic of the language

Hello Juan,



On Sun, 2010-03-14 at 12:46 -0600, Juan Sequeda wrote:
> [1] The Expressive Power of SPARQL
> http://www.dcc.uchile.cl/~cgutierr/papers/expPowSPARQL.pdf

> [1] states that SPARQL and non-recursive safe Datalog have the same
> expressive power.

Yes of course.
OTOH non-recursive safe Datalog is simply not sufficient in real life,
that's why there's a need in a recursive and unsafe Datalog with
numerous tricks in all areas, from arithmetic more complete than
Presburger's one to special tricks for special datatypes to built-in
magic predicates of all sorts.
SPARQL 1.0 demonstrates similar gaps in functionality.
Both SPARQL 1.0 and minimal Datalog are good technology demonstrators
and good starting points for newbies but they can not satisfy industrial
needs without extensions.

> [2] Translating SQL Applications to the Semantic Web
> http://userweb.cs.utexas.edu/~jsequeda/sql2sw_dexa2008.pdf

>  [2] shows FOL rules, which can be implemented in Datalog in order to
> automatically generate a rdf schema or owl ontology from a rdb schema.

Again, nice technology demonstrator but the paper properly mention the
assumption:
"the relational schema is normalized, at least up to third normal form"

The real schema is usually what I name "2.5 normal form", denormalized
for speed, with cryptic enumerations, with historical peculiarities and
to crown it all, with more accurate description of the world than
surrounding applications need for interop.
While 2.5 form and enums can be resolved by simple views and translation
functions, the difference in accuracy requires both complicated built-in
mapping functionality (at least "rules with exceptions") and handwritten
procedures.

Example 1. Border control database uses integer values for field "sex"
of passport's bearers, in range 1 to 5, not counting NULL.
That is simple case only if we translate 1 to "M", 2 to "F" and ignore
everything else when export.

Example 2, more complicated one, is fetching of a list of countries from
some database of the department of foreign affairs.
What you need is a list of statements like <Russia> rdf:type <Country> .
But in the database, Country is simply not a type.
There's a relation "subject ?A treats subject ?B as an independent
country from the moment ?C" (and, optionally, "to moment ?D") and
different applications will need different projections of this relation
to the ?B axis.

As a result, automated DDL-to-OWL is more for making sketches of
translations, not for obtaining final versions, and if a mapping
language is sufficient for such a sketching then there's no warranty
that it is also sufficient for the production --- even if we do not
mention performance hints etc.

Best Regards,

Ivan Mikhailov
OpenLink Software
http://virtuoso.openlinksw.com

P.S. As usual, this is my personal opinion, not an opinion of any W3C
group.

Received on Monday, 15 March 2010 07:09:20 UTC