Sorry about the numerous emails on the matter, but i just realized that: http://localhost:3030/search/data http://localhost:3030/search/data?graph=default
doesnt mean the same thing, so removing the union graph from the dataset configuration works, but the earlier example is still not working if using named graphs: http://localhost:3030/search/data?graph=default (WORKS - returns prefixed content) http://localhost:3030/search/data?graph=http://example.org/ (NOT WORKING - returns expanded content) - Miika ----- Original Message ----- From: "Miika Alonen" <[email protected]> To: [email protected] Sent: Monday, 5 October, 2015 10:27:44 Subject: Re: Fuseki 2.3.0 not returning prefix declarations from TextDataset using graph protocol Hi, It seems it is sometimes working (for example with application/ld+json syntax) - but only when using default graph. Problem shows up the best when using named graphs. I also tried to set the default graph tdb:unionDefaultGraph false ; or # comment it out, but it seems that the <#dataset> default graph stays as union no matter what. - Miika ----- Original Message ----- From: "Miika Alonen" <[email protected]> To: [email protected] Sent: Monday, 5 October, 2015 09:28:18 Subject: Re: Fuseki 2.3.0 not returning prefix declarations from TextDataset using graph protocol Hi, Thanks for your reply. Sorry, there were some floppiness in my example. What i was doing was: PUT http://localhost:3030/search/data HTTP/1.1 Host: localhost:3030 Content-Type: text/turtle; charset=utf-8 BODY: @prefix example: <http://example.org/> . example:foo example:bar example:foo . And then: GET http://localhost:3030/search/data HTTP/1.1 Host: localhost:3030 Accept: text/turtle; charset=utf-8 And the result is: <http://example.org/foo> <http://example.org/bar> <http://example.org/foo> . ... so text/turtle or application/ld+json seems not to be working, but if you omit the Content-Type or use text/trig it returns: @prefix example: <http://example.org/> . { example:foo example:bar example:foo . } - Miika ----- Original Message ----- From: "Andy Seaborne" <[email protected]> To: [email protected] Sent: Friday, 2 October, 2015 18:50:05 Subject: Re: Fuseki 2.3.0 not returning prefix declarations from TextDataset using graph protocol On 01/10/15 10:23, Miika Alonen wrote: > Hi, > > Fuseki 2.3.0 doesnt seem to return prefixes and namespaces from > text:TextDataset with graph protocol. You would expect that these return the > same result: Hi Miika, I tried your example and it works for me. If you loaded from N-triples or with a bulk loader there aren't any prefixes (the bulk loaders do now, post the last releases, save the prefixes). IIRC CONSTRUCT gets its prefixes from the query. > > GET /textDataset?default HTTP/1.1 which does not agree with the configuration below ... The form "/dataset?default", directly using the graph store protocol on the dataset, rather than "/dataset/data?default", got fixed recently (post the last releases). That might accoutn for twhat you are seeing (if it worked at all). Andy > Host: localhost:3030 > Accept: text/turtle; charset=utf-8 > and > > CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } > > > but graph protocol from TextDataset returns expanded content (without > prefixes and namespaces), while CONSTRUCT queries returns compact data with > prefixes and namespaces. > > I'v tried couple of configurations with the same result and it doesnt seem to > matter if the TDB dataset is called trough separate service. Am i missing > something or is this a bug or a feature? :) So directly on the TDB service, no text dataset, also does not have prefixes? See above - looks like there aren't any loaded. > > My current "simplified" configuration is: > > @prefix : <#> . > @prefix fuseki: <http://jena.apache.org/fuseki#> . > @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . > @prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> . > @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . > @prefix text: <http://jena.apache.org/text#> . > > > [] rdf:type fuseki:Server ; > > fuseki:services ( > <#TestService> > ) . > > # TDB > [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" . > tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset . > tdb:GraphTDB rdfs:subClassOf ja:Model . > > # Text > [] ja:loadClass "org.apache.jena.query.text.TextQuery" . > text:TextDataset rdfs:subClassOf ja:RDFDataset . > text:TextIndexLucene rdfs:subClassOf text:TextIndex . > > <#TestService> rdf:type fuseki:Service ; > fuseki:name "search" ; > fuseki:dataset <#text_dataset> ; > fuseki:serviceQuery "sparql" ; > fuseki:serviceUpdate "update" ; > fuseki:serviceReadWriteGraphStore "data" ; > fuseki:serviceUpload "upload" ; > . > > <#text_dataset> rdf:type text:TextDataset ; > text:dataset <#dataset> ; > text:index <#indexLucene> ; > . > > <#dataset> rdf:type tdb:DatasetTDB ; > tdb:location "TEST_TDB" ; > tdb:unionDefaultGraph true ; > . > > <#indexLucene> a text:TextIndexLucene ; > text:directory <file:Lucene> ; > text:entityMap <#entityMap> ; > . > > <#entityMap> a text:EntityMap ; > text:entityField "uri" ; > text:graphField "graph" ; ## enable graph-specific indexing > text:defaultField "label" ; ## Must be defined in the text:map > text:map ( > # rdfs:label > [ text:field "label" ; > text:predicate rdfs:label ; > text:analyzer [ a text:LowerCaseKeywordAnalyzer ] ] > # rdfs:comment > [ text:field "comment" ; > text:predicate rdfs:comment ; > text:analyzer [ a text:LowerCaseKeywordAnalyzer ] ] > ) . > > > Best Regards, > Miika Alonen > > CSC - IT Center for Science > [email protected] >
