我在Dbpedia中提出了这个请求以获取公司名称及其摘要,但我想找回现任董事/首席执行官。
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?name ?description
where{
?company a dbpedia-owl:Company.
?company foaf:name ?name;
dbpedia-owl:abstract ?description;
rdfs:label "Microsoft"@en.
FILTER( langMatches(lang(?description),"en") )
}
我试图表演:
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?name ?ceo ?description
where{
?company a dbpedia-owl:Company.
?company foaf:name ?name.
?company dbpedia-owl:ceo ?ceo;
dbpedia-owl:abstract ?description;
rdfs:label "Microsoft"@en.
FILTER( langMatches(lang(?description),"en") )
}
但我没有结果。
有人对此请求有任何建议吗?
答案 0 :(得分:2)
根据@AKSW的评论,我改变了我的要求以获得我需要的结果
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?name (GROUP_CONCAT(?ceo_entity; separator=",") as ?ceos) ?description
where
{
?company a dbpedia-owl:Company.
?company foaf:name ?name.
?company dbpedia-owl:keyPerson/foaf:name ?ceo_entity.
?company dbpedia-owl:abstract ?description;
rdfs:label "Microsoft"@en.
FILTER( langMatches(lang(?description),"en") )
}
我向任何需要使用和自定义它的人解释我的请求:
SELECT DISTINCT ?name (GROUP_CONCAT(?ceo_entity; separator=",") as ?ceos) ?description
我在一列中选择公司名称然后我将CEO的名字作为ceos列连接起来,最后我在最后一栏中选择了描述。
我的WHERE子句的第一部分是:
?company a dbpedia-owl:Company.
?company foaf:name ?name.
?company dbpedia-owl:keyPerson/foaf:name ?ceo_entity.
?company dbpedia-owl:abstract ?description;
我希望?company
是类公司的实体,然后我希望我的列?name
中的属性名称。此外,我在列中询问实体keyPerson的属性名称(将只连续获取一行)?ceo_entity
并在?description
列中询问摘要(公司描述)。< / p>
rdfs:label "Microsoft"@en.
FILTER( langMatches(lang(?description),"en") )
这部分允许我只获得标签为&#34; Microsoft&#34;描述是英文的。
结果将是:
name | ceos |description
"Microsoft Corporation"@en | Bill Gates,John W. Thompson,Satya... | "Micro..."