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 (JIRA)" <ji...@apache.org> on 2013/04/15 16:56:16 UTC
[jira] [Closed] (JENA-435) Two services in one fuseki instance can
conflict if the initial characters of the fuseki:name of one service are
equal to the full fuseki:name of the other service
[ https://issues.apache.org/jira/browse/JENA-435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne closed JENA-435.
------------------------------
> Two services in one fuseki instance can conflict if the initial characters of the fuseki:name of one service are equal to the full fuseki:name of the other service
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: JENA-435
> URL: https://issues.apache.org/jira/browse/JENA-435
> Project: Apache Jena
> Issue Type: Bug
> Components: Fuseki
> Affects Versions: Fuseki 0.2.6
> Environment: tested on Mac OSX 10.8.2.
> Reporter: Bill Roberts
> Assignee: Andy Seaborne
>
> Steps to reproduce
> fuseki-server --config=test.ttl
> where test.ttl contains the following:
> ===============
> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
> tdb:GraphTDB rdfs:subClassOf ja:Model .
> <#service1> rdf:type fuseki:Service ;
> fuseki:name "abc" ; # http://host:port/blah
> fuseki:serviceQuery "sparql" ; # SPARQL query service
> fuseki:serviceUpdate "update" ; # SPARQL update service
> fuseki:serviceReadWriteGraphStore "data" ; # SPARQL Graph store protocol (read and write)
> fuseki:dataset <#dataset-foo> ;
> .
> <#service2> rdf:type fuseki:Service ;
> fuseki:name "abc123" ; # http://host:port/blah
> fuseki:serviceQuery "sparql" ; # SPARQL query service
> fuseki:serviceUpdate "update" ; # SPARQL update service
> fuseki:serviceReadWriteGraphStore "data" ; # SPARQL Graph store protocol (read and write)
> fuseki:dataset <#dataset-bar> ;
> .
>
> <#dataset-foo> rdf:type tdb:DatasetTDB ;
> tdb:location "/Users/bill/Data/tdb/pqr" ;
> tdb:unionDefaultGraph true ;
> .
> <#dataset-bar> rdf:type tdb:DatasetTDB ;
> tdb:location "/Users/bill/Data/tdb/xyz" ;
> tdb:unionDefaultGraph true ;
> .
> ============
> Create empty directories 'pqr' and 'xyz' to hold the data for the two SPARQL datasets.
> Then, PUT some data into the first service (fuseki:name 'abc') (any valid RDF will do)
> curl -v -H "Content-type: text/turtle" --upload-file file1.ttl http://localhost:3030/abc/data?graph=http://test1
> -- responds with 201 Created
> Then PUT some data into the second service (fuseki:name 'abc123')
> curl -v -H "Content-type: text/turtle" --upload-file file2.ttl http://localhost:3030/abc123/data?graph=http://test1
> - responds with 204 Created - indicating that the graph already existed before this PUT.
> Checks on the contents of the two datasets indicate that the second PUT went into the service 'abc', not into 'abc123'.
> Guess at possible cause: does the URL parsing in fuseki involve some kind of simple regex which leads to 'abc' giving a successful match against 'abc123' when it should not match?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira