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