Why would the default prefix not be used for an IRI in a blank node?

Here is my Turtle that I am loading:

@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix :      <http://www.w3.org/2009/sparql/docs/tests/data-sparql11/move/manifest#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix mf:    <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
@prefix qt:    <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
@prefix ut:    <http://www.w3.org/2009/sparql/tests/test-update#> .

<>  rdf:type mf:Manifest ;
    rdfs:label "Move" ;
    ) .

:move01 rdf:type mf:UpdateEvaluationTest ;
    mf:name "MOVE 1" ;
    rdfs:comment "Move the default graph to an existing graph" ;
    mf:action [ ut:request :move-01.ru ;
                ut:data :move-default.ttl ;
                ut:graphData [ ut:graph :move-01.ttl ;
                               rdfs:label "http://example.org/g1" ]
              ] ;
    mf:result [ ut:graphData [ ut:graph :move-default.ttl ;
                               rdfs:label "http://example.org/g1" ]
              ] .

But here is what is actually loaded into my db (I ran "SELECT * where {?test ?p ?s . ?s ut:request ?o}"):

Why is the default prefix not used?


What version are you using? I tested it on a somewhat old version (7.4.4) and I'm not seeing the issue. The only place I see the Stardog default namespace is for the baseIRI with <> which is expected.

I doubt this is the problem but you might want to take a look at the logs to make sure there isn't anything there otherwise I would have expected the local definition of the empty prefix to override the default.

Zach, You are right ... The code was pulling the files from another location.



No worries. I can't say I haven't spent way too much time tracking down a one letter typo in a prefix. :wink:

1 Like