首页 > 解决方案 > 如何使用 SPARQL 获取数据属性断言值?

问题描述

我试图制作以下本体。我想要使​​用 SPARQL 的数据属性断言值。

我试图进行查询:

prefix ab:<http://www.semanticweb.org/bhuiyanh/ontologies/2019/8/untitled-ontology-38#>

SELECT ?AV ?lane
WHERE {
  ?AV ab:Driving ab:N_Time_1.
  ab:N_Time_1 ab:Driving ?lane.
}

我想要这样的结果:

AV  Lane
AV1  1

标签: sparqlontologyprotege4

解决方案


我没有足够的声誉来发表评论,所以这就是可行的方法。

尝试将车道变量转换为整数,因为形式 "1"^^xsd:integer的文字通常写为1

prefix ab:<http://www.semanticweb.org/bhuiyanh/ontologies/2019/8/untitled-ontology-38#>
SELECT ?AV ?lane WHERE 
{ ?AV ab:Driving ab:N_Time_1. 
 ab:N_Time_1 ab:lane ?_lane. 
 bind( xsd:integer(?_lane) as ?lane )
}

或尝试字符串函数:

SELECT ?AV ?lane WHERE 
{ ?AV ab:Driving ab:N_Time_1. 
 ab:N_Time_1 ab:lane ?_lane. 
 bind( str(?_lane) as ?lane )
}

推荐阅读