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

Reply via email to