Came across RDF2Go today, basically a JDBC-like layer for RDF triple
stores in java, which would allow us to be triple-store neutral and
allow easier performance testing across various containers.
Has anybody tried it? Are there severe performance drawbacks?
Thanks in advance.
--
Stefano Mazzocchi
Research Scientist Digital Libraries Research Group
Massachusetts Institute of Technology location: E25-131C
77 Massachusetts Ave telephone: +1 (617) 253-1096
Cambridge, MA 02139-4307 email: stefanom at mit . edu
-------------------------------------------------------------------
attached mail follows:
Hi,
today we released [1] a new version of RDF2Go [2],
a simple wrapper over Java triple stores, similar in spirit of
Jakarta Commons Logging.
It allows developers to un-tangle their semantic web applications
from a specific store and thus profit from using always the best
store (performance, features).
RDF2Go currently comes with adaptors for:
----------------------------------------
- Jena 2.2 (bug with arbitrary non-XSD datatypes in literals)
- Jena 2.3
- Sesame 1 (has no SPARQL support)
- Sesame 2 (bug in Sesame2: Context URL cannot be retrieved.
Queries don't work yet.)
- YARS (language tagged literals bug, YARS adapter currenlty
refactored by YARS developer Andreas Harth. SPAQRL not supported.)
- NG4J (no SPARQL support in adaptor, TRIQ available)
- JCR (with JackRabbit)
All adaptors incl. all needed libraries can be downloaded from [1].
Writing new adaptors is easy, only 6 methods have to be implemented.
Features:
--------
- add and remove triples with one-method-call
(this is almost like the patented one-click-shopping)
- query for triple patterns
- SPARQL (not all stores support it)
- full support for quad stores
- built-in URIs for RDF, RDFS, XSD
- NO support for parsing: use the supplied parser from the
triple stores instead. We don't re-implement everyhing.
RDF2Go maps RDF to Java as follows:
----------------------------------
uri - java.net.URI
blank node - org.ontoware.rdf2go.BlankNode
plain literal - java.lang.String
language tagged literal - org.ontoware.rdf2go.LanguageTagLiteral
datatyped literal - org.ontoware.rdf2go.LanguageTagLiteral
This allows to add statements as simple as
// assume some URIs have been created
URI mike = new URI("urn://mike");
URI foafName = new URI("
http://foaf.com#name");
// add triple
model.addStatement( mike, foafName, "Mike Müller" );
Further Information
-------------------
- More about the workflow using RDF2Go can be found at [2].
- A paper describing RDF2Go in brief can be found at [3] (skip other
sections).
- There are a number of related approaches, but to our knowledge
none is a simplistic and comes with such a large number of
adapters. Related approaches are KPOntology [4], Trippi [5] and of
course the inventor of all these [6].
References
----------
[1]
http://ontoware.org/frs/?group_id=37&release_id=173
[2]
http://rdf2go.ontoware.org
[3]
http://m3pe.org/seminar/voelkel.pdf
[4]
http://kpontology.isoco.com/download.html
[5]
http://trippi.sourceforge.net/
[6]
http://www-db.stanford.edu/~melnik/rdf/api.html
Gimmick
-------
The first person who emails me and wants to write an adaptor for
another triple (or quad) store gets my immediate personal support
;-)
Kind regards,
Max Völkel
--
Dipl.-Inform. Max Völkel, Universität Karlsruhe / FZI
http://nepomuk.semanticdesktop.org
voelkel_at_fzi.de +49 721 9654-854 www.xam.de
Workshop on Semantic Wikis: http://semwiki.org - Deadline Extended!
Received on Thu Mar 09 2006 - 17:13:58 EST