SPARQL查询以构造与主题关联的图形

SPARQL查询以构造与主题关联的图形,sparql,rdf,turtle-rdf,Sparql,Rdf,Turtle Rdf,我想创建一个SPARQL构造查询来选择与某个主题相关联的所有三元组。问题是我不确定会关联多少个三元组。下面是我的特定SPARQL查询的用法。我想分离R2RML映射中包含的三重映射 示例图 @prefix dbo: <http://dbpedia.org/ontology/> . @prefix dc: <http://purl.org/dc/terms/> . @prefix dcterms: <http://purl.org/dc/terms/> . @pr

我想创建一个SPARQL构造查询来选择与某个主题相关联的所有三元组。问题是我不确定会关联多少个三元组。下面是我的特定SPARQL查询的用法。我想分离R2RML映射中包含的三重映射

示例图

@prefix dbo: <http://dbpedia.org/ontology/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix ex: <http://www.txample.com/people/voc/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix testd: <http://www.txample.com/people/data/> .
@prefix testv: <http://www.txample.com/people/voc/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<TripleMap1>
    rr:logicalTable [ rr:tableName "people" ] ;
    rr:predicateObjectMap [ rr:objectMap [ rr:column "publications" ;
                    rr:language "en-GB" ] ;
            rr:predicate foaf:publications ;
            rr:termType rr:Literal ],
        [ rr:objectMap [ rr:column "age" ;
                    rr:datatype xsd:integer ] ;
            rr:predicate foaf:age ],
        [ rr:objectMap [ rr:column "age" ;
                    rr:datatype xsd:integer ] ;
            rr:predicate dbo:equipment ] ;
.

<TripleMap2>
    rr:logicalTable [ rr:tableName "people" ] ;
.
@前缀dbo:。
@前缀dc:。
@前缀dcterms:。
@前缀ex:。
@前缀foaf:。
@前缀owl:。
@前缀rdf:。
@前缀rdfs:。
@前缀rr:。
@前缀testd:。
@前缀testv:。
@前缀xml:。
@前缀xsd:。
rr:logicalTable[rr:tableName“people”];
rr:predicateObjectMap[rr:objectMap[rr:列“发布”;
rr:语言“en GB”];
rr:谓词foaf:出版物;
rr:termType rr:Literal],
[rr:objectMap[rr:列“年龄”;
rr:数据类型xsd:integer];
rr:谓词foaf:年龄],
[rr:objectMap[rr:列“年龄”;
rr:数据类型xsd:integer];
rr:谓词dbo:设备];
.
rr:logicalTable[rr:tableName“people”];
.
示例SPARQL查询

CONSTRUCT { 
            <TripleMap2> ?predicate ?object . 
            ?object                          ?p2 ?o2 .

} 
WHERE {
         <TripleMap2> ?predicate ?object.
         ?object                                     ?p2 ?o2 .
}
构造{
谓词,宾语。
?物体?p2?o2。
} 
在哪里{
谓词,宾语。
?物体?p2?o2。
}
这将返回TripleMap2的所有三元组,但不会返回TripleMap1的所有三元组

<TripleMap1>
        rr:logicalTable        [ rr:tableName  "people" ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  foaf:publications ;
                                 rr:termType   rr:Literal
                               ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  dbo:equipment
                               ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  foaf:age
                               ] .

TripleMap2的输出

<TripleMap2>
        rr:logicalTable        [ rr:tableName  "people" ] ;

rr:logicalTable[rr:tableName“people”];
TripleMap1的输出

<TripleMap1>
        rr:logicalTable        [ rr:tableName  "people" ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  foaf:publications ;
                                 rr:termType   rr:Literal
                               ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  dbo:equipment
                               ] ;
        rr:predicateObjectMap  [ rr:objectMap  []  ;
                                 rr:predicate  foaf:age
                               ] .


rr:logicalTable[rr:tableName“people”];
rr:predicateObjectMap[rr:objectMap[];
rr:谓词foaf:出版物;
rr:termType rr:Literal
] ;
rr:predicateObjectMap[rr:objectMap[];
rr:谓词dbo:设备
] ;
rr:predicateObjectMap[rr:objectMap[];
rr:谓词foaf:年龄
] .

任何帮助都将不胜感激。

您使用的是哪种SPARQL处理器?您正在使用什么RDF存储?名称、版本和其他详细信息可能与
的输出(显然)不完整有关。