DBpedia所有编程语言详细信息所需的SPARQL查询帮助 [英] SPARQL query help needed for DBpedia all programming language details
问题描述
这是我正在运行的查询,以获取所有编程语言的这些详细信息。每种编程语言都会影响其他语言或受其他语言影响。因此,可能有许多语言受其影响或受其影响。现在,概率在打印时将其所有值分别打印在行中。您可以查看图片。我希望所有其影响或影响力的编程语言都在同一行中。查询如下。
This is the query I am running to get these details of All programming languages.Every programming language has some influenced other languages or influenced by other language. So there may be many languages in influenced or influenced by. Now the prob is when it is printing all the values of it prints every values separately in rows. You can look into the picture. I want all its influenced or influencedBy programming languages in a single row. Query is below.
SELECT ?pl ?abstract ?influenced ?influencedBy
WHERE {
?pl dbo:abstract ?abstract .
?pl dbo:influenced ?influenced .
?pl dbo:influencedBy ?influencedBy .
?pl rdf:type dbo:ProgrammingLanguage .
FILTER (LANG(?abstract) = 'en') .
}
我的结果的屏幕截图
您可以看到该语言有两个影响力dBy值,并且将它们打印在单独的行中。
You can see that This language has two influencedBy values and it is printing them in separate rows.
网站数据示例
推荐答案
为@ AKSW说,类似-
As @AKSW said, something like --
SELECT ?pl
?abstract
( group_concat ( ?_influenced; separator="; " ) AS ?influenced )
( group_concat ( ?_influencedBy; separator="; " ) AS ?influencedBy )
WHERE
{ ?pl dbo:abstract ?abstract .
?pl dbo:influenced ?_influenced .
?pl dbo:influencedBy ?_influencedBy .
?pl rdf:type dbo:ProgrammingLanguage .
FILTER ( LANG ( ?abstract ) = 'en' ) .
}
GROUP BY ?pl ?abstract
编辑添加
要获取 ?pl_label
(我猜是 ?_ influenced_label
和 ?_ influencedBy_label
),现在您说要,就需要(和/或想要)稍微调整一下...
Edit to Add
To get the ?pl_label
(and I'm guessing, the ?_influenced_label
and ?_influencedBy_label
) you now say you want, you will need (and/or want) to tweak things a bit...
SELECT ?pl
?pl_label
( group_concat ( DISTINCT ?_influenced_label; separator="; " ) AS ?influenced )
( group_concat ( DISTINCT ?_influencedBy_label; separator="; " ) AS ?influencedBy )
?abstract
WHERE
{ ?pl rdf:type dbo:ProgrammingLanguage .
?pl dbo:abstract ?abstract .
FILTER ( LANG ( ?abstract ) = 'en' )
?pl rdfs:label ?pl_label
FILTER ( LANG ( ?pl_label ) = 'en' ) .
?pl dbo:influenced ?_influenced .
?_influenced rdfs:label ?_influenced_label
FILTER ( LANG ( ?_influenced_label ) = 'en' ) .
?pl dbo:influencedBy ?_influencedBy .
?_influencedBy rdfs:label ?_influencedBy_label
FILTER ( LANG ( ?_influencedBy_label ) = 'en' ) .
}
GROUP BY ?pl ?pl_label ?abstract
这篇关于DBpedia所有编程语言详细信息所需的SPARQL查询帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!