You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2012/11/18 12:57:19 UTC

Re: RIOT reader - new reader system for Jena.

I have now moved the RIOT reader functionality into jena-arq.  Sorry 
about the cascade of commits - there is something about deleting and 
moving directory trees in svn that I don't "get" svn and I end end with 
various fixups needed after a failed large modification to a code tree.

I went for the simplest option - the code is moved into ARQ and wired in 
when RIOT is initalized.  That happens when ARQ is touched so it does 
not yet apply when jena-core only code is used.  That can be short-term 
fixed by a reflection call in Jena runtime initialization and long-term 
but reorg of the code structure.

At present there is duplication/redundancy/replication of code across 
org.openjena.riot and org.apache.jena.riot (e.g. you can find classes 
with "2" in their name which are replacements).  But with the code 
merged, it's a matter of going through in small tasks to clean-up.


The external effect is a lot of code to make:

    model.read("http://people.apache.org/~andy/RIOT-test/D.x")

and

    model.read("http://people.apache.org/~andy/RIOT-test/D.ttl")

work by content negotiation.

(my .htaccess has, for testing:
    AddType  text/turtle             .x
)

except at the moment .../D.ttl does not work when there is no MIME type 
declaration.  There's a switch to make text/plain to instead look at the 
file name extension and, after some more testing, that will probably be 
better.

Getting the fine details of what to do when remote configurations are 
messier than what the standards describe will be needed but that's life 
on the web.

It is also a lot easier to add new languages to the reader system 
(JSON-LD? or converters like CSV->RDF) from code outside the Jena codebase.

	Andy