[Top] [All Lists]

Re: [ontolog-forum] Data, Silos, Interoperability, and Agility

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: Kingsley Idehen <kidehen@xxxxxxxxxxxxxx>
Date: Wed, 25 Sep 2013 13:33:38 -0400
Message-id: <52431E72.40502@xxxxxxxxxxxxxx>
On 9/25/13 12:42 PM, John F Sowa wrote:
> Kingsley and Michael,
> KI
>> I am implying that FOL should be an integral part of the underlying
>> data representation. With that in place you can then use a query
>> language to exploit expressiveness.
>> RDF does enable the incorporation of FOL into structured data representation.
> I'm happy with those two statements. But I would qualify the following:
> KI
>> SPARQL enables you to query RDF model based structured data.
> First, RDF, by itself, has no structure other than triples, of which
> the middle term is interpreted as a dyadic relation.  But the three
> terms could from anywhere and mean anything.    (01)

Yes, naturally.    (02)

> RDFS and OWL are later developments that can be used to define more
> structure.    (03)

They add semantics for:    (04)

1. entity types -- so-called tbox
2. relation types -- so-called rbox.    (05)

>   Or the structure could be implicit in whatever good code
> or spaghetti code that anyone uses to process the triples.    (06)

Yes.    (07)

> Second, a query processor has a more direct connection to the data
> than any program that calls it.  The best SQL implementations have
> very efficient indexing and optimizing methods that cannot be
> implemented by software that doesn't have a direct connection.    (08)

But if you look at the data distinct from the data-processor, you end up 
with structured data based on a model theory (e.g., RDF) and then query 
Processors (e.g., SPARQL processor) for handling queries that produce 
solutions when applied to such data.    (09)

A DBMS product would include physical storage, indexing, and query 
processors (typically including cost-optimizers) that enable it ingest 
and then provide solutions to queries targeting data it manages.    (010)

> Third, SQL is a step backward from Codd's relational model.  People
> have proposed much better query languages and/or revisions to SQL.    (011)

Yes, I posted about this in the past using QUEL as an example [1].    (012)

> Given the difficulties of changing the standard, sophisticated users
> treat SQL as a "cow", in the same sense as Harlan Mills.  Following is
> my recollection of what Harlan said in a talk about operating systems:
> HM
>> Many people have complained about OS/360.  They proposed many ways
>> of improving it or replacing it.  They're probably right.  But I treat
>> OS/360 as a cow.  Just accept it for what it does.  If you put hay and
>> water in one end, you get fertilizer out the other end, and milk from
>> the middle.  If you keep the ends straight, you'll get along fine.    (013)

Yes, but times have changed. The Internet and Web provide infrastructure 
that didn't exist when deductive databases, OODBMS, and ORDBMS products 
took their first cracks at alternatives to SQL RDBMS products, in 
addition to the fact that they all suffered from a kind of myopia that 
made OQL an after though re., importance of a declarative query language 
that one could compare against SQL on an "apples and apples" basis.    (014)

My first introduction to an OODBMS (late '80s) was based on the use of 
C++ to program a thermostat !! At the time, I was a more business 
oriented developer that was coming from a 4GL and SQL RDBMS background, 
I don't even think I knew how a thermostat actually worked at that point 
in time. I was more interested in Customers, Orders, Invoices, Suppliers 
etc..    (015)

As intriguing as C++ was at the time, I knew that the OODBMS push was DOA.    (016)

>>> More precisely, [the SQL WHERE clause] has the expressive power of FOL.
> MB
>> Isn't it possible to use aggregate functions within WHERE ? Aggregate
>> functions are not part of Relational Algebra, which is already FOL.
> That's true.  There are many functions, such as SUM, which are easy
> to implement during the search & retrieval process.  That's another
> optimization that cannot be implemented efficiently by a processor
> that operates only on the results.
> MB
>> Recursive queries from SQL:1999 are widely implemented (e.G. in the Open
>> Source RDB Postgres). So we have First-order logic with a transitive
>> closure operator: http://en.wikipedia.org/wiki/Descriptive_complexity
> Yes.  The term FOL is used for a family of logics with different
> extensions and limitations.  I would prefer Datalog with recursion,
> but the SQL WHERE clause is a useful "cow".
> By the way, Ingres and Postgres were designed by Michael Stonebraker,
> whose QUEL notation for Ingres was far better than SQL.  But he was
> forced to adopt SQL as "Intergalactic Dataspeak" (as he called it).    (017)

Yes.    (018)

> MB
>> SPARQL 1.0 has the expressive power of Relational Algebra, and therefore of
>> FOL: http://www.dcc.uchile.cl/cgutierr/ftp/expressive-power-sparql.pdf
>> So what is the point of your statement that SQL WHERE is as expressive as 
>FOL ?
> Yes, but...  The first "but" is that SQL, for all its problems, is a far
> simpler way to express FOL than SPARQL.  Just look at the first 33 pages
> of that article.
> The second "but" is to look at Appendix III (pp. 35 and 36), which
> specifies the syntax and semantics of Datalog in just two pages.
> The mathematical style of that appendix is rather heavy for most
> programers, but Bob Kowalski taught the Datalog subset of Prolog
> (with recursion) to 12 year old children.  For the examples he
> used and his method of teaching, see the first chapter of
>      Kowalski, Robert A. (1979) Logic for Problem Solving, North Holland,
>      New York.
> Many years ago, I used this as a textbook for teaching Prolog to IBM
> programmers.  Some were confused, but most of them loved it.    (019)

We can teach SPARQL like SQL and have great results. I've already 
performed this experiment with students ranging from 6 - 22, the results 
are startling, and they are the basis for my permarant about RDF (in 
particular) and SPARQL narratives. The beauty of teaching kids is that 
they force you to fix your terminology and construct practical and 
comprehensible examples etc..    (020)

>> BTW - Have a look a this paper:
>>   http://www.theoinf.uni-bayreuth.de/download/pods12submission.pdf
>> On page 11, there is a table that says that SPARQL 1.1 evaluation
>> with current W3C semantics is NP-complete in some cases. I guess
>> this does not automatically make SPARQL 1.1 as expressive as
>> Existential second-order logic but it is interesting.
> The reason is that RDF allows blank nodes, which are the equivalent
> of existential quantifiers.  In relation position, the quantifiers
> range over relations.  But even in argument position, blank nodes
> create computational issues that are more complex than constants.
>>> ... it is essential to design systems for which heterogeneity,
>>> diversity, and interoperability are of primary importance.
> KI
>> That's exactly what RDF based Linked Data is all about. The only
>> problem is  that RDF narratives haven't always made this most
>> important virtue crystal clear.
> I agree that those were the goals of Tim B-L's proposal.  But I blame
> the DAML project for designing systems that require those 36-page and
> 24-page *research papers* to explain the issues that Michael cited.    (021)

Can't argue against that.    (022)

> Just look at Kowalski's book.  He made the Datalog notation and its
> implications crystal clear to children.  I used his book to make those
> ideas crystal clear to IBM programmers whose minds had been warped by
> SQL, IMS, and other atrocities.
> The DAML project could and should have adopted Datalog as their query
> language.  Even with angle brackets, Datalog would be heaven compared
> to the garbage they dumped on the world in 2006.  (I use the word
> 'garbage' as a polite way to express my frustration with people who
> reinvent square wheels when we had beautiful round wheels years ago.)    (023)

I think we can get to Datalog  via SPARQL.    (024)

SPARQL is also a powerful basis for a rules language. Thus, adding a 
"Views" capability to SPARQL basically leads to a powerful rules language.    (025)

We are working on SPARQL Views, once its completed, we will have 
something that delivers a contemporary incarnation of Datalog :-)    (026)

Links:    (027)

[1] http://bit.ly/18zEZQl -- QUEL
[2] http://infolab.stanford.edu/~ullman/fcdb/spr99/lec15.pdf - OQL 
(material on this query language is quite hard to find online) .    (028)

> John
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>    (029)

--     (030)

Regards,    (031)

Kingsley Idehen 
Founder & CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca handle: @kidehen
Google+ Profile: https://plus.google.com/112399767740508618350/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen    (032)

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

<Prev in Thread] Current Thread [Next in Thread>