My first attempt to implement the RDFParserBuilder with Jena seems to work:
https://github.com/stain/incubator-commonsrdf/blob/jena/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java https://github.com/stain/incubator-commonsrdf/blob/jena/simple/src/main/java/org/apache/commons/rdf/simple/AbstractRDFParserBuilder.java https://github.com/stain/incubator-commonsrdf/blob/jena/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java#L33 (I only tested that one variation in the end.. :) Based on Andy's https://github.com/afs/commonsrdf-jena but added as a 'commons-rdf-jena' integration module. If we were to add this to Commons RDF, I wonder if we would need an IP Clearance from Andy, as it's lived a while on GitHub alone - however it already have "Licensed to the Apache Software Foundation" headers. On 27 March 2016 at 20:27, Stian Soiland-Reyes <[email protected]> wrote: > .. RDFParserBuilder JavaDoc: > > https://cdn.rawgit.com/stain/b588d39742ff7ccb3568/raw/8d92f3cbb06500eadf9be2d08b50512f337c2f06/-.html > > On 27 March 2016 at 20:20, Stian Soiland-Reyes <[email protected]> wrote: >> Happy Easter! >> >> Time for some RDF hacking.. >> >> >> I started a draft interface for preparing and running an RDF parser: >> >> >> https://github.com/apache/incubator-commonsrdf/blob/parser-writer-interface/api/src/main/java/org/apache/commons/rdf/api/RDFParserBuilder.java >> >> This builds on a previous idea I had at >> https://github.com/stain/commonsrdf-parser-jena >> and Andy's work at >> https://github.com/afs/commonsrdf-jena >> >> >> An equivalent interface for writers would be pretty much the same but >> with .write(). >> >> >> The idea is that of a builder pattern - so you can set parameters like >> base() and contentType() if you want to - and must call >> one of the source() variants (or any third-party extensions like >> source(URL)). >> >> The parsing happens not until parse() -- which return a >> Future<Graph> -- allowing asynchronous parsing. >> >> If you don't specify intoGraph() or rdfTermFactory() the >> implementation is free to choose what kind of Graph it will return. >> >> >> Then we can try out integrations with Jena, Sesame, JSONLD-Java etc. >> that provide such builders. >> >> I've not thought too much about how you would discover those builders >> or find the right one depending on the format you may want to parse - >> would through the RDFTermFactory.createParser() ? (in which case >> RDFTermFActory -> RDFFactory ) >> >> >> Thoughts? >> >> >> -- >> Stian Soiland-Reyes >> Apache Taverna (incubating), Apache Commons RDF (incubating) >> http://orcid.org/0000-0001-9842-9718 > > > > -- > Stian Soiland-Reyes > Apache Taverna (incubating), Apache Commons RDF (incubating) > http://orcid.org/0000-0001-9842-9718 -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
