- From: Henry Story <henry.story@bblfish.net>
- Date: Mon, 15 May 2006 14:54:52 +0200
- To: Max Völkel <voelkel@fzi.de>
- Cc: Semantic Web <semantic-web@w3.org>, users@sommer.dev.java.net
On 15 May 2006, at 13:59, Max Völkel wrote: > Hi Henry, > > please check out whether RDFReactor [1] does already what you need > It assumes you start with an ontology (RDFS or OWL) and generate > Java code from that. RDFReactor is good, and it was a great improvement for the end user over direct utilisation of frameworks like Sesame and Jena. But I am looking for something that is even easier to understand, even more flexible, something that could in the long term replace EJB3.0 [4] because of this simplicity, flexibility and sheer ease of use. Sommer could easily be a subset of a future RDFReactor. I am thinking of Sommer as the core of any such mapping framework. Currently I am working with James Leigh and Peter Mika of the Elmo [0] project to see if we can agree on the core annotations required for such a mapping tool. You may want to participate by joining the users@sommer.dev.java.net mailing list. Once the annotations are agreed on, people can compete on implementations, by using different AOP tools, different frameworks, etc... Essentially we need very little: an @RDF(url) annotation and an @Multiple or @Functional (we have not quite decided on this). (see the recent mailing list discussion). [2] > Java instances act as proxies over the RDF > triple store, so they are always in-sync with the data. The > resulting code is very clean, documented and usable even by non-RDF > people (at least, that was the intention). Yes. It does that very well. What I want to do is to push this a lot further so that a few annotations and a standard factory interface would be all that is needed. Essentially if possible it would be nice to get to a point where we have something a lot simpler than EJB3.0. [4] > Using Java dynamic proxies per se doesn't make a developers life > easy. I used this in the beginning, but debugging got much > trickier, as the debugger cannot relate bugs in a dynamic proxy to > other parts of the code. Second, mapping the full inheritance > tree to Java > inheritance seems nice, but does not bring much benefits. You can > simply call "x.isInstanceOf( y )" in RDFReactor and get an answer > based on *the current state of the data*. It would be interesting to compare the classes generated by RDFReactor to my example classes for the AtomOWL ontology [5] which I have coded up in the eg.test.atom [3] directory. I think you will see that the Sommer classes are a lot simpler to understand, that the mapping is a lot cleaner and that it gives the user a lot more flexibility in how he develops his objects. This happens because Sommer jumps to the core of the similarity between java and rdf: both are graphs. > The idea to use Java annotations to model the bindings to URIs is > nice. Maybe something to be explored in future versions of > RDFReactor. It would be great if we could agree on the annoations to use, so that people writing objects would just need to use these annoations, and that they could then switch between frameworks. I'd love to hear from you on the users@sommer mailing list. > > [1] http://www.aifb.uni-karlsruhe.de/Publikationen/showPublikation? > publ_id=1213 > [0] elmo subproject at http://openrdf.org/ [2] https://sommer.dev.java.net/servlets/ProjectMailingListList [3] https://sommer.dev.java.net/source/browse/sommer/trunk/test/src/ eg/test/atom/ [4] http://www.jcp.org/en/jsr/detail?id=220 [5] http://bblfish.net/work/atom-owl/2005-10-23/ > Kind regards, All the best, Henry > > Max Völkel > -- > Dipl.-Inform. Max Völkel, Universität Karlsruhe / FZI > nepomuk.semanticdesktop.org > voelkel@fzi.de +49 721 9654-854 www.xam.de > > First Workshop on Semantic Wikis: http://semwiki.org > > >
Received on Monday, 15 May 2006 12:55:00 UTC