我一直在为我的项目寻找一家三合店。在这个项目中,我想根据某些本体(OWL)存储我的数据。
根据我的研究,我最终得到了两种技术 Neo4J 和 BigData,它们似乎很适合这种情况。
我想知道这两者中的任何一个是否更适合用于 RDF、RDFS、OWL 和 SPARQL 查询。
我一直在为我的项目寻找一家三合店。在这个项目中,我想根据某些本体(OWL)存储我的数据。
根据我的研究,我最终得到了两种技术 Neo4J 和 BigData,它们似乎很适合这种情况。
我想知道这两者中的任何一个是否更适合用于 RDF、RDFS、OWL 和 SPARQL 查询。
Neo4j 可用于存储为实体-关系-实体形式。在大数据的情况下,您不应该将整个数据上传到 Neo4j,因为它会变得非常繁重并且过程会非常缓慢。您应该使用免费的数据库来存储实际数据并将 id 和一些参数存储到 Neo4j 中以进行图遍历以执行某种图分析。Neo4j 主要是为 Graph Analytics 构建的,它的强大功能或者您必须使用 Graph 引擎,例如 GraphX (Spark)。
谢谢,
Neo4J 是一种特定的技术,而大数据则是一个通用术语。我想你问的是关于 OLAP 和 OLTP 的问题。随着数据变得越来越大,RDF 样式图形数据库的用例之间存在差异,这些数据库通常用于 OLAP(在线分析处理)样式分析。简而言之,OLAP 专为查看大数据集的分析而设计,而 OLTP 则更针对 INSERT/DELETE(针对潜在的大数据)。
基于 OLAP 的遍历倾向于处理整个图,而基于 OLTP 的遍历倾向于通过从一个或少数顶点开始并从那里遍历来处理较小的数据集。
例如,假设您想计算某个特定用户的朋友的平均年龄。OLTP 的绝佳用例,因为查询数据集很小。但是,如果要计算数据库中每个人的平均年龄,OLAP 是首选技术。
OLAP 最适合对大量数据进行深入分析,而 OLTP 更适合快速运行的查询和大量 INSERT。如果您正在尝试实现分析必须在特定时间范围内完成的 SLA,请考虑分析的类型以及哪种更适合。或者,也许你两者都需要。