Hi Andy, This is Jena 3.6.0. Lewis
On 2018/03/07 10:59:42, Andy Seaborne <[email protected]> wrote: > Lewis - which version? Do yo have all the apache-jena-libs jars on the > classpath? RIOT rewirers Jena model reading. > > Also, there was an issue around redirect and remapping but it's fixed. > > Andy > > On 07/03/18 08:57, Dave Reynolds wrote: > > I can't tell from the trace whether you are mapping the import URLs to > > local files or are loading directly from the URL. If loading from local > > files then you really need suffixes on those. I'll assume you are > > loading from the URL ... > > > > OntModels use a somewhat older stack of tools (FileManager) which > > guesses the language based on the suffix, with a default of RDF/XML, and > > then relies on content negotiation to deliver the guessed format. Since > > your resources don't support conneg and don't support RDF/XML (the > > official default) that's not going to work. > > > > One option might be to create a subclass of FileManager which overrides > > readModelWorker to either load the data via the newer RDFDataMgr which > > has more sophisticated conneg support, or to change the default syntax > > to Turtle. Then install that FileManager in the OntDocumentManager you > > use for your loading. > > > > Dave > > > > > > On 07/03/18 04:28, lewis john mcgibbney wrote: > >> Hi Folks, > >> > >> Over on the SWEET ontology suite [0] we recently changed out canonical > >> serialization to TTL. Additionally however, we removed all file suffixes > >> from the resources themselves, therefore although the following resource > >> [1] is serialized as TTL, you would never know unless you looked at it or > >> peeked into the server response. > >> > >> I am experiencing issues when I attempt to load the SWEET 'master' file > >> [2], which essentially produces a graph by importing every file within > >> the > >> ontology suite. The code I use to do this is as follows. > >> > >> ((OntModel) m).read(url, null, lang); //Where lang is the string "TTL" or > >> "TURTLE" depending on previous logic. > >> > >> The stack trace I get is as follows [3] > >> > >> As you can see it loads the sweetAll file correctly but chokes on the > >> imported resource http://sweetontology.net/realmSoil, which is also a TTL > >> serialization but with no file suffix. The stack trace indicates that an > >> attempt is being made to parse the resource as RDF/XML... which in this > >> case is incorrect. > >> > >> Any hints on how to override/define this behaviour? > >> > >> Another related question, the large stack trace I receive from the above > >> parsing activity seems to also indicate that the OntModel.read logic > >> randomly processes imports when processing a resource such as [2]. Is > >> this > >> correct? > >> > >> Thanks for any hits folks, I appreciate it. > >> Lewis > >> > >> [0] http://sweetontology.net > >> [1] http://sweetontology.net/reprDataProduct > >> [2] http://sweetontology.net/sweetAll > >> [3] https://paste.apache.org/vLt8 > >> >
