SPARQL如何获取个人的类型
我做了这个本体论:SPARQL如何获取个人的类型,sparql,jena,semantic-web,ontology,protege,Sparql,Jena,Semantic Web,Ontology,Protege,我做了这个本体论: SensorOntology:MedicalCabinet-01 rdf:type owl:NamedIndividual , SensorOntology:MedicalCabinetSensor ; SensorOntology:hasId "57"^^xsd:int ; SensorOntology
SensorOntology:MedicalCabinet-01 rdf:type owl:NamedIndividual ,
SensorOntology:MedicalCabinetSensor ;
SensorOntology:hasId "57"^^xsd:int ;
SensorOntology:hasValue "0"^^xsd:int .
我正在尝试编写一个查询,以通过给定的id编号获取MedicalCabinet-01的类型,即MedicalCabinetSensor。但是,我正在打印owl:namedinDivious和SensorOntology:MedicalCapinetSensor。不管怎样,我只打印了传感器本体:MedicalCapinetSensor。这是我的疑问:
SELECT DISTINCT ?sensor ?sensorclass
WHERE {?sensor :hasId "100"^^xsd:int.
?sensor rdf:type ?sensorclass}
有多种方法可以忽略结果,因此不清楚您要使用哪种方法,特别是因为有些方法非常明显。这里有两个选项:
过滤器
,即将过滤器(?sensorclass!=owl:NamedIndividual)
添加到SPARQL查询的图形模式中有多种方法可以忽略结果,因此不清楚您要使用哪种方法,特别是因为有些方法非常明显。这里有两个选项:
过滤器
,即将过滤器(?sensorclass!=owl:NamedIndividual)
添加到SPARQL查询的图形模式中事实上,有多种方法。还有一个:
SELECT DISTINCT ?sensor ?sensorclass
WHERE {?sensor :hasId "100"^^xsd:int.
?sensor rdf:type ?sensorclass
FILTER ( strstarts(str(?sensorclass), "[sensor ontology URI]") )
}
事实上,有多种方法。还有一个:
SELECT DISTINCT ?sensor ?sensorclass
WHERE {?sensor :hasId "100"^^xsd:int.
?sensor rdf:type ?sensorclass
FILTER ( strstarts(str(?sensorclass), "[sensor ontology URI]") )
}
查询是正确的,必须为个人
SensorOntology:medicalcapinet-01
返回两个结果-一个是类SensorOntology:medicalcapinetsensor
,另一个是类owl:NamedIndividual
。如何运行查询和处理结果集?请显示代码片段。对不起,我编辑了我的问题。是否可以只打印SensorOntology:MedicalCapinetSensor查询是正确的,必须为个人返回两个结果SensorOntology:MedicalCapinet-01
——一个带有类SensorOntology:MedicalCapinetSensor
,另一个用于owl:NamedIndividual
。如何运行查询和处理结果集?请显示代码片段。对不起,我编辑了我的问题。是否可以打印SensorOntology:MedicalCapinetSensor