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

问题描述

我想创建一个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" ] ;
.

示例SPARQL查询

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

} 
WHERE {
         <TripleMap2> ?predicate ?object.
         ?object                                     ?p2 ?o2 .
}

这将返回TripleMap2的所有三元组,但是,不会返回TripleMap1的所有三元组

TripleMap2的输出

<TripleMap2>
        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
                               ] .

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)