在SPARQL中查询两个RDF图

在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

我有两个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 ?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查询?