sparql - DBpedia 所需的 SPARQL 查询帮助所有编程语言详细信息
问题描述
这是我正在运行以获取所有编程语言的这些详细信息的查询。每种编程语言都有一些影响其他语言或受其他语言影响。所以可能有很多语言受到影响或影响。现在的问题是,当它打印所有值时,它会在行中分别打印每个值。你可以看图。我希望所有受其影响或影响的编程语言都在一行中。查询如下。
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') .
}
我的结果的屏幕截图
您可以看到,这种语言有两个受影响的值,并将它们打印在单独的行中。
网站数据示例
解决方案
正如@AKSW 所说,类似——
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
and ?_influencedBy_label
)你现在说你想要的,你需要(和/或想要)稍微调整一下......
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
推荐阅读
- mongodb - 获取嵌套数组中与 MongoDB 中的条件匹配的所有元素
- javascript - 通过侧边栏中显示的按钮向 Google 表格中的单元格添加值
- oauth-2.0 - Azure B2C 登录 - 颁发者 URL 无法正确解析以进行 Web 访问
- c# - 如何使用 EPPlus 获得绘图填充颜色
- c# - C# 编译器和调试器在 for 循环中为 Random 对象提供不同的结果
- java - 将 PHP 正则表达式转换为 Java
- javascript - 我可以使用 Javascript 添加/删除 li 的类吗?
- ios - 扫描多个供应商的设备时如何从 BLE 广告中获取制造商数据
- jquery - 查找具有数据项属性的所有元素,无论元素类型或数据项值如何
- oracle - 触发器如何在没有 PRAGMA AUTONOMOUS_TRANSACTION 的情况下执行 DDL 语句?