我有一个类似 RDF 的图形数据结构,即由节点(实体)组成,节点(实体)由不同类型的边(属性、关系)连接。用户将在该图中选择一个节点(数百万个节点,数亿个边),我正在寻找一种快速方法来显示所选节点的“接近度”(即一个或两个级别的节点从那里是通过一组可能指定的关系到最初选择的节点的路径)。
我做了一些研究,发现了 RDF 专用的三元组存储和更通用的图形数据库,如 neo4j 和 allegro。然后还有像jena、sesame这样的中间件产品。
您会推荐三元组存储还是图形数据库来提高查询附近连接节点的效率?中间件在这里发挥作用吗?我知道在每种情况下,将完整的图形保存在内存中可能会更有优势。
亚历山大
最佳答案
我会推荐 RDF 商店之一(Jena、Sesame、4store、Virtuoso、OWLim、Oracle 等)。然后,您只需学习适用于您的解决方案的 SPARQL 查询,并在各种系统中试用它,而无需为不同的 API 编写代码。
您可以采用多种方法,最简单的方法可能是使用不同路径的 UNION 查询,您可以为边缘 URI 使用变量并添加 FILTER 以将其限制为您感兴趣的那些.
关于database - 在类似 RDF 的数据上快速走图 : triple store or graph database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825936/