Re: OODBMS <-> RDF

Hi!

This is *very* interesting. I am behind Oort [1] (which Jesse
mentioned). One of the ideas driving it is to have a mapping *both*
back and forth between object and RDF graphs. Since it's Python, there
may be some ground for what you're after. Specifically, Oort today
allows you to construct RDF from Python dict/list/atomic value
structures [2] (isomorphic to JSON, which you can load directly via
simplejson). If you can get these structures from the ZODB, I hope
Oort will take you to the RDF you need.

A missing piece of the puzzle is generating mappers directly out of
OWL schemas (and possibly vice versa). But these mappers also
represent queries/aspects, which are more ragged and mixed, so this
merits more investigation.

.... Going further and beyond...

In a wider sense, the Oort ("Out Of RDF Transmogrifying") idea right
now is a tiny beginning of what I feel can be a promising way of
bridging the gap between RDF and current pragmatic ("less is more")
approaches that have emerged, such as microformats and JSON (along
with the nascent ideas of schemas for those, as proposed by James
Clark [3, 4] and e.g. the Mozilla team [5]). Much of what is discussed
regarding Atom extensions [6] also seem (to me) to point towards a
need for formalism "reduction" to fit more narrow contexts (by which I
mostly mean to reuse OWL ontologies in simpler scenarios, where I'm
afraid proper RDF continues to be "beyond the horizon").

I do think RDF is a "grand unifier" for modelling, but it seems that
for many specific contexts, it is viewed as "too formal" to get
traction. It's not impossible, but hard, to sell RDF as a perfect
match for smaller/local data syndication efforts. This poses the risk
of continued reinvention of many things RDF solves very well
(precision, I18N, data- and resource typing etc.). I believe that any
given context provides assumptions and locality (of terms etc) that
makes the decontextualized data which RDF is about *seem* superfluous.
But that next step is then always left unresolved, causing all these
integration problems that I assume many of us Semantic Web followers
see a solution for in RDF, OWL, SPARQL etc.

Basically, I consider simpler representations to be wrapped in context
to reduce formal details, and I am convinced that that can be mapped
to the RDF data model rather unobtrusively. How is what I've only
begun scratching on the surface of..

I've wanted to get the time and energy to pitch this more formally,
but haven't gotten around to it much (more than with this message, and
a related blog post [7] last year).

Where to go further then? I'd gladly invite you to join
<http://groups.google.com/group/oort>, which due to nigh zero activity
I'd happily recast from a python toolkit focus into the more general
vision I described above. Not the least since my scope has widened to
plans for e.g. a javascript version of the Oort mapper, as well as
examination of the Elmo [8] effort from the OpenRDF/Sesame people,
which looks very similar to this. Granted, I do not have the
experience yet to organize larger community efforts, so perhaps some
other form would work better? I'm happy to join any party interested
in this.

(By analogy, this can be related to things as diverse as the relative
merits of dynamic, static and inferred typing in programming, ORMs for
RDBMSs, CouchDB-like technology, etc. Akin to "how to have the cake
and eat it too".. I believe we can do this. With insulated layers,
each simple and formal, as in many other cases.)

Best regards,
Niklas

[1] <http://oort.to/>
[2] <http://oort.to/oort_api/oort.test.test_rdfview-pysrc.html#test_from_dict>
[3] <http://blog.jclark.com/2007/04/do-we-need-new-kind-of-schema-language.html>
[4] <http://blog.jclark.com/2007/04/xml-and-json.html>
[5] <http://developer.mozilla.org/en/docs/Describing_microformats_in_JavaScript>
[6] <http://www.imc.org/atom-syntax/mail-archive/threads.html#20299>
[7] <http://dustfeed.blogspot.com/2007/01/knowledge-bits-and-pieces.html>
[8] <http://openrdf.org/doc/elmo/1.0-beta2/user-guide/>




On Jan 26, 2008 12:12 AM, Jesse Erdmann <jesse@jesseerdmann.com> wrote:
>
> The only other D2R like software I'm aware of is Squirrel RDF,
> http://jena.sourceforge.net/SquirrelRDF/.  I don't know of any support
> of ZODB.  Is something like RDF Alchemy,
> http://www.openvest.com/trac/wiki/RDFAlchemy, or Oort,
> http://oort.to/, similar to what you're looking for?
>
> 2008/1/25 José Pedro Ferreira <jose.pedro.ferreira@cern.ch>:
>
> > Hello.
> > Yes, I know that RDF can be seen as object-oriented. But... I'm not
> > considering if it is possible to display OO data using RDF, but rather
> > how to make this translation in a smooth, fairly automatic way, without
> > having to write enormous amounts of replicated code, and taking
> > advantages of the similarities that exist between the two models. It's a
> > matter of "translation techniques".
> >
> > Cheers,
> >
> > Pedro
> >
> > cdr escreveu:
> >
> > > On Fri Jan 25, 2008 at 02:34:28PM +0100, Jos? Pedro Ferreira wrote:
> > >
> > >> Hello.
> > >> I need to make data stored in an object-oriented (ZODB) database available
> > >> as RDF. I've been looking for existing architectures and mapping
> > >> techniques, and eventually found D2RQ
> > >> <http://www4.wiwiss.fu-berlin.de/bizer/D2RQ/spec/>. The problem is that
> > >> D2RQ seems too much oriented towards the relational paradigm.
> > >> Is there any research done on this particular area? I've been thinking
> > >> about something similar to D2RQ, but object-oriented. However, I'd like to
> > >> know if there's any work already done about this subject.
> > >>
> > >
> > > your OOobject is your RDFsubject, your OOobject property is your RDFpredicate, and your OOobject property's value(s) is/are your RDFobject(s) (mind the nameclash)
> > >
> > > your OOobject have URI fields, of course.
> > >
> > > this also works with JSON.. which can be thought of as an OOobject serialization, and compatible with RDF so long as your property-symbols are URIs and each JSONobject has a URI property
> > >
> > >
> > > theyre pretty much identical. even RDFs with its subclassing and subtyping is an OO model.. replace 'object' with 'resource' in the literature
> > >
> > >
> > >
> > >> Thanks in advance,
> > >>
> > >> Pedro
> > >>
> > >
> > >
> > >> begin:vcard
> > >> fn:Jose Pedro Ferreira
> > >> n:Ferreira;Jose Pedro
> > >> org:CERN;IT-UDS-AVC
> > >> adr:;;;Geneva;;;Switzerland
> > >> email;internet:jose.pedro.ferreira@cern.ch
> > >> title:Software Developer
> > >> tel;work:+41 22 76 75025
> > >> tel;cell:+41 763 045 795
> > >> x-mozilla-html:FALSE
> > >> url:http://www.zarquon.biz
> > >> version:2.1
> > >> end:vcard
> > >>
> > >>
> > >
> > >
> > >
> >
> >
>
>
>
> --
> Jesse Erdmann
> jesse@jesseerdmann.com
> Twitter: http://twitter.com/jesseerdmann
> Blog: http://blog.jesseerdmann.com/
>
>
>

Received on Saturday, 26 January 2008 22:04:03 UTC