Ich möchte die Basis-URL festlegen, wenn ich Daten in Fuseki mit tdbloader
oder tdbloader2
laden. Momentan wird der lokale Pfad als Basis verwendet, was ich nicht möchte. Beispiel:Legen Sie die Basis URI beim Laden Triples mit Jena tdbloader
# mytriple.ttl
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<#myitem> a owl:Thing .
./tdbloader --loc /path/to/database /path/to/local/file/mytriple.ttl
# sparql query example
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?subject ?predicate ?object
WHERE {
?subject ?predicate ?object .
?subject a owl:Thing .
}
Abfrageer:
<file:///path/to/local/file/mytriple.ttl#myitem> rdf:type owl:Thing
Dies wird (1) nicht sehr sauber in der Datenbank zu haben, und (2) es Wartbarkeit führt Probleme, wenn ich ein bestimmtes Element abfragen möchte, wenn die Basis angegeben werden muss:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?subject ?predicate ?object
WHERE {
?subject a owl:Thing .
<file:///path/to/local/file/mytriple.ttl#myitem> ?predicate ?object .
}
oder
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
BASE <file:///path/to/local/file/mytriple.ttl>
SELECT ?subject ?predicate ?object
WHERE {
?subject a owl:Thing .
<#myitem> ?predicate ?object .
}
Wie ich eine andere Base in tdbloader
zum Beispiel <mydomain:myontology#>
angeben?