When I add a Turtle RDF file to a database, and the RDF file uses an @base definition, relative IRIs are not correctly resolved. They resolve with the base, http://api.stardog.com.
Andrea
When I add a Turtle RDF file to a database, and the RDF file uses an @base definition, relative IRIs are not correctly resolved. They resolve with the base, http://api.stardog.com.
Andrea
A quick test shows it working as expected. I have a guess what might be happening. What version of Stardog are you using and can you post a copy of the file or one that reproduces the problem?
I am using 5.0.4 and the rdf is:
@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# .
@prefix rdfs: http://www.w3.org/2000/01/rdf-schema# .
@prefix xsd: http://www.w3.org/2001/XMLSchema#.
@base http://example.org/schemas/vehicles# .
@prefix ex: http://example.org/schemas/vehicles# .
:MotorVehicle a rdfs:Class.
:PassengerVehicle a rdfs:Class;
rdfs:subClassOf :MotorVehicle.
:Truck a rdfs:Class;
rdfs:subClassOf :MotorVehicle.
:Van a rdfs:Class;
rdfs:subClassOf :MotorVehicle.
:MiniVan a rdfs:Class;
rdfs:subClassOf :Van;
rdfs:subClassOf :PassengerVehicle .
:Person a rdfs:Class.
xsd:integer a rdfs:Datatype.
:registeredTo a rdf:Property;
rdfs:domain :MotorVehicle;
rdfs:range :Person.
:rearSeatLegRoom a rdf:Property;
rdfs:domain :MotorVehicle;
rdfs:range xsd:integer.
:driver a rdf:Property;
rdfs:domain :MotorVehicle.
:primaryDriver a rdf:Property;
rdfs:subPropertyOf :driver.
:johnSmithsCar a ex:PassengerVehicle;
ex:registeredTo http://www.example.org/staffid/85740;
ex:rearSeatLegRoom "127"^^xsd:integer;
ex:primaryDriver http://www.example.org/staffid/85740.
Andrea Westerinen
T: 425.891.8407
arwesterinen@gmail.com or andreaw@ninepts.com
organizingknowledge.blogspot.com
Hi Andrea,
You are using prefixed names with the default namespace which is different than relative IRIs using the base IRI. You want to define a default namespace like:
@prefix : <http://example.org/schemas/vehicles#> .
Best,
Evren
Evren, Thanks for the clarification. I took a file submitted by a user and
did not validate the syntax (I never used @base before in straight RDF).
I see that the references should be written as <#xxx> and not :xxx. When I
fixed the input, everything worked as expected.
Andrea Westerinen
T: 425.891.8407
arwesterinen@gmail.com or andreaw@ninepts.com
organizingknowledge.blogspot.com