I know there have been several similar discussions on this topic, but my idea was to try to gather not just pure references to relevant projects, but the real-world EXPERIENCE using different state-of-the-art Java libraries for RDF to POJO mapping and manipulating those data. So, I'm asking you: what was your experience using and developing with following frameworks (please update the list if something is missing)?
I think important factor should be that the project is still under development, so I didn't include a project which has the last commit over one year old. Also, good documentation should be taken into account.
Essentially this binds POGO's to a Jena model. Some of the things it covers include:
binding properties in a class to more than one term in a vocabulary
binding at event change time (using a meta class with a property change listener), then enabling a developer to operate both on the object and the underlying RDF model.
Providing a framework and convention to enable more advanced binding i.e when a domain class does not align naturally with vocabulary.
Association with other RDF POGO's
Aside from the binding mechanisms, it also includes persistence (CRUD) operations based on a jdbc driver for SPARQL:
What it definitely doesn't do is reverse engineer an ontology into a class package, something I would approach with caution, but might be a approach you would consider adding to your list (see Jastor below)
Issues: data in the triple store must conform to the annotations, or you will get RuntimeExceptions (e.g. if the value is declared as being a date, but is not, or if there are multiple values, but the mapping is to just one element).