一方面我们有ThinkPop/Blueprint property graph model.它由Neo4j,OrientDB GraphDB,Dex,Titan,InfiniteGraph等支持.
Tinkerpop堆栈包括Blueprint属性图模型界面,Gremlin图遍历语言和Furnace图算法包.
另一方面,我们有W3C’s Linked Data technology stack,由AllegroGraph,4store,Oracle Database Semantic Technologies,OWLIM,SYSTap BigData等支持.
语义数据使用RDF/RDFS/OWL表示,可以使用SPARQL进行查询顶部提供rules和reasoning功能.
现在,假设我想在图形数据库中表示异构数据,并分析这些数据(统计数据,关系发现,结构,演化等)(我知道这些术语是宽泛和模糊的) – 每个各类网络分析任务模型?这两个模型是否相辅相成?
解决方法
我认为RDF / OWL的优势在于:1)获得一个真正的查询语言2)它们是w3c标准,3)如果三重商店支持它,免费(或多或少)你仍然有写本体).
使用RDF / OWL / SPARQL作为标准,如果您需要使用不同的功能集,您可以轻松地选择并移动到一个新的三重存储,您的数据已经是普通格式,每个人都可以理解,任何应用程序逻辑编码因为查询完全可移植.而在大多数情况下,您将会针对芝麻或Jena API编写或使用SPARQL协议,因此您可能只需要更改config / init.我认为这是早期原型设计阶段的一大胜利.
我还认为,RDF / OWL特别结合推理以及您可以使用新的SPARQL 1.1创建的复杂SPARQL查询的种类,非常适合构建复杂的分析应用程序.此外,我认为大多数人认为RDF三重商店不能扩展的印象不再正确.目前,大多数三重商店很容易扩展到数十亿的三倍,并且具有非常有竞争力的吞吐量数量.
所以根据我认为你可能在做什么,我认为semweb可能是一个更好的赌注.几年前我使用RDF& RDFS的后端由一个简单的Pylons基于webapp的前端,并对结果非常满意.