Sparql 如何从dbpedia中查找类?
我需要一个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
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永远不会回答。我以后会忽略他的问题。干杯