Rdf SPARQL查询失败
这个有这些,还有这个数量的。为了完整起见,以下是示例 此查询按预期工作:Rdf SPARQL查询失败,rdf,sparql,owl,linked-data,Rdf,Sparql,Owl,Linked Data,这个有这些,还有这个数量的。为了完整起见,以下是示例 此查询按预期工作: PREFIX pizza: <http://www.ncl.ac.uk/pizza#> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> SELECT ?p FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf> WHERE { ?p rdf
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT ?p
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE {
?p rdfs:subClassOf pizza:PizzaTopping
}
前缀比萨饼:
前缀rdfs:
选择?p
从…起
在哪里{
?p RDF:比萨子类:比萨面层
}
如图所示
但是,此查询不会产生预期结果:
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT DISTINCT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE {
?Name ?Relation pizza:MushroomTopping .
?Relation owl:inverseOf pizza:isToppingOf .
OPTIONAL {
?Name2 ?Relation2 pizza:HamTopping .
?Relations2 owl:inverseOf pizza:isToppingOf .
}
FILTER(?Name2 = ?PizzaName)
}
前缀比萨饼:
前缀rdf:
前缀owl:
选择不同的*
从…起
何处{
?名称?关系比萨饼:蘑菇面。
?关系猫头鹰:比萨饼的倒数:isToppingOf。
可选{
?名称2?关系2比萨饼:火腿面。
关系2猫头鹰:比萨饼的反面:isToppingOf。
}
过滤器(?名称2=?比萨名称)
}
简化版本也会失败:
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE {
?Name ?Relation pizza:NonVegetarianPizza .
}
前缀比萨饼:
前缀rdf:
前缀owl:
挑选*
从…起
何处{
?名称?关系比萨饼:非素食比萨饼。
}
这些所需的查询可能具有相同的错误:
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE { ?p rdf:type pizza:Pizza;
pizza:hasTopping ?t.
?t rdf:type pizza:TomatoTopping
}
前缀比萨饼:
前缀rdf:
挑选*
从…起
式中{?p rdf:type pizza:pizza;
比萨饼:有浇头吗。
?t rdf:比萨饼类型:番茄酱
}
及
前缀比萨饼:
前缀rdf:
前缀rdfs:
前缀owl:
挑选*
从…起
哪里
{
?比萨饼RDF:子类[
猫头鹰:onProperty比萨饼:hasTopping;
猫头鹰:比萨饼的一些价值:蘑菇面]。
}
及
前缀比萨饼:
前缀owl:
前缀rdfs:
挑选*
从…起
哪里
{
?比萨饼RDF:子类[
猫头鹰:onProperty比萨饼:hasTopping;
猫头鹰:来自比萨饼的一些价值:Mozzarellating]。
?比萨饼RDF:子类[
猫头鹰:onProperty比萨饼:hasTopping;
猫头鹰:比萨饼的一些价值:Peperon香肠顶部]。
?比萨饼RDF:子类[
猫头鹰:onProperty比萨饼:hasTopping;
猫头鹰:比萨饼的一些价值:西红柿。
}
我做错了什么?您的简化查询:
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE {
?Name ?Relation pizza:NonVegetarianPizza .
}
前缀比萨饼:
前缀rdf:
前缀owl:
挑选*
从…起
何处{
?名称?关系比萨饼:非素食比萨饼。
}
我不应该归还任何东西。在链接到的数据中,
pizza:non-egerationarpzza
仅显示为主题,而不是对象。您是否有理由期望此查询返回一些结果?我的目标是确定与非素食比萨饼相关的顶部。其他查询也有类似的目标。我应该如何重新编写以产生这些结果?首先,你需要明确你所说的“相关”是什么意思。我会再看一遍,然后再回来问你:你认为有解决方案是什么意思?有甜椒面和帕尔玛干酪的比萨不一定是非素食比萨或非素食比萨;这取决于比萨饼上还有什么。为了得到这类事情的结果,你无论如何都需要进行猫头鹰推理。您可以使用SPARQL查询执行一些有限类型的OWL推理,但不能执行任意OWL推理。请注意(从最接近的原因):“寻求调试帮助的问题”(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者来说是没有用处的。“我认为你需要确定一些你期望得到的具体结果。”。只有到那时,我们才能帮助你解释为什么你没有得到它们,以及你能做些什么来得到它们。
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE
{
?pizza rdfs:subClassOf [
owl:onProperty pizza:hasTopping;
owl:someValuesFrom pizza:MozzarellaTopping ] .
?pizza rdfs:subClassof [
owl:onProperty pizza:hasTopping;
owl:someValuesFrom pizza:PeperonSausageTopping ] .
?pizza rdfs:subClassof [
owl:onProperty pizza:hasTopping;
owl:someValuesFrom pizza:TomatoTopping ] .
}
PREFIX pizza: <http://www.ncl.ac.uk/pizza#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
FROM <http://homepages.cs.ncl.ac.uk/phillip.lord/scratch/pizza.rdf>
WHERE {
?Name ?Relation pizza:NonVegetarianPizza .
}