首页 > 解决方案 > SPARQL 选择单元文本(空白节点)

问题描述

我最近开始使用关联数据和 SPARQL。我有一个包含 unittext 的数据集,指示该属性具有哪种单位(米、千克等)。单位是插入到对象与其数量属性之间的关系上的一个值。在我的 RDF 数据集中,单元包含在一个空白节点中,并由https://schema.org/unitText指示。

下面是数据集的一个示例。

], [
a owl:Restriction ;
owl:minCardinality "0"^^xsd:nonNegativeInteger ;
owl:onProperty <https://someuri> ;
ns1:unitText "kg"

我该如何选择这个属性?

到目前为止的查询是:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
select distinct ?label ?aspect ?datatype where {
?s rdfs:subClassOf/owl:onProperty ?aspect . 
?aspect rdf:type owl:ObjectProperty.
?aspect skos:prefLabel ?label .
?aspect rdfs:range ?datatype .

FILTER  EXISTS{ ?aspect rdfs:range ?datatype. }

VALUES ?datatype {
xsd:string
xsd:gYear
xsd:boolean
xsd:decimal
xsd:integer
xsd:date
}


}

RDF 数据集实际上如下所示:

rdfs:subClassOf  [ a  owl:Restriction ; 
                      owl:minCardinality "0"^^xsd:nonNegativeInteger ;
                      owl:onProperty                 <someuri> ;
                      <https://schema.org/unitText>  "kg"
                 ] ;

标签: sparqlrdfowllinked-datablank-nodes

解决方案


推荐阅读