On 16/01/12 13:00, Audun Stolpe wrote:
On Mon, 16 Jan 2012 12:16:48 +0000, Andy Seaborne <[email protected]> wrote:On 16/01/12 05:03, Audun Stolpe wrote:Ok, so it isn't the format. But the faulty behaviour is not consistent. It works fine (every time) for some uploaded files, whereas not for others (again every time).I've found a problem that would cause what you're seeing - not sure why it's file-dependent though. It's getting confused as to whether a dataset supports transactions or not. This is something that needs fixing before a release - whether it's a fault in TDB or Fuseki isn't clear but it will be sorted out before the TDB release (which needs to happen before a Fuseki release). As ever, it's down to idiot-ware (I wrote either place thet's at fault :-)Copy that../fuseki-server --version yields: Jena: VERSION: 2.7.0-incubating Jena: BUILD_DATE: 2011-12-14T14:54:09+0000 ARQ: VERSION: 2.9.0-incubating ARQ: BUILD_DATE: 2011-12-14T15:04:27+0000 TDB: VERSION: 0.9.0-incubating-SNAPSHOT TDB: BUILD_DATE: 2012-01-11T12:48:35+0000 Fuseki: VERSION: development Fuseki: BUILD_DATE: unknownUnrelated 1: Are you building the code by compiling yourself? The "Fuseki" items should be like: Fuseki: VERSION: 0.2.1-incubating-SNAPSHOT Fuseki: BUILD_DATE: 2012-01-13T00:39:19+0000 (this is from last build in the Apache snapshot repo) what is more, "development" and "unknown" indicate an older version of Fuseki (I get "Fuseki: VERSION: ${project.version}" in the development system because they find the properties file with parameters not yet set). If the Fuseki code is out of step, it may not have picked up the recentI downloaded the file jena-fuseki-0.2.1-incubating-20120112.200311-9-distribution.zip from https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-fuseki/0.2.1-incubating-SNAPSHOT/ Isn't that what I am supposed to do if I want the most recent snapshot?
Yes, that's right. Maybe the changes to VERSION were later than I thought - I used last nights snapshot build. I was thinking of reverting to the old message; the current one shows me that the build is picking up the right file!
Unrelated 2: Your N-triples file is strictly : although I see you call it *.n3 in one place and *.nt in another. It contains UTF-8 beyond ASCII. RIOT N-triples isn't bothered but it should be (Java's ASCII decoder seems to be unfussy about 8 bit chars). "SN2007 N\u00E6ringskode: 01"@nb . and "Jordbruk, tilh\u00F8r. tjenester, jakt"@nb .I figured this could be causing problems (it does so surprisingly often). However I did not know that N-Triples were confined to ASCII. I am surprised.
N-triples isn't formally an RDF standard - it's a format for writing test cases and was intentional simple e.g. ASCII to make for robustly portable files.
It's just that it's nowadays so heavily used for database dumps. As most, if not all, systems find out, it's the fastest to parse due to it's simplicity despite more bytes (the file is likely to be streaming I/O so just byte count isn't the whole story).
Andy
The RDF-WG is "quite likely" to define N-triples over UTF-8. There's a (non-technical) complication to just doing it. The RIOT N-triples parser relies on Java's ASCII decoder. Thanks for the report, AndyDitto, AudunAudun On Sun, 15 Jan 2012 17:28:03 +0000, Andy Seaborne <[email protected]> wrote:Audun, That needs investigating. It looks like it might be connected Eric's report "fuseki update not persisting between sessions" as this erroneous behaviour is characteristic of unflushed caches. Could you tell me what fuseki-server --version reports? It tells me exactly which development version you are runningI suspect it is of some significance that this does not (at least not so far) happen if I load an xml/rdf or .ttl file. However, as I am outputting RDF from XSLT I'd like to use N-Triples. Help is greatly appreciated.The format isn't going to make any difference. Updates are handled by the same code path regardless of format. Andy On 14/01/12 17:43, Audun Stolpe wrote:Dear all, Testing the 0.2.1. snapshot of the Fuseki distribution from the apache respository, I ran into the following curious problem: I have an N-triples file nace-sample.nt which looks like this: <http://sws.ifi.uio.no/nace/SN2007/01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . <http://sws.ifi.uio.no/nace/SN2007/01> <http://www.w3.org/2000/01/rdf-schema#label>"Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb. <http://sws.ifi.uio.no/nace/SN2007/01> <http://www.w3.org/2000/01/rdf-schema#comment>"SN2007 Næringskode: 01"@nb. <http://sws.ifi.uio.no/nace/SN2007/01> <http://purl.org/dc/terms/title> "Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb. <http://sws.ifi.uio.no/nace/SN2007/01><http://sws.ifi.uio.no/vocab/nace/SN2007#nace> "01"^^<http://www.w3.org/2001/XMLSchema#String>. <http://sws.ifi.uio.no/nace/SN2007/01><http://sws.ifi.uio.no/vocab/nace/SN2007#level_id> "2"^^<http://www.w3.org/2001/XMLSchema#int>. <http://sws.ifi.uio.no/nace/SN2007/01><http://sws.ifi.uio.no/vocab/nace/SN2007#short_title> "Jordbruk, tilhør. tjenester, jakt"@nb. <http://sws.ifi.uio.no/nace/SN2007/01><http://sws.ifi.uio.no/vocab/nace/SN2007#medium_title> "Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb. <http://sws.ifi.uio.no/nace/SN2007/01.1> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.11> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.110> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.12> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.120> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.13> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. <http://sws.ifi.uio.no/nace/SN2007/01.130> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://sws.ifi.uio.no/nace/SN2007/01>. I validated this file with RIOT, so it should be ok. Since I want to persist data in TDB I do: mkdir DB followed by ./fuseki-server --update --loc=DB /dataset and ./s-put http://localhost:3030/dataset/data default nace-sample.n3 The server returns a 204 No Content, so again everything should be fine. Indeed using the Web-gui that ships with fuseki 'SELECT * WHERE {?s ?p ?o}' returns the table --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | s | p | o | =========================================================================================================================================================================== | <http://sws.ifi.uio.no/nace/SN2007/01.13> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://sws.ifi.uio.no/vocab/nace/SN2007#medium_title> | "Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://sws.ifi.uio.no/vocab/nace/SN2007#short_title> | "Jordbruk, tilhør. tjenester, jakt"@nb | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://sws.ifi.uio.no/vocab/nace/SN2007#level_id> | 2 | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://sws.ifi.uio.no/vocab/nace/SN2007#nace> | "01"^^<http://www.w3.org/2001/XMLSchema#String> | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://purl.org/dc/terms/title> | "Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://www.w3.org/2000/01/rdf-schema#comment> | "SN2007 Næringskode: 01"@nb | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://www.w3.org/2000/01/rdf-schema#label> | "Jordbruk og tjenester tilknyttet jordbruk, jakt og viltstell"@nb | | <http://sws.ifi.uio.no/nace/SN2007/01> | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | <http://www.w3.org/2002/07/owl#Class> | | <http://sws.ifi.uio.no/nace/SN2007/01.1> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01.120> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01.11> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01.110> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01.12> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | | <http://sws.ifi.uio.no/nace/SN2007/01.130> | <http://www.w3.org/2000/01/rdf-schema#subClassOf> | <http://sws.ifi.uio.no/nace/SN2007/01> | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Now, if I first shut down fuseki and then do: ./fuseki-server --desc=tdb.ttl /dataset where tdb.ttl is the config file that ships with the distro, then I would expect the data to still be accessible over the same URL. Nevertheless, this time the very same query returns ------------- | s | p | o | ============= | | | | | | | | | | | | | | | 2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------- .. so the TDB instance is corrupt it seems. I suspect it is of some significance that this does not (at least not so far) happen if I load an xml/rdf or .ttl file. However, as I am outputting RDF from XSLT I'd like to use N-Triples. Help is greatly appreciated. Best, Audun Stolpe
