Sparql 使用Jena tdbloader加载三元组时设置基URI
我想在使用Sparql 使用Jena tdbloader加载三元组时设置基URI,sparql,jena,fuseki,apache-jena,turtle-rdf,Sparql,Jena,Fuseki,Apache Jena,Turtle Rdf,我想在使用tdbloader或tdbloader2将数据加载到Fuseki中时设置基本url。目前,本地路径被用作基本路径,这不是我想要的。例如: # mytriple.ttl @prefix owl: <http://www.w3.org/2002/07/owl#> . <#myitem> a owl:Thing . 查询结果: rdf:type owl:Thing 这(1)在数据库中不是很干净,(2)当我想查询某个特定项目时,需要指定基础时,会导致可维护性问题:
tdbloader
或tdbloader2
将数据加载到Fuseki中时设置基本url。目前,本地路径被用作基本路径,这不是我想要的。例如:
# mytriple.ttl
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<#myitem> a owl:Thing .
查询结果:
rdf:type owl:Thing
这(1)在数据库中不是很干净,(2)当我想查询某个特定项目时,需要指定基础时,会导致可维护性问题:
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 .
}
前缀owl:
前缀rdf:
选择主语谓语宾语
在哪里{
?主题a猫头鹰:东西。
谓词,宾语。
}
或
前缀owl:
前缀rdf:
基础
选择主语谓语宾语
在哪里{
?主题a猫头鹰:东西。
谓词,宾语。
}
如何在
tdbloader
中指定不同的基,例如
?将base
或@base
语句放入数据中。这样,数据是稳定的——在任何地方使用时,它都将提供相同的三元组
要避免编辑文件,请执行以下操作:
cat "MyBase.ttl" "MyData.ttl" > D.ttl
tdbloader --loc DB D.ttl
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 .
}
cat "MyBase.ttl" "MyData.ttl" > D.ttl
tdbloader --loc DB D.ttl