对RDF表示的网络数据应用图形分析

时间:2010-09-03 10:27:35

标签: algorithm graph rdf analysis jung

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

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

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

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

我知道已经有一些很棒的NoSQL数据库,例如Neo4J,InfoGrid,用于这种类型的应用程序。但出于某些可扩展性原因(例如许可证,Web标准......),我希望使用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),那么我必须为可视化工具包构建另一个数据模型。 我不知道这是否是一个明确或有效的整合。

再次感谢任何建议!

1 个答案:

答案 0 :(得分:2)

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

属性路径,来自SPARQL的新规范,允许您通过定义图形模式来查询RDF数据模型。图形模式比您在SPARQL 1.0中定义的模式稍微复杂一些。

通过此功能以及应用程序级别的某些逻辑,您可以对数据实施一些有趣的网络分析。