- From: Joe Betz <betz@us.ibm.com>
- Date: Wed, 29 Jun 2005 15:38:30 -0400
- To: www-rdf-logic@w3.org
Hi Eric, A while ago a wrote a Java 5 tool that allows Java Beans to exported to RDF in a Jena Model, which ofcourse can then be serialized. For example, public class Person { String name; ... public String getName() { return name; } public void setName(String name) { this.name = name; } .... } can be annotated like so: @RdfSerializable public class Person { static final String prefix = "http://test.ibm.com/tantrum/person/"; static final String namePredicate = "http://test.ibm.com/tantrum/name"; ... String name; Person significantOther; List<String> nicknames = new ArrayList<String>(); int age; @ResourceField(prefix=prefix) @PredicateField(uri=namePredicate) public String getName() { return name; } public void setName(String name) { this.name = name; } .... } Then it can be serialized: Model model = ModelFactory.createDefaultModel(); Person monica = new Person(); monica.setName("Monica"); RdfSerializer.serialize(clinton, model); model.write(System.err); The output is: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:j.0="http://test.ibm.com/tantrum/" > <rdf:Description rdf:about="http://test.ibm.com/tantrum/person/Monica"> <j.0:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Monica</j.0:name> </rdf:Description> </rdf:RDF> I wrote this tool a while ago and it's just a basic proof-of-concept. It does support some list types and can follow object references (and avoid cycles) but hasn't been tested much. I would be happy to put it up as opensource on the Jastor sourceforge page if you think it would be useful to you. Just a couple comments on why we chose to promote Jastor instead of this: Jastor keep a connection with a RDF model so multiple applications changing this data can interact and listen on events through the RDF graph, Jastor puts a focus on an explicit ontological structure instead of one that implicitly defined by the structure of Java classes. Cheers, Joe Betz > Hi Dan, > > On mer, 2005-06-29 at 10:53 -0400, Dan Smith wrote: > > Hi Eric, > > > > You should have a look at Jastor[1], which our group recently Open Sourced > > (new release yesterday b.t.w.). > > > > Jastor is a open source Java code generator that emits Java Beans from Web > > Ontologies (OWL) enabling convenient, type safe access and eventing of RDF > > stored in a Jena Semantic Web Framework model. Jastor generates Java > > interfaces, implementations, factories, and listeners based on the > > properties and class hierarchies in the Web Ontologies. > > > > [1] http://jastor.sourceforge.net > > Thanks for the link, I wasn't aware of this project! > > The approach seems to be quite different from what I am trying to > achieve with TreeBind: in Jastor you seem to be generating classes (not > unlike JAXB in XML land) while I am trying to bind a RDF model to > existing Java objects through introspection. > > Is that also something that could be done with Jastor? > > Thanks, > > Eric > > > > > Cheers! > > Dan Smith > > --------------------------------------- > > Dan Smith > > IBM Advanced Internet Technology Group > > Cambridge, MA > > -- > Read me on Advogato.
Received on Thursday, 30 June 2005 02:20:34 UTC