ontolog-forum
[Top] [All Lists]

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

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: Kingsley Idehen <kidehen@xxxxxxxxxxxxxx>
Date: Tue, 24 Sep 2013 08:51:50 -0400
Message-id: <52418AE6.3060808@xxxxxxxxxxxxxx>
On 9/23/13 3:49 PM, John F Sowa wrote:
> On 9/23/2013 3:02 PM, Kingsley Idehen wrote:
>>> Despite its quirks, the SQL WHERE clause supports full FOL.
>> Yes, but it doesn't get you round the issue of scalable ad-hoc queries
>> that exploit entity relationship semantics.
> Now you are repeating the hopelessly misleading slogans by the
> Decidability Thought Police (DTP).  Please read the following:
>
>      http://www.jfsowa.com/pubs/fflogic.htm
>      Fads and fallacies about logic
>
> This article was published in IEEE Intelligent Systems, of which
> Jim Hendler was the editor.  Jim said that he thought he would hate
> the article (given my comments about the SW), but he said that he
> really liked it.    (01)

Let me a little clearer. The WHERE CLAUSE of SQL isn't a nirvana. It's a 
slot. My issue is all about what you can do within the slot when you 
have an entity relationship model oriented graph endowed with 
machine-comprehensible semantics. A standard SQL RDBMS, ORDBMS, or 
OODBMS doesn't offer the cocktail of semantics fidelity and open access 
that SPARQL delivers for the following reasons:    (02)

1. SQL RDBMS products don't support Reference types as native data types 
-- its a silo by definition with an inability to semantically 
intermingle data across engines from different vendors    (03)

2. ORDBMS products support Reference types as native types, but in a 
none standard way -- they don't support URIs so reference and 
de-reference functionality varies across products from different 
vendors; they also lacked a declarative query language i.e., didn't 
support SQL and OQL arrived when the game was lost    (04)

3. OODBMS products support References as native types but via delegation 
to OO languages -- at the time none of these languages supported URIs 
(they didn't exist) and there wasn't anything like a higher level 
declarative query language since OQL arrived when the game was long lost.    (05)

I specifically provided a SPASQL (SPARQL inside SQL) example to showcase 
what can be achieved in the SQL WHERE CLAUSE when you leverage SPARQL. 
If there is some concrete alternative to what I provided, I am sure 
someone could post and example just as I did.    (06)

A very basic query example:    (07)

-- SPASQL Demo
-- Looking up an Email Address using SPARQL Query like a SQL View en 
route to
-- A resultset modified (conditionally) using CASE WHEN    (08)

SELECT T.email, CASE WHEN
                 CAST(T.email AS VARCHAR) = 'mailto:kidehen@xxxxxxxxxxxxxx'
                 THEN 'Y'
                 ELSE 'N'
           END AS X
FROM (SPARQL
       SELECT DISTINCT ?email
       WHERE {  ?s
                     a <http://xmlns.com/foaf/0.1/Person>;
                     <http://xmlns.com/foaf/0.1/mbox> ?email .
              }
      LIMIT 50) AS T    (09)

>
> Bob MacGregor, who developed LOOM and PowerLOOM -- two of the most
> widely used DL systems before OWL -- said that users *never* ask for
> decidability, but they *always* ask for more expressive power.    (010)

By scale I am not referring to decidability, if you look at Virtuoso, we 
are a showcase for making reasoning conditional and have lots of breaks 
in place for practical reasoning. If that wasn't the case, we wouldn't 
be able to host a publicly accessible data space hosting 51 Billion+ 
triples while also supporting reasoning and inference oriented ad-hoc 
queries.    (011)

By scale I am referring to the inability of pure SQL RDBMS based 
solutions to produce scalable solutions when the underlying data is (as 
Ed articulated nicely) in 5th normal form. If you don't re-engineer a 
basic SQL RDBMS (physical storage and indexing) it simply won't be able 
to deliver acceptable performance inline with data and concurrent usage 
growth i.e., the response times will simply be unacceptable. Remember, 
scalability has always been the fundamental challenge for graph model 
oriented data management.    (012)

To conclude: of course you can exploit FOL via the SQL WHERE CLAUSE, but 
that doesn't make it usable in practical settings that require ad-hoc 
query capability (circa. 2013) where data location disparity, structural 
variety, volume, and velocity challenges are inescapable.    (013)

>
> The DTP excommunicated Bob from the DL priesthood for two reasons:
> (1) he didn't kiss their sacred texts, and (2) his software was
> much more widely used than anything they produced.    (014)

I wasn't trying to head down the DL priesthood path with my comments. I 
am simply trying reiterate the prowess that SPARQL brings to the table 
esp., when used in combination with SQL.    (015)


[1] http://kingsley.idehen.net/DAV/home/kidehen/Public/SPASQL%20Queries/ 
-- folder where (overtime) I will periodically drop SPASQL (SPARQL 
inside SQL query examples)
[2] 
http://kingsley.idehen.net/DAV/home/kidehen/Public/SPASQL%20Queries/email_lookup_and_case_when.sql    (016)

-- first example .    (017)

Kingsley
>
> 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
>   
>
>    (018)


--     (019)

Regards,    (020)

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    (021)

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>