What is the best Java RDFa Parser?

In your opinion, what is the best java RDFa parser?

Advantages and disadvantages of each...

Thanks, Celso.

According to Google (http://www.google.com/#q=best+java+rdfa): java-rdfa.

I agree. :-)

java-rdfa can be used from jena. Simply invoke:

Class.forName("net.rootdev.javardfa.RDFaReader");

Which will hook the two readers in to jena, then you will be able to:

model.read(url, "XHTML"); // xml parsing

model.read(other, "HTML"); // html parsing

-- http://github.com/shellac/java-rdfa

TopBraid Composer has a RDFa parser as well as a fully functional editor. See http://composing-the-semantic-web.blogspot.com/2007/01/topbraid-is-now-also-rdfa-editor.html.

The Jena GRDDL Reader can also be used to process RDFa.

Model m = createMemModel();
RDFReader r = m.getReader("GRDDL");
r.setProperty("grddl.rdfa", "true");
r.read(m,  "http://www.w3.org/2001/sw/grddl-wg/td/hCardFabien-RDFa.html");

The example is taken from http://rdfa.info/2007/05/25/jena-supports-rdfa/.

The GRDDL reader uses Saxon, so I assume the extraction is done via XSLT. This may be a downside, as it might not be as fast as a native RDFa parser and you pull another dependency (Saxon) into your software. A plus is, that it can be hooked into the standard Jena AP easily, without explicitly using non-standard Jena calls.