图数据库:TinkerPop/Blueprints与W3C关联数据

Lio*_*gan 13 semantic-web graph-databases

寻找网络分析的基础架构异构(多节点类型(多模),多刃型(多关系)和多描述的功能(功能多))网络,我注意到,有两种标准栈图形数据库世界:

一方面,我们有ThinkPop/Blueprint 属性图模型.它得到了Neo4j,OrientDB GraphDB,Dex,Titan,InfiniteGraph等的支持.

Tinkerpop堆栈包括Blueprint属性图模型接口,Gremlin图遍历语言和Furnace图算法包.

另一方面,我们拥有W3C的关联数据技术堆栈,AllegroGraph,4store,Oracle数据库语义技术,OWLIM,SYSTap BigData等提供支持.

语义数据使用RDF/RDFS/OWL表示,并且可以使用SPARQL查询.最重要的是它提供规则推理功能.

现在,假设我想在图形数据库中表示异构数据,并分析这些数据(统计数据,关系发现,结构,演变等),(我知道这些术语广泛和模糊) - 什么是各自的相对优势模型用于各种类型的网络分析任务?这两个模型相互补充吗?

Mic*_*ael 7

情侣,你的链接数据堆栈的样本都是三重商店.您可以通过首先设置三元组来开始构建链接数据应用程序,但是调用数据库链接数据堆栈是不正确的.这也是一个不完整的三重商店列表,还有Sesame,Jena,MulgaraStardog.Sesame和Jena是双重职责,它们是语义Web的两个事实上的标准Java API,但它们都提供了与API捆绑在一起的三重存储.我也知道Cray和IBM都在研究三重商店,但我现在也不太了解.我知道Stardog与TinkerPop堆栈配合得很好,它基本上是一个插件,并开始针对RDF编写Gremlin查询.

我认为RDF/OWL的优势在于你1)获得真正的查询语言2)他们是w3c 标准和3)你得到推理,如果三重商店支持它,免费(或多或少 - 你仍然有写一个本体论).

使用RDF/OWL/SPARQL作为标准,如果需要,它可以很容易地选择并移动到具有不同功能集的新三元组,您的数据已经采用每个人都能理解的通用格式并且编码的任何应用程序逻辑因为查询是完全可移植的.在大多数情况下,您将针对Sesame或Jena API编写代码,或者使用SPARQL协议,因此您可能只需要更改config/init.我认为这是早期原型制作阶段的一大胜利.

我还认为RDF/OWL特别结合w /推理和您可以使用新SPARQL 1.1创建的复杂SPARQL查询的类型,非常适合构建复杂的分析应用程序.此外,我认为大多数人认为RDF三重商店不能扩展的印象不再正确.此时大多数三重商店很容易扩展到数十亿的三元组,并且具有非常有竞争力的吞吐量数字.

所以基于我认为你可能会做的事情,我认为semweb对你来说可能是更好的选择.几年前我做了一个类似的项目,使用RDF和RDFS作为后端,由一个简单的基于Pylons的webapp,并对结果非常满意.