Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 如何从dbpedia中查找类?_Sparql_Ontology_Dbpedia - Fatal编程技术网

Sparql 如何从dbpedia中查找类?

Sparql 如何从dbpedia中查找类?,sparql,ontology,dbpedia,Sparql,Ontology,Dbpedia,我需要一个sparql查询,它提供一个自由文本(用户输入), 它从dbpedia找到所有与它相关的类 怎么做?也问。被接受的回答是-- 当你说类时,你是指类型吗?如果是,请尝试以下操作 SELECT ?uri ?label ?type WHERE { ?uri rdfs:label ?label . ?uri <http://dbpedia.org/ontology/type> ?type . FILTER regex(str(?label), "Leipzig") . } limi

我需要一个sparql查询,它提供一个自由文本(用户输入), 它从dbpedia找到所有与它相关的类

怎么做?

也问。被接受的回答是--

当你说类时,你是指类型吗?如果是,请尝试以下操作

SELECT ?uri ?label ?type
WHERE {
?uri rdfs:label ?label .
?uri <http://dbpedia.org/ontology/type> ?type .
FILTER regex(str(?label), "Leipzig") .
}
limit 10
选择uri标签类型
在哪里{
?uri rdfs:标签?标签。
?uri?类型。
过滤正则表达式(str(?label),“莱比锡”)。
}
限制10
我不能让这件事过去

PREFIX     rdfs:  <http://www.w3.org/2000/01/rdf-schema#>
PREFIX  virtdrf:  <http://www.openlinksw.com/schemas/virtrdf#>

SELECT      ?s1c AS ?c1 
       COUNT (*) AS ?c2 
                    ?c3
WHERE 
  { 
    QUAD MAP virtrdf:DefaultQuadMap 
    { 
      GRAPH ?g 
      { 
         ?s1  ?s1textp      ?o1          .
         ?o1  bif:contains  '"dbpedia"'  .
      }
    }
    ?s1 a ?s1c .
    OPTIONAL { ?s1c  rdfs:label  ?c3 
               FILTER(langMatches(LANG(?c3),"EN"))}
  }
GROUP BY ?s1c ?c3
ORDER BY DESC (2) ASC (3)
前缀rdfs:
前缀virtdrf:
选择?s1c作为?c1
将(*)计为?c2
?c3
哪里
{ 
四元映射virtrdf:DefaultQuadMap
{ 
图?g
{ 
?s1?s1textp?o1。
?o1 bif:包含“dbpedia”。
}
}
?s1a?s1c。
可选的{?s1c rdfs:标签?c3
过滤器(langMatches(LANG(?c3),“EN”)}
}
分组依据?s1c?c3
描述命令(2)ASC命令(3)

前面的答案会得到部分结果

请举例说明你做了什么这是个糟糕的问题。什么是“相关的”?RDF资源和类由URI标识,因此,您必须创建一些fulltex tindex,特别是当您想要应用模糊匹配时。否则,您可以检查
rdfs:label
是否与用户输入完全匹配。SPARQL查询就是简单的单三重模式,我想你会成功的——如果不是,那就学习SPARQL。顺便说一句,你在2月13日问了同样的问题(并且没有回答我的评论…我将投票支持close here,因为这是同一个问题。你没有回应,我这边没有回答!你的可能副本可能会以…为什么不
bif:contains
?为什么不
rdf:type
?@AKSW-没有理由。我只是重新发布了另一个网站接受的答案。我仍然不知道。)站在OP真正想要的位置上。我也一样,但OP永远不会回答。我以后会忽略他的问题。干杯