如何解决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 举报,一经查实,本站将立刻删除。