Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sparql:查找叶Uri';s_Sparql_Dbpedia - Fatal编程技术网

Sparql:查找叶Uri';s

Sparql:查找叶Uri';s,sparql,dbpedia,Sparql,Dbpedia,让我知道你对此的想法 目标:提取正在传递的标签的URI(叶URI) 其中,叶URI被定义为没有歧义或重定向到另一个URI的URI 下面的查询适用于所有情况,但URI具有重定向且重定向的URI具有消歧功能的情况除外 查询: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?termURI ?redirects ?term ?disambiguates WHERE { ?termURI rdfs:label ?

让我知道你对此的想法

目标:提取正在传递的标签的URI(叶URI)

其中,叶URI被定义为没有歧义或重定向到另一个URI的URI

下面的查询适用于所有情况,但URI具有重定向且重定向的URI具有消歧功能的情况除外

查询:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?termURI ?redirects ?term ?disambiguates 
WHERE
{
  ?termURI rdfs:label ?term .
  OPTIONAL{ ?termURI <http://dbpedia.org/ontology/wikiPageRedirects> ?redirects .}
  OPTIONAL{ ?termURI <http://dbpedia.org/ontology/wikiPageDisambiguates> ?disambiguates .} 
  OPTIONAL{ ?redirects <http://dbpedia.org/ontology/wikiPageDisambiguates> ?disambiguates .}
  FILTER((?term = 'Build ups'@en))
}
前缀rdfs:
选择“termURI”重定向“term”消除歧义
哪里
{
?termURI rdfs:标签?术语。
可选的{?termURI?重定向。}
可选{?termURI?消除歧义。}
可选{?重定向?消除歧义。}
过滤器((?术语='buildups'@en))
}

你知道我该如何解决这个问题吗?

你应该能够使用
过滤器不存在
来实现你的目标,如下所示:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>

SELECT ?termURI ?term
WHERE
{
  ?termURI rdfs:label ?term .
  FILTER NOT EXISTS 
  { 
    { ?termURI dbpedia:wikiPageRedirects [] }
    UNION
    { ?termURI dbpedia:wikiPageDisambiguates [] }
  }
  FILTER((?term = 'Build ups'@en))
}
前缀rdfs:
前缀dbpedia:
选择?termURI?术语
哪里
{
?termURI rdfs:标签?术语。
筛选器不存在
{ 
{?termURI dbpedia:wikiPageRedirects[]}
联合
{?termURI dbpedia:wikipagedis歧义[]}
}
过滤器((?术语='buildups'@en))
}
这个查询表示的是,您希望消除任何存在重定向或消除歧义链接的匹配项


有关这些语法元素的更多详细信息,请参见SPARQL规范。

您应该能够使用
过滤器NOT EXIST
来实现您的目标,如下所示:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>

SELECT ?termURI ?term
WHERE
{
  ?termURI rdfs:label ?term .
  FILTER NOT EXISTS 
  { 
    { ?termURI dbpedia:wikiPageRedirects [] }
    UNION
    { ?termURI dbpedia:wikiPageDisambiguates [] }
  }
  FILTER((?term = 'Build ups'@en))
}
前缀rdfs:
前缀dbpedia:
选择?termURI?术语
哪里
{
?termURI rdfs:标签?术语。
筛选器不存在
{ 
{?termURI dbpedia:wikiPageRedirects[]}
联合
{?termURI dbpedia:wikipagedis歧义[]}
}
过滤器((?术语='buildups'@en))
}
这个查询表示的是,您希望消除任何存在重定向或消除歧义链接的匹配项


有关这些语法元素的更多详细信息,请参见SPARQL规范。

请记住,在为问题的代码部分发布问题时,请使用“代码格式”按钮(带有
{}
)。这使你的问题更容易阅读和回答谢谢,以后一定要这样做!请记住,在为问题的代码部分发布问题(带有
{}
的问题)时,请使用“代码格式”按钮。这使你的问题更容易阅读和回答谢谢,以后一定要这样做!