在SPARQL中查询两个RDF图
我有两个RDF知识库 KB1(在SPARQL中查询两个RDF图,sparql,Sparql,我有两个RDF知识库 KB1(path/to/file1.rdf)wkich包含以下两个三元组 a b c a f e 和KB2(path/to/file2.rdf),具有以下三重属性: c t p 我想得到所有路径,包括像?a?b?c和?c?t?p这样的路径,因为c是常见的 在SPARQL中如何实现这一点?对于两KB的情况,我们称之为“联邦查询”。以下是一个例子: SELECT * WHERE { SERVICE URI_for_path/to/file1.rdf { ?a
path/to/file1.rdf
)wkich包含以下两个三元组
a b c
a f e
和KB2(path/to/file2.rdf
),具有以下三重属性:
c t p
我想得到所有路径,包括像?a?b?c
和?c?t?p
这样的路径,因为c
是常见的
在SPARQL中如何实现这一点?对于两KB的情况,我们称之为“联邦查询”。以下是一个例子:
SELECT * WHERE {
SERVICE URI_for_path/to/file1.rdf {
?a ?b ?c .
OPTIONAL {
SERVICE URI_for_path/to/file2.rdf {
?c ?t ?p . } }
}
}
只有当它存在的时候,你才会得到?t?p
最简单的方法是在单个KB中加载这两个文件,因此有一个简单的查询:
SELECT * WHERE {
?a ?b ?c .
?c ?t ?p .
}
加载这两个文件并运行SPARQL查询?