Hey Osma, if I understand your question right: there are no "correct" namespace prefixes since those are only syntactic shorthands for full namespaces. The following are equivalent because they refer to the same namespace:
xmlns:j.0="http://jena.hpl.hp.com/2005/11/Assembler#" xmlns:asm="http://jena.hpl.hp.com/2005/11/Assembler#" xmlns:xxx="http://jena.hpl.hp.com/2005/11/Assembler#" or alternatively in Turtle syntax: @prefix j.0: <http://jena.hpl.hp.com/2005/11/Assembler#> @prefix asm: <http://jena.hpl.hp.com/2005/11/Assembler#> @prefix xxx: <http://jena.hpl.hp.com/2005/11/Assembler#> It follows from the above that the following are equivalent: j.0:RDFDataset == asm:RDFDataset == xxx:RDFDataset This applies to XML namespaces as well, but especially with RDF you should be thinking in absolute URIs rather than prefixes/names. So my guess is that the result you're getting is correct and equivalent to your input -- even if the serialization differs. Martynas graphity.org On Fri, Nov 2, 2012 at 3:08 PM, Osma Suominen <[email protected]> wrote: > Hi, > > I'm trying to have Fuseki serve whole graphs with the SPARQL HTTP Graph > Store Protocol, i.e. it should respond to HTTP GETs using a URL such as > /ds/data?graph=http://example.org/my-graph > > It does give me the data, but it will not give me the right namespace > prefixes. In previous correspondence about namespace prefixes on the list > [1] and elsewhere [2] it has been said that TDB will pick up prefixes from > the data, but I can't get that to work. Fuseki will only give me prefixes > such as j.0. > > I'm using jena-fuseki-0.2.6-SNAPSHOT from a few days ago. > > I've tried three different ways of setting up Fuseki and loading the data. > I'm using the Fuseki stock config.ttl file as a test data set, because it > contains several namespace prefixes such as fuseki: and tdb:. > > A: In-memory model loaded directly from the file at startup: > ./fuseki-server --file config.ttl /ds > > B: In-memory model updated via HTTP PUT: > ./fuseki-server --update --mem /ds > ./s-put http://localhost:3030/ds/data default config.ttl > > C: File-backed model updated via HTTP PUT: > mkdir DS > ./fuseki-server --update --loc DS /ds > ./s-put http://localhost:3030/ds/data default config.ttl > > After each of these, I've tried accessing the graph at > http://localhost:3030/ds/data?graph=default > I get back the triples, but not the correct namespace prefixes, like this: > > --snip-- > <rdf:RDF > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns:j.0="http://jena.hpl.hp.com/2005/11/Assembler#" > xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > xmlns:j.1="http://jena.apache.org/fuseki#" > > <rdf:Description > rdf:about="http://localhost:3030/ds/data?default#emptyDataset"> > <rdf:type > rdf:resource="http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset"/> > </rdf:Description> > --snip-- (omitted the remaining data) > > My question is, isn't Fuseki/TDB supposed to pick up the prefixes, store > them in the in-memory or TDB store, and then use them in the reply to the > HTTP GET request? Why isn't that happening? > > -Osma > > [1] > http://mail-archives.apache.org/mod_mbox/jena-users/201108.mbox/%[email protected]%3E > [2] http://tech.groups.yahoo.com/group/jena-dev/message/47330 > > -- > Osma Suominen | [email protected] | +358 40 5255 882 > Aalto University, Department of Media Technology, Semantic Computing > Research Group > Room 2541, Otaniementie 17, Espoo, Finland; P.O. Box 15500, FI-00076 Aalto, > Finland
