OOP mapping / ORM solutions for Java

A project I'm working on is going to be shifting to a triple/quad-store backend for storing RDF data. We're still evaluating triple/quad-stores but I'd like to start moving forward with the actual development and plug something in at a later date.

From my initial foray into the research, it looks like using an OOP mapper or RDF ORM might allow us to move forward with development and switch out the triple/quad-store easily. Is there a clear winner in this space? Can someone provide some pro/cons?

I've come across:

Anything I'm missing? Other ideas?

Edit 1
Adding additional resources discovered from answers below.

One RDF-OO mapper that hasn't been mentioned is Henry Story's So(m)mer.

I'm hesitant to recommend the mapping approach. We've used DAOs and beans in some java projects over SPARQL. The advantages are familiarity, and of course beans are the common currency of java frameworks. You can immediately exploit a wealth of convenient tools like spring MVC validation, and it won't be unfamiliar to the average java programmer.

The disadvantage is that it is harder to use RDF in a natural way. Pulling in disparate data sources and merging, the schemaless aspect of RDF stores, don't work that well when forced into beans. New data sources (with new properties) were like a traditional relational schema update issue, so rdf didn't look any better than well established RDBs. Our beans also tended to return lists all over the place, because rdf properties can have multiple values.

Currently we're using an RDF api locally (jena), and using SPARQL DESCRIBE over http to talk to the RDF database (this is very simple in jena, and I imagine other RDF toolkits). We use joseki and tdb, but 4store and other sparql stores would work identically. Now some schema changes may still require some new code, but most don't at all. We just move the data through to the view layer.

Of course we lose many of the advantages of the bean approach, but we've found it a more effective way to use RDF.

If you're a Jena developer, jenabean might be worth a look. It works against Jenas Model API, so it should be easy later on to plug in one of the two jena backends (SDB,TDB) or use some wrapper to interact with another RDF store (SAIL,AllegroGraph).