Rdf 同一sparql查询不适用于不同的类
我为传感器服务提供商创建了这个本体,它是室内传感器网络系统的一个模块。我的问题是,当我在我的本体上运行一个查询时,它会给我一些类的答案,而对于其他类,它不会返回任何内容,也不会给出任何错误。e、 g对于获取类的个体,Device SensorServiceProvider和Information类不返回任何内容,而对于其他casse,它返回个体。我从代码中删除了一些链接 以下是本体数据:Rdf 同一sparql查询不适用于不同的类,rdf,sparql,jena,Rdf,Sparql,Jena,我为传感器服务提供商创建了这个本体,它是室内传感器网络系统的一个模块。我的问题是,当我在我的本体上运行一个查询时,它会给我一些类的答案,而对于其他类,它不会返回任何内容,也不会给出任何错误。e、 g对于获取类的个体,Device SensorServiceProvider和Information类不返回任何内容,而对于其他casse,它返回个体。我从代码中删除了一些链接 以下是本体数据: <?xml version="1.0"?> <!DOCTYPE rdf:R
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY p0
"http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#">]>
<rdf:RDF
xmlns="http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#"
xml:base="http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:p0="http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology
rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation">
<owl:imports
rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation"/>
</owl:Ontology>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#ConnectsTo
-->
<owl:ObjectProperty rdf:about="&p0;ConnectsTo">
<rdf:type rdf:resource="&owl;TransitiveProperty"/>
</owl:ObjectProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#Implement
-->
<owl:ObjectProperty rdf:about="&p0;Implement">
<rdfs:range rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensing"/>
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor"/>
</owl:ObjectProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#Store -->
<owl:ObjectProperty rdf:about="&p0;Store">
<rdfs:range rdf:resource="&p0;Information"/>
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#SensorServiceProvider"/>
</owl:ObjectProperty>
<!--
http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#hasInformation
-->
<owl:ObjectProperty rdf:about="&p0;hasInformation"/>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#initiates
-->
<owl:ObjectProperty rdf:about="&p0;initiates">
<rdfs:range rdf:resource="&p0;Management"/>
<rdfs:domain rdf:resource="&p0;SensorSupportToolbox"/>
</owl:ObjectProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#manage -->
<owl:ObjectProperty rdf:about="&p0;manage">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#ContentService"/>
<rdfs:range rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Middleware_Information"/>
<rdfs:range rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor_Information"/>
</owl:ObjectProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#provide --
>
<owl:ObjectProperty rdf:about="&p0;provide">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#SensorServiceProvider"/>
<rdfs:range rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Services"/>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Data properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!--
http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MiddlewareCode
-->
<owl:DatatypeProperty rdf:about="&p0;MiddlewareCode">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Middleware_Information"/>
<rdfs:range rdf:resource="&xsd;integer"/>
</owl:DatatypeProperty>
<!--
http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MiddlewareID
-->
<owl:DatatypeProperty rdf:about="&p0;MiddlewareID">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Middleware_Information"/>
<rdfs:range rdf:resource="&xsd;integer"/>
</owl:DatatypeProperty>
<!--
http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MiddlewareRight
-->
<owl:DatatypeProperty rdf:about="&p0;MiddlewareRight">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Middleware_Information"/>
<rdfs:range rdf:resource="&xsd;boolean"/>
</owl:DatatypeProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#NodeCode -
->
<owl:DatatypeProperty rdf:about="&p0;NodeCode">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor_Information"/>
<rdfs:range rdf:resource="&xsd;integer"/>
</owl:DatatypeProperty>
<!--
http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#NodeExplain -->
<owl:DatatypeProperty rdf:about="&p0;NodeExplain">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor_Information"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#NodeId -->
<owl:DatatypeProperty rdf:about="&p0;NodeId">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor_Information"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#NodeName -
->
<owl:DatatypeProperty rdf:about="&p0;NodeName">
<rdfs:domain rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-
ontology-41#Sensor_Information"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<owl:Class rdf:about="&p0;Application_Server"/>
<owl:Class rdf:about="&p0;Information"/>
<owl:Class rdf:about="&p0;Management"/>
<owl:Class rdf:about="&p0;MiddlewareManagement">
<rdfs:subClassOf rdf:resource="&p0;Management"/>
</owl:Class>
<owl:Class rdf:about="&p0;ProviderManagement">
<rdfs:subClassOf rdf:resource="&p0;Management"/>
</owl:Class>
<owl:Class rdf:about="&p0;SensorManagement">
<rdfs:subClassOf rdf:resource="&p0;Management"/>
</owl:Class>
<owl:Class rdf:about="&p0;SensorMiddleware">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&p0;ConnectsTo"/>
<owl:someValuesFrom rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensorServiceProvider"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="&p0;SensorSupportToolbox"/>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#ContentService">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Services"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Device">
<rdfs:subClassOf rdf:resource="&owl;Thing"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&p0;ConnectsTo"/>
<owl:someValuesFrom rdf:resource="&p0;SensorMiddleware"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Middleware_Information">
<rdfs:subClassOf rdf:resource="&p0;Information"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Process"/>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#ProviderService -->
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#ProviderService">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Services"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensing">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Process"/>
</owl:Class>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensingService -->
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensingService">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Services"/>
</owl:Class>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensing_Device -->
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensing_Device">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Device"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Device"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensorServiceProvider">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&p0;ConnectsTo"/>
<owl:someValuesFrom rdf:resource="&p0;Application_Server"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor_Information">
<rdfs:subClassOf rdf:resource="&p0;Information"/>
</owl:Class>
<owl:Class rdf:about="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Services"/>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Individuals
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#APPServer -->
<owl:NamedIndividual rdf:about="&p0;APPServer">
<rdf:type rdf:resource="&p0;Application_Server"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MW1 -->
<owl:NamedIndividual rdf:about="&p0;MW1">
<rdf:type rdf:resource="&p0;SensorMiddleware"/>
<hasInformation rdf:resource="&p0;MiddlewareInfo"/>
<ConnectsTo rdf:resource="&p0;SSP1"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MW2 -->
<owl:NamedIndividual rdf:about="&p0;MW2">
<rdf:type rdf:resource="&p0;SensorMiddleware"/>
<hasInformation rdf:resource="&p0;MiddlewareInfo"/>
<ConnectsTo rdf:resource="&p0;SSP1"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MW3 -->
<owl:NamedIndividual rdf:about="&p0;MW3">
<rdf:type rdf:resource="&p0;SensorMiddleware"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#Management1 -->
<owl:NamedIndividual rdf:about="&p0;Management1">
<rdf:type rdf:resource="&p0;Management"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#MiddlewareInfo -->
<owl:NamedIndividual rdf:about="&p0;MiddlewareInfo">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Middleware_Information"/>
<MiddlewareCode rdf:datatype="&xsd;integer">021</MiddlewareCode>
<MiddlewareID rdf:datatype="&xsd;integer">MW021</MiddlewareID>
<MiddlewareRight rdf:datatype="&xsd;boolean">false</MiddlewareRight>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#SSP1 -->
<owl:NamedIndividual rdf:about="&p0;SSP1">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensorServiceProvider"/>
<ConnectsTo rdf:resource="&p0;APPServer"/>
<Store rdf:resource="&p0;MiddlewareInfo"/>
<Store rdf:resource="&p0;SensorInfo"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#SSP2 -->
<owl:NamedIndividual rdf:about="&p0;SSP2">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#SensorServiceProvider"/>
<Store rdf:resource="&p0;MiddlewareInfo"/>
<Store rdf:resource="&p0;SensorInfo"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#SST1 -->
<owl:NamedIndividual rdf:about="&p0;SST1">
<rdf:type rdf:resource="&p0;SensorSupportToolbox"/>
<initiates rdf:resource="&p0;Management1"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#Sensor1 -->
<owl:NamedIndividual rdf:about="&p0;Sensor1">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor"/>
<ConnectsTo rdf:resource="&p0;MW1"/>
<hasInformation rdf:resource="&p0;SensorInfo"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#Sensor2 -->
<owl:NamedIndividual rdf:about="&p0;Sensor2">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor"/>
<ConnectsTo rdf:resource="&p0;MW2"/>
<hasInformation rdf:resource="&p0;SensorInfo"/>
</owl:NamedIndividual>
<!-- http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#SensorInfo -->
<owl:NamedIndividual rdf:about="&p0;SensorInfo">
<rdf:type rdf:resource="http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor_Information"/>
<NodeCode rdf:datatype="&xsd;integer">021</NodeCode>
<NodeId rdf:datatype="&xsd;string">sd021</NodeId>
<NodeName rdf:datatype="&xsd;string">sensor021</NodeName>
<NodeExplain rdf:datatype="&xsd;string">temp</NodeExplain>
</owl:NamedIndividual>
</rdf:RDF>
我正在运行的查询是:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p0: <http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#>
SELECT ?x
WHERE {?x rdf:type p0:Information}
如果不清楚,我可以提供更多详细信息。我将您的数据加载到一个Sesame存储中,并执行了一些查询以查看发生了什么 您正在执行的查询尝试检索该类的所有实例http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementationInformation. 但是,您的数据不包含此类的实例,因此结果为空 通过运行查询,我们可以很容易地看到这一点:
PREFIX p0: <http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#>
DESCRIBE p0:Information
这使用属性路径来检索所有值?x,这些值具有通过零个或多个rdfs:Subassof关系与p0:Information相关的类。什么不起作用?你的意思是你得到了一个非零但错误的个体数?你没有人回来?服务器崩溃了?会发生什么?如果没有看到您的本体,我们就不能说任何特定的查询应该返回什么。没有看到完整的查询,问题中的查询就不完整;它不包括前缀声明,我们不能说它有什么问题。请共享您的数据和完整的查询。在这些更新完成之前,-1因为问题不清楚,投票关闭因为问题寻求调试帮助为什么此代码不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建。问题中的数据不是有效的OWL:它缺少命名空间和实体声明以及开始和结束元素。这使得您无法尝试和复制问题,因为数据中的特定名称空间和/或实体声明可能是问题的一部分。请确保您的问题完整,并包含重现问题所需的所有信息。感谢您更新您的问题。如果您将其作为一个更简单的示例,并提供了一些关于您期望查询返回的内容与它实际返回的内容的信息,那么情况会更好—您让我们做很多猜测。然而,我试图回答你的问题,见下文。非常感谢你的帮助。上帝保佑你。通过你的询问,我得到了完全相同的答案。但当我试图检索设备类的子类的实例时,它仍然不起作用。
p0:Information rdf:type owl:Class .
p0:Store rdfs:range p0:Information .
<http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Middleware_Information> rdfs:subClassOf p0:Information .
<http://www.semanticweb.org/faiza/ontologies/2014/7/untitled-ontology-41#Sensor_Information> rdfs:subClassOf p0:Information .
PREFIX p0: <http://www.semanticweb.org/faiza/ontologies/2014/10/serviceproviderimplementation#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?x
WHERE {
?x rdf:type/rdfs:subClassOf* p0:Information .
}