[英]What SPARQL query will return the data from the example?
在我的 RDF 商店中,我有以下三元组
对于模式:
ex:animal rdf:type rdf:Class;
rdfs:subClassof ex:Package_animal.
ex:height rdf:type rdf:Property;
rdfs:label "height";
rdfs:domain ex:animal.
ex:age rdf:type rdf:Property;
rdfs:label "age";
rdfs:domain ex:animal.
ex:NumberOfLegs rdf:type rdf:Property;
rdfs:label "NumberOfLegs";
rdfs:domain ex:animal.
为实例:
ex:dog rdf:type ex:animal;
ex:height "10";
ex:age "2";
ex:NumberOfLegs "4".
ex:cat rdf:type ex:animal;
ex:height "10";
ex:age "3";
ex:NumberOfLegs "4".
我想要:
ex:animal
ex:height
ex:age
ex:NumberOfLegs
ex:animal
的实例 ex:dog 及其所有属性ex:dog rdf:type ex:animal
ex:dog ex:height "10"
ex:dog ex:age "2"
ex:dog ex:NumberOfLegs "4"
SELECT ?s
WHERE
{
?p rdf:type rdf:Property.
?s ?p ?y.
?s rdf:type ex:dog.
}
这个查询
SELECT ?propertyName ?value
WHERE
{
ex:dog ?propertyName ?value.
}
会给你这个结果
propertyName value
rdf:type ex:animal
ex:height "10"
ex:age "2"
ex:NumberOfLegs "4"
你可以绑定ex:dog
URI 如果你想在结果中
SELECT ?dog ?propertyName ?value
WHERE
{
BIND(ex:dog as ?dog).
?dog rdf:type ex:animal.
?dog ?propertyName ?value.
}
这将产生
dog propertyName value
ex:dog rdf:type ex:animal
ex:dog ex:height "10"
ex:dog ex:age "2"
ex:dog ex:NumberOfLegs "4"
如果你想获取ex:animal
的所有属性,你需要更改你的数据。 我编辑了您的问题,因此它包含如下所示的数据。 对于方案知识:
ex:animal rdf:type rdf:Class;
rdfs:subClassof ex:Package_animal.
ex:height rdf:type rdf:Property;
rdfs:label "height";
rdfs:domain ex:animal.
ex:age rdf:type rdf:Property;
rdfs:label "age";
rdfs:domain ex:animal.
ex:NumberOfLegs rdf:type rdf:Property;
rdfs:label "NumberOfLegs";
rdfs:domain ex:animal.
实例知识:
ex:dog rdf:type ex:animal;
ex:height "10";
ex:age "2";
ex:NumberOfLegs "4".
ex:cat rdf:type ex:animal;
ex:height "10";
ex:age "3";
ex:NumberOfLegs "4".
然后您可以使用此 SPARQL 查询:
SELECT ?dog ?animalPropertyName ?value
WHERE
{
?animalPropertyName rdfs:domain ex:animal.
BIND(ex:dog as ?dog).
?dog ?animalPropertyName ?value.
}
这将产生
dog animalPropertyName value
ex:dog ex:height "10"
ex:dog ex:age "2"
ex:dog ex:NumberOfLegs "4"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.