Rdf 什么是Sparql查询,通过dbpedia三重存储获取公司及其子目录

Rdf 什么是Sparql查询,通过dbpedia三重存储获取公司及其子目录,rdf,sparql,dbpedia,triplestore,Rdf,Sparql,Dbpedia,Triplestore,我是RDF的新手 我试图通过dbpedia获取公司及其子公司的数量 我首先在sparql或中编写以下查询 选择?p?v,其中{您应使用分组依据汇总结果,并使用计数,例如: SELECT str(?lab) as ?label ?com count(?subs) as ?count WHERE { ?com <http://dbpedia.org/ontology/subsidiary> ?subs . ?com rdfs:label ?lab . filter langMat

我是RDF的新手

我试图通过dbpedia获取公司及其子公司的数量

我首先在sparql或中编写以下查询


选择?p?v,其中{您应使用
分组依据
汇总结果,并使用计数,例如:

SELECT str(?lab) as ?label ?com count(?subs) as ?count WHERE {
  ?com <http://dbpedia.org/ontology/subsidiary> ?subs .
  ?com rdfs:label ?lab .
filter langMatches(lang(?lab), 'en') .
} 
group by ?com ?lab
选择str(?lab)作为标签?com计数(?subs)作为计数,其中{
通信潜艇。
?com rdfs:标签?实验室。
过滤语言匹配(lang(?lab),“en”)。
} 
由?com?实验室分组

您应该使用
分组依据
汇总结果,并使用计数,例如:

SELECT str(?lab) as ?label ?com count(?subs) as ?count WHERE {
  ?com <http://dbpedia.org/ontology/subsidiary> ?subs .
  ?com rdfs:label ?lab .
filter langMatches(lang(?lab), 'en') .
} 
group by ?com ?lab
选择str(?lab)作为标签?com计数(?subs)作为计数,其中{
通信潜艇。
?com rdfs:标签?实验室。
过滤语言匹配(lang(?lab),“en”)。
} 
由?com?实验室分组

谢谢,这就是我所需要的。顺便说一句,您可以修改查询,使结果按子公司降序显示,即子公司最高的公司显示在第一位。@Watt,只需添加
按描述排序(?count)
谢谢,这就是我所需要的。顺便说一句,您可以修改查询,使结果按子公司降序显示,即子公司数最高的公司最先显示。@Watt,只需添加
按描述排序(?计数)
SELECT str(?lab) as ?label ?com count(?subs) as ?count WHERE {
  ?com <http://dbpedia.org/ontology/subsidiary> ?subs .
  ?com rdfs:label ?lab .
filter langMatches(lang(?lab), 'en') .
} 
group by ?com ?lab