W3C home > Mailing lists > Public > semantic-web@w3.org > August 2012

Re: RDF2RDB 0.5

From: Stephen Williams <sdw@lig.net>
Date: Sun, 05 Aug 2012 23:45:20 -0700
Message-ID: <501F6800.7010504@lig.net>
To: semantic-web@w3.org
On 8/5/12 7:52 AM, Paola Di Maio wrote:
> could be very useful!

The tool is pretty cool and, from the paper, looks useful.  The mapping of property URI to property table name will be 
problematic in some situations.  The number of tables that would result is another potential issue.  Still, if you have a 
powerful relational environment, could be very useful.

What is interesting to me is that the exact same logic that RDF2RDB uses could be used to provide equivalent SQL capabilities 
over a triple / ntuple store while still being an ntuple store.  Things like property tables could be, one way or another, views 
into subsets of triples.

> (anything that avoids the use of sparql must be useful)
> </joke>
>   however, suspect that there is a modelling challenge
> and possibly some software already exists that does that
> modelling challenge:
> to create relational databases,  it is necessary to model data
> ie to define  what to put in columns , in raws, the granularity, and a
> bunch of other stuff, including normalisation (check codds relational
> principles)

Part of the point of RDF / Semantic Web technologies is to avoid the need to do this kind of thing, at least in the same sense.  
Once you can clearly express meaning in a stable, distinct way, it shouldn't be necessary to do this kind of work to decide what 
form it is in for particular applications.

I think it is more correct, in an RDF/Semantic aware context, that to create a relational model:  You have to decide what to 
data elements to group and to think about all of the queries you might want to do in the future.  You then have to create 
columns that can be used to do those queries.  If you are starting with RDF/semantic data, you then throw away all of the 
relationships in the data because that is modeled implicitly in a normal / normal form relational model.  Or the relationships 
all become their own tables, as this tool models it.  Relational models take more human effort because you have to anticipate 
how they are going to be used to know how to arrange data and what to model implicitly, through join queries etc.  When you only 
have a few data objects that you bother to put into a database, this seems reasonable.  It is a lot less reasonable when you 
have a lot of variability and start thinking of representing everything in a database / knowledge base.

You can model triples in relational tables as triples, as Oracle and others do [1], but that is explicitly not a normal / 
traditional relational model.
[1] http://download.oracle.com/otndocs/tech/semantic_web/pdf/rdfrm.pdf
> this is conceptual work that only an intelligent and trained human can
> do (that I know of) and even so, its hardly 'right' or 'wrong' rather
> a function of purpose (variable, not standardizable)
> RDF, from what I know, is typically unstructured data
> (unless it has been RDFIZED form data previously modelled and
> extracted from DBs, but I assume this is not the kind of RDF that you
> are targeting here)

Of course you can use either structure to contain any kind of data or data structure one way or another.  In the way they are 
meant to be used:
I would never think of RDF data as being less structured than relational data.  It is the opposite: You can easily model all of 
the data in a relational model, plus explicitly represent all of the relationships between data plus use a system of globally 
shared semantic concept URIs.  You could say that RDF has a flexible, not narrowly fixed and predefined structure.

>   what you propose, as I understand it, could be useful if you can get
> the system to model/represent rdf unstructred into
> meaningful/structured relational data
> If however you could come up with a web service that enables a user to
> create structured data models from unstructured ones, then I think
> that would be groundbreaking work and I d love to see something
> (unless its already available and I am not aware of it then please point)

In the long term, there's little point in putting data in relational tables except A) to implement a triple store / semantic 
model underneath or B) to interface with legacy systems or software that operate only on relational queries.  Everything that 
you can do with SQL could be done over an RDF/Semantic model, plus a lot more.  Any existing performance shortfall on the 
triplestore / SparQL side can be fixed, especially if you just want to query over relational-level data (highly homogenous 

> cheers
> On Sun, Aug 5, 2012 at 2:03 AM, Michael Brunnbauer <brunni@netestate.de> wrote:
>> hi all
>> to support the proliferation of RDF, I have begun work on a tool to convert
>> RDF data into relational databases. It is intended for people who want to use
>> data available only as RDF but do not have the patience to install a triple
>> store and learn SPARQL. I know there are tools that present a SQL view
>> over a triple store but installing such an environment also is quite
>> challenging.
>> There has been work on real "converters" in the past, especially the paper from
>> Wajee Teswanich and Suphamit Chittayasothorn:
>>   http://hcotuk.etu.edu.tr/semanticweb/A%20Transformation%20from%20RDF%20Documents%20and%20Schemas%20to%20Relational%20Databases.pdf
>> My tool works much like the one described in this paper (has it ever been
>> implemented ?), with important differences:
>> -It supports incremental runs (adding more RDF data to a database later)
>> -It supports entailment (rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain,
>>   rdfs:range, owl:equivalentClass, owl:equivalentProperty,
>>   owl:FunctionalProperty)
>> The software is written in Python and uses the RDFLib Python library. It works
>> with local and remote files. You can find more information and download it at
>>   http://www.netestate.de/De/Loesungen/RDF2RDB
>> There also example database dumps for
>>   http://www.w3.org/People/Berners-Lee/card.rdf
>> and
>>   http://www.w3.org/People/Berners-Lee/card.rdf
>>   +
>>   http://xmlns.com/foaf/spec/index.rdf
>> there.
>> Don't rant about the invalid skolem URIs - you can set the skolem URI prefix
>> to something valid in the configuration :-)
>> So far this has just been fun and I would like to have some feedback on the
>> usefulness before I spend more time on it.
>> Regards,
>> Michael Brunnbauer
>> --
>> ++  Michael Brunnbauer
>> ++  netEstate GmbH
>> ++  Geisenhausener Straße 11a
>> ++  81379 München
>> ++  Tel +49 89 32 19 77 80
>> ++  Fax +49 89 32 19 77 89
>> ++  E-Mail brunni@netestate.de
>> ++  http://www.netestate.de/
>> ++
>> ++  Sitz: München, HRB Nr.142452 (Handelsregister B München)
>> ++  USt-IdNr. DE221033342
>> ++  Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer
>> ++  Prokurist: Dipl. Kfm. (Univ.) Markus Hendel


Stephen D. Williams sdw@lig.net stephendwilliams@gmail.com LinkedIn: http://sdw.st/in
V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407
AIM:sdw Skype:StephenDWilliams Yahoo:sdwlignet Resume: http://sdw.st/gres
Personal: http://sdw.st facebook.com/sdwlig twitter.com/scienteer
Received on Monday, 6 August 2012 06:45:47 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:33 UTC