预期的行为是简单地从MySQL导入节点数据,而不做任何更改:
然而,Gephi正在擦除ID列中的所有数据,并将其替换为自动递增的ID列:
当然会导致导入边缘的错误:
在导入查询中没有什么特别之处:
节点查询:选择*来自GEPHI_nodes边缘查询:选择*来自GEPHI_edges
发布于 2022-08-20 01:48:02
显然,当从CSV导入时,在查找“id”列标题之前,Gephi将转换为小写:
gephi.io.importer.plugin.file.spreadsheet.process.ImportNodesProcess
lowerCaseHeaders.add(headerName.toLowerCase());
鉴于从数据库导入:
gephi.io.importer.plugin.database.EdgeListDatabaseImpl
并没有提供这样的细节。
发布于 2022-08-20 11:29:09
还请注意:当Gephi导入CSV时,它尝试为每一列(用户可以过度使用)计算数据类型。因此,如果数字以文本的形式出现在CSV列中,则Gephi正确地将它们识别为数字。
从数据库导入数据时的行为是完全不同的,相反,Gephi从表本身读取数据类型。因此,如果SQL表将数字存储为文本,则Gephi将不会尝试更正它,而且实际上没有提供任何明显的方法来超越这种行为。
因此,只有那些由Gephi识别的特定SQL数据类型才会被正确导入,而所有其他数据类型都将默认为作为字符串导入。正确识别的类型如下所示。
特别要注意的是,没有在此列表中的十进制列将默认为字符串,因此不会注册为用于范围分析的数字,等等。
承认的数据库进口:
BIGINT,TINYINT,SMALLINT,布尔,浮动,双,位,实
https://stackoverflow.com/questions/73405138
复制相似问题