Tripresso
From semanticweb.org
Under the name tripresso a group of researchers discusses issues and tools for mapping RDf to the OO-world in Java.
Contents |
[edit] Logo Ideas
[edit] Participants
- Max Völkel (voelkel/at/fzi.de), Karlsruhe, tool: RDFReactor
- Sven Schwarz (schwarz/at/dfki.uni-kl.de), Kaiserslautern, tool: RDF2Java
- Henry Story (henry.story/at/bblfish.net) , Berlin, tool: Sommer
- Peter Mika FOAF, James Leigh, tool: Elmo
- Sherman Monroe (sdmonroe/at/gmail.com) contributor
[edit] Process
We want to explore how or if we can combine our efforts to create fewer, better tools for mapping RDF to OO and back again.
Peter: My fear is that each triple store has a number of extra features and in some cases not using these features would hurt functionality or performance. (That said I dont' know RDF2Go and what it does in this respect.)
Max: It seems, we might need to agree on something like RDF2Go in order to overcome the triple store dependency. The currently proposed API can be inspected here.
Some tools generate Java code/interfaces from ontologies
- we could agree on some annotations here
Some tools generate ontologies from Java
- we could agree on some annotations here
Some tools use annotated Java with RDF
- we could agree on some annotations here
- James: Elmo and Sommer use very similar @rdf annotation, but Elmo annotates methods on Java interfaces and Sommer annotates fields on Java classes.
[edit] What do we offer?
[edit] RDF2Java
- good command line
- generates code from RDFS
[edit] Sommer
- runtime via byte code rewriting
- no generation of code
- uses Java annotations
- store: Sesame
- vocabulary: any URIs
[edit] Elmo
- BSD, Java 5.0, store Sesame (generic API);
- Additional functionality on top of the triple store: predictive caching (preloading properties and saving query results for future queries), query expansion (for handling owl:sameAs), dealing with metadata (reification) ;
- JavaBeans concepts for a number of well known web ontologies including Dublin Core, RSS and FOAF;
- Dynamic Runtime JavaBean creation based on RDFS/OWL;
- A set of tools related to the supported ontologies, including an RDF crawler, a generic smusher framework and a generic validator framework, with various smushers and a validator specific to FOAF;
- Code generation using Groovy script template;
- Elmo uses annotated Java interfaces, which are implemented by dynamic classes at runtime using Javassist.
[edit] RDFReactor
- generates code from RDFS
- experimental, partial generation from OWL
- cardinality constraints
- store: via RDF2Go Jena, Sesame and YARS are supported
- uses Velocity for template generation
[edit] Related Work
other Java-RDF-OO-frameworks
- Kazuki (Java)
- Protégés Ontology Bean Generator (Java)
- Automatic Mapping of OWL Ontologies into Java (CiteSeer) - paper, code availability currently unclear (to me)
diverse relational DB-Mapper:
- Hibernate
- SDO
- Java Persistence API (JPA)
- D2RQ maps DBs to RDF
diverse XML bidings
- JAXB or JAXP - which one?
related generic Java tools
[edit] Related Work outside the Java world
Ruby
- ActiveRDF, works nice with Ruby on rails
Python
PHP

