4

我想对具有多种模式(即多种类型的网络节点)和多路复用关系(即多种类型的网络边缘)的网络数据进行一些分析。

分析可能是关于 SNA 或应用图论中的任何算法,例如关系强度、中心性、介数、节点距离、块、集群等。

源数据相当非结构化,因此我首先应该考虑如何表示、存储和检索数据。

以下是一些想法。我将不胜感激任何反馈或进一步的建议。:)

我知道已经有一些很棒的 NoSQL 数据库,例如 Neo4J、InfoGrid,用于此类应用程序。但出于一些可扩展性的原因(例如许可证、网络标准...),我更喜欢使用 RDF 来存储和表示我的数据。使用的工具是 SESAME 或 JENA。

用 RDF 表示网络/图形数据的想法是微不足道的。例如:

网络/图形数据

         *Alice* ----lend 100USD----> *Bob* ----- likes ----> *Skiing*

用 RDF 表示

         *Alice* --src--> *lend_relation* <---target--- *Bob* ---likes---> *Skiing*
                                  |
                               has_value                                   
                                 \|/
                               *100USD*  

         [Alice         src       lend_relation]
         [Bob           target    lend_relation]
         [lend_relation has_value 100USD] 
         [Bob           likes     Skiing]

然而,问题在于 RDF 和 SPARQL 缺乏图模型的视角。使用 RDF 查询在节点之间遍历或查找(最短)距离效率不高。必须通过一些额外的分析工具来完成,例如JUNG或JGarphT,我必须首先通过查询RDF存储构造一个子图,然后将其转换为JUNG或JGraphT使用的数据模型。如果我想要额外的可视化(既不是来自 JUNG 也不是来自 JGraphT),那么我必须为可视化工具包构建另一个数据模型。我不知道这是否是一个清晰或有效的整合。

再次感谢您的任何建议!

4

1 回答 1

2

如果您想使用 SPARQL 对您的 RDF 数据进行网络分析,您可以查看SPARQL 1.1 Property Paths。我相信在 Jena/ARQ 中已经实施了ARQ - Property Paths

来自 SPARQL 新规范的 Property Paths 允许您通过定义图形模式来查询 RDF 数据模型。图形模式比您可以在 SPARQL 1.0 中定义的模式复杂一些。

借助此功能以及应用程序级别的一些逻辑,您可能能够对您的数据进行一些有趣的网络分析。

于 2010-09-03T13:44:36.450 回答