【发布时间】:2015-06-04 14:22:56
【问题描述】:
我有一个ontology,我对下图所示的课程很感兴趣:
我创建了两个 Observation 类(即observation1 和observation2),因此创建了两个其他类的个体(sensoroutput,observationvalue),如下所示:
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Observation1 -->
<owl:NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Observation1">
<rdf:type rdf:resource="&j.3;Observation"/>
<j.3:observationResult rdf:resource="&j.3;SensorOutput1"/>
<j.3:observedBy rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Co2Sensor_Diningroom"/>
<j.3:observationSamplingTime rdf:resource="&j.2;Instant1"/>
</owl:NamedIndividual>
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Observation2 -->
<owl:NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Observation2">
<rdf:type rdf:resource="&j.3;Observation"/>
<j.3:observationResult rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#SensorOutput2"/>
</owl:NamedIndividual>
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue1 -->
<owl:NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue1">
<rdf:type rdf:resource="&j.3;ObservationValue"/>
<j.1:hasRegionDataValue rdf:datatype="&xsd;decimal">216.56</j.1:hasRegionDataValue>
</owl:NamedIndividual>
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue2 -->
<Owl: NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue2">
<rdf:type rdf:resource="&j.3;ObservationValue"/>
<j.1:hasRegionDataValue rdf:datatype="&xsd;string">121212</j.1:hasRegionDataValue>
</owl:NamedIndividual>
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#SensorOutput1 -->
<owl:NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#SensorOutput1">
<rdf:type rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Co2SensorOutput"/>
<j.3:hasValue rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue1"/>
</owl:NamedIndividual>
<!-- http://www.iiitd.edu.in/~haroonr/ontologies/DGO#SensorOutput2 -->
<owl:NamedIndividual rdf:about="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#SensorOutput2">
<rdf:type rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#Co2SensorOutput"/>
<j.3:hasValue rdf:resource="http://www.iiitd.edu.in/~haroonr/ontologies/DGO#ObservationValue2"/>
</owl:NamedIndividual>
现在,当我使用 SPARQL 获取与两个观察相关联的观察值时,我过去只获得与观察 2 相关联的值,而没有获得关于观察 1 的任何值。 Sparql 查询是:
PREFIX ssn: <http://purl.oclc.org/NET/ssnx/ssn#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dul: <http://www.loa-cnr.it/ontologies/DUL.owl#>
SELECT ?x ?r ?val
WHERE
{ ?x rdf:type ssn:Observation.
?x ssn:observationResult ?d.
?d ssn:hasValue ?r.
?r dul:hasRegionDataValue ?val.
}
我想知道我做错了什么以及为什么只返回一个(即观察 2 而不是观察 1)个人?
【问题讨论】:
-
您的数据样本不完整(缺少根元素和命名空间声明),因此很难尝试重现问题。请确保在提出此类问题时提供Minimal, Complete, and Verifiable example。
-
@JeenBroekstra 我只展示了本体的相关部分。在问题的开头,我提供了指向我的完整本体的链接。在这里,我再次提供完整本体的链接为link
-
很抱歉,您的完整本体的链接对于这种事情确实不够好。要求所有必要的信息都存在于问题本身中。查看我提供的帮助部分的链接,它详细解释了为什么您应该始终尝试创建 MCVE。
标签: rdf sparql jena owl ontology