- From: Eric van der Vlist <vdv@dyomedea.com>
- Date: Thu, 30 Jun 2005 08:42:03 +0200
- To: www-rdf-logic@w3.org
Hi Joe,
On mer, 2005-06-29 at 15:38 -0400, Joe Betz wrote:
> 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>
This seems to be yet another slightly different approach to RDF
binding...
> 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.
For the limited features I have in mind right now (as explained in my
blog), that shouldn't be necessary as the coding seems to be very
straightforward. OTH, this can be a useful example for many
applications.
> 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.
Yes, that makes sense too. I guess that all that depends where you're
starting from. If you start designing an ontology a Jastor like approach
saves you the time to write your Java classes from scratch but if you
start with a set of existing classes and design your RDF model from
these classes, an approach like TreeBind or the one you're proposing
here make sense.
Thanks,
Eric
--
Weblog:
http://eric.van-der-vlist.com/blog?t=category&a=English
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
Received on Thursday, 30 June 2005 06:42:22 UTC