gpt4 book ai didi

types - SPARQL:如何列出和计算 RDF 数据集中的每种数据类型?

转载 作者:行者123 更新时间:2023-12-05 01:22:17 25 4
gpt4 key购买 nike

我正在尝试计算数据集中每种数据类型的实例。它是一个简单的数据集,只有三种数据类型:整数、字符串和日期时间。

我可以通过查询获得数据类型 (3) 的数量:

SELECT (COUNT(DISTINCT datatype(?o)) 
AS ?dTypeCount) {?s ?p ?o. FILTER (isLiteral(?o)) }
GROUP BY ?dTypeCount

结果如下:
--------------
| dTypeCount |
===============
| 3 |
--------------

我可以通过查询获得数据类型(字符串、整数、日期时间)的列表:
SELECT DISTINCT (datatype(?o) AS ?dType) 
{?s ?p ?o. FILTER (isLiteral(?o)) }

结果如下:
-----------------------------------------------
| dType |
===============================================
| <http://www.w3.org/2001/XMLSchema#dateTime> |
| <http://www.w3.org/2001/XMLSchema#string> |
| <http://www.w3.org/2001/XMLSchema#integer> |
-----------------------------------------------

我可以通过查询获得每种数据类型的计数:
SELECT (COUNT(?o) AS ?dTypeCount) 
{?s ?p ?o. FILTER (isLiteral(?o)) }
GROUP BY datatype(?o)

结果如下:
--------------
| dTypeCount |
==============
| 23494 |
| 93548 |
| 228942 |
--------------

但我无法在它的计数旁边显示数据类型的名称,即看起来像这样:
-------------------------------------------------------------
| dType || dTypeCount |
=============================================================
| <http://www.w3.org/2001/XMLSchema#dateTime> || 23494 |
| <http://www.w3.org/2001/XMLSchema#string> || 93548 |
| <http://www.w3.org/2001/XMLSchema#integer> || 228942 |
-------------------------------------------------------------

我尝试了子查询、UNION、多个 GROUP BY 绑定(bind)变量的各种组合,但都没有得到想要的结果
或得到“SELECT 中的非组键变量:”错误。感谢所有帮助。

最佳答案

你几乎拥有它。

SELECT (COUNT(?o) AS ?dTypeCount) (MAX(?datatype) AS ?dtype)
{?s ?p ?o.
BIND (datatype(?o) AS ?datatype)
FILTER (isLiteral(?o)) }
GROUP BY datatype(?o)

由于您已经按数据类型分组,您只需要一个组函数来引用它。

关于types - SPARQL:如何列出和计算 RDF 数据集中的每种数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com