W3C home > Mailing lists > Public > public-sweo-ig@w3.org > March 2008

Re: Fwd: [Linking-open-data] Drupal 7 to be a major linked data client

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Wed, 12 Mar 2008 13:24:05 -0400
Message-ID: <47D811B5.6060801@openlinksw.com>
To: Ben Lavender <blavender@gmail.com>
CC: Boris Mann <boris@raincitystudios.com>, Arto Bendiken <arto.bendiken@gmail.com>, W3C SW Education and Outreach IG <public-sweo-ig@w3.org>, Dries Buytaert <dries.buytaert@gmail.com>, Miglius Alaburda <miglius@gmail.com>, Linking Open Data <linking-open-data@simile.mit.edu>

Ben Lavender wrote:
> On Tue, Mar 11, 2008 at 5:12 PM, Kingsley Idehen <kidehen@openlinksw.com> wrote:
>>  > The Semantic Web group (http://groups.drupal.org/semantic-web) will be
>>  > one point of of discussion. Other than that, the developer mailing
>>  > list and the issue queue for Drupal core will be the places where
>>  > discussion and code happens.
>>  >
>>  > I have suggested that replacing the File API layer in Drupal core with
>>  > some of the RDF code developed by Arto and Miglius would be a good
>>  > starting point. The File API is a weak point, so attempting to replace
>>  > it in the Drupal 7 development cycle -- and walking in the required
>>  > pieces of the RDF API. The other area is data structures for the
>>  > "content creation kit" aka CCK. See http://groups.drupal.org/node/9572
>>  > for a post of mine linking to the discussion.
>>  >
>>  > Lastly, this is technology available today in Drupal 6 -- so anyone
>>  > can install and kick the tires, and even extend to implement things
>>  > like MOAT on top of the API. It would be great if folks outside the
>>  > Drupal community that have much deeper RDF knowledge could jump in and
>>  > see what works. Plugfests with data being flowed between, e.g.
>>  > SPARQLPress and Drupal, would be another interesting area.
>>  Yes, also note everything I've mentioned applies to 5 (I believe) and 6
>>  :-) I think simply making existing Drupal data available in Linked Data
>>  form, unobtrusively has immense value (to Drupal users and the broader
>>  Linked Data Web / GGG).
> This is very true for a lot of organizations, including the one I work
> for, but there's two important issues that should perhaps be kept in
> mind:
> 1. Switching from MySQL to Virtuoso represents a significant
> architecture change, however painless the EC2 installation process may
> be, and not many folks in the community are going to want to go down
> that path without seeing some clear benefits right away.  

In reality you don't need to switch from MySQL to Virtuoso, because 
Virtuoso is actually a "Virtual Database Engine" that supports multiple 
Data Models (SQL-Relational, RDF-Graph, XML-Hierarchical, and Free 
Text). It's branded as a Universal Server because in addition to the 
aforementioned DBMS realm features, it is also an HTTP Server (like 
Apache) and a Web Services Platform. By the way, it also handles Full 
Text indexing (like Lucene and others).

Based on the above, you would simply Link MySQL Tables into Virtuoso (if 
you must use MySQL) and you're done. Everything I've said about Drupal 
data exposed as RDF Linked Data remains intact, just as it would with 
any other ODBC or JDBC accessible DBMS.

Migrating to Virtuoso is a secondary issue me (see Virtuoso History 
[1]). The evolution of the industry and the associated evolution of Data 
Servers functionality requirements will simply take care of that :-) A 
simple example would be the creation and deployment of RDF based Linked 
Data endowed with de-referencable URIs from a myriad of data sources 
(SQL, XML, Web Services etc.).

> It's
> important to remember that the community is what makes Drupal so
> valuable.  It's a significant challenge to to weigh a powerful new
> architecture element against the distance it could theoretically add
> between an organization and the numerous contributions of the
> community; standards are important to Drupal's cohesion. Your
> contributions here are very cool, but you might want to consider
> working on them within the Drupal community or they are apt to be
> ignored; certainly none of us working on RDF in Drupal had heard of
> them.  Similarly, there's a database layer rewrite scheduled for D7
> (see http://drupal.org/node/225450), and there's some people there who
> would probably be very interested in seeing a copy of D6 working on
Yes, this is what I am seeking to do. My ODBC team will attempt to rich 
out to the Drupal folks so that we can help them with an ODBC based 
implementation. We've done this for Ruby (last year) and we are trying 
to get the PHP folks to reignite their stale ODBC binding efforts.

BTW - We even have a MySQL2iODBC library [2] that allows you to easily 
convert MySQL CLI specific code into ODBC based data access code.

> 2. We're trying to do something a bit more comprehensive than output
> Drupal's data as RDF.  
No, what you are doing is a different aspect of RDF utilization within 
Drupal. You are make Drupal a bona fide consumer of RDF data.
> We're talking about being able to deal with
> triples all the way down, and both in and out.  How explicit that will
> be to developers remains to be seen, but this is something more than
> making another SPARQL endpoint.  
Yes, I do understand that with immense clarity :-)
> We're trying to put the tools to use
> all of those endpoints into the hands of everybody with a Dreamhost
> account, not just those who can keep track of a relatively complex
> application that spans a couple of EC2 machines.  
EC2 is but one deployment mechanism. Please do not misunderstand me. You 
can put Virtuoso in any place you can put any other Open Source DBMS. 
The benefits will travel with Virtuoso, so will the time to recognize 
it's value proposition :-)

Bar the SPARQL and Linked Data Deployment features of Virtuoso, the rest 
of the product has been in place since 1998 (Virtual DBMS) and 2000 
(Universal Server). But I digress, as the Virtuoso and MySQL linkage is 
best understood via the Virtuoso Wikipedia page [3].
> This isn't
> incompatible with what you've done; I imagine that many organizations
> are interested in being able to scale up to something more robust if
> the RDF sides of their Drupal installations take off.

Yes, but the most powerful demonstration of RDF comes down to showing 
how it can make a difference unobtrusively. Thus,  the ability to 
produce RDF Linked Data from existing systems (no re-writing or 
programming) is a benefit that transcends user profiles. For Example, 
imagine the impact for an existing Drupal user that realizes they are 
part of the Linked Data Web / GGG / Semantic Web without doing nothing 
more than understanding that they now have a URI (ID) that Identifies 
them as a Linked Data Web as an Entity of Type Person, and this URI 
shares proximity with their OpenID URL.  In shorter form, imagine having 
something like this without overhauling your Drupal installation: 
http://community.linkeddata.org/dataspace/person/kidehen2#this (a URI 
best experienced via the "Linked Data" tab in the profile page exposed 
by the part of the URI that is actually a FOAF profile document URL).
>>  > Hope that helps present some context. I could probably close by saying
>>  > that the Drupal developer community is a meritocracy -- "Talk is
>>  > silver, code is gold".
>>  We'll we've done the code (last year), so where the vault :-)
> I'd really like to see this code (as I'm sure a lot of us would!).
> Have you posted it somewhere?  There wasn't a link to it on the demo
> site.  (This isn't meant to sound rude--you implied that you've
> submitted this for inclusion in core, and I'm particularly interested
> in seeing your schema).
Virtuoso is Open Source (which includes the declarative RDF Linked Data 
Views of SQL Data ) [4].
OpenLink Data Spaces is Open Source [5].

The only thing that isn't Open Source is the Virtual DBMS layer that 
binds transparently to ODBC or JDBC 3rd party databases.

The relevant OpenLink team members will make contact with the Drupal 


1. http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSHistory
2. http://iodbc.org/index.php?page=mysql2odbc/index
3. http://dbpedia.org/resource/Virtuoso_Universal_Server
4. http://virtuoso.openlinksw.com/wiki/main/
5. http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/Ods

> Ben
>>  Kingsley
>>  > Cheers,
>>  >
>>  > --
>>  > Boris Mann
>>  > http://bmannconsulting.com / http://www.raincitystudios.com
>>  >
>>  >



Kingsley Idehen	      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO 
OpenLink Software     Web: http://www.openlinksw.com
Received on Wednesday, 12 March 2008 17:27:13 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:28:59 UTC