Sparql 为什么不';t TripleStore是否实现为本机图形存储?

Sparql 为什么不';t TripleStore是否实现为本机图形存储?,sparql,gremlin,triplestore,vaticle-typeql,property-graph,Sparql,Gremlin,Triplestore,Vaticle Typeql,Property Graph,基于Sparql的存储或换句话说,TripleStore的效率低于属性图存储,更糟糕的是,它不能在保持属性图性能的同时进行分发 我知道这里有很多问题,比如推断等等。把分布和推断放在一边,我们可以将自己限制在可以通过SPARQL完全捕获的RDF中,我想知道这是为什么 更具体地说,为什么会出现存储问题。什么是限制基于Sparql的存储像属性图存储那样存储数据,以及执行遍历而不是大规模连接查询。例如,sparql不能简单地翻译成小精灵的步骤吗?有什么限制?不能避免加入吗 我的假设是,如果sparql可

基于Sparql的存储或换句话说,TripleStore的效率低于属性图存储,更糟糕的是,它不能在保持属性图性能的同时进行分发

我知道这里有很多问题,比如推断等等。把分布和推断放在一边,我们可以将自己限制在可以通过SPARQL完全捕获的RDF中,我想知道这是为什么

更具体地说,为什么会出现存储问题。什么是限制基于Sparql的存储像属性图存储那样存储数据,以及执行遍历而不是大规模连接查询。例如,sparql不能简单地翻译成小精灵的步骤吗?有什么限制?不能避免加入吗

我的假设是,如果sparql可以在有效的步骤遍历中进行转换,并且数据存储为属性图do(如janusGraph),那么性能问题将得到解决,同时保持一些推理(如RDF)

话虽如此,Sparql当然不是图灵完全的,但至少就它所做的来说,它会做得很快,也可能是大规模的。在我看来,我们的目标不是竞争,而是为SPARQL的易用性和使用像gremlin这样的遍历语言来处理真正需要它的事情(例如OLAP)而受益

是否有这样的项目,ApacheJena是否考虑过这些


我看到Grakn的Graql似乎在使用这条路,原因我在上面解释过,因此是什么阻止了TripleStore社区?

首先,我很想看到支持您的观点的参考资料,即基于RDF的系统本质上比基于属性图的系统效率低,因为坦率地说,这是一个荒谬的观点。此外,已经有了分布式的RDF存储,我假设你的意思是扩展RDF存储,所以声称它们不能被分发是完全不正确的

属性图模型和Gremlin可以很容易地在基于RDF的系统上实现。据我所知,这已经一次做了两次,在其中一个实现中,Gremlin/Property图层支持推理。因此,您不需要是一个基于属性图的系统来支持该模型。系统、RDF和属性图做出具体实现选择的原因有很多,从存储到执行以及其他,这些选择在某种程度上受“本机”模型、选择用于实现的技术以及可能最重要的是系统用例和它要解决的问题的指导

此外,还不清楚您建议基于RDF的系统的作者实际做什么;你是说扩大规模是有益的吗?您是否表示您对属性图模型的偏好应该被视为福音,以便基于RDF的系统放弃并切换数据模型?您想要属性图系统改装RDFS吗


最后,对于你最初提出的问题,我认为你的回答是完全相反的;属性图模型是一种混合了图和键值模型元素的混合图模型,而RDF模型是一种纯粹的,即原生的图模型。Gremlin,虽然在RDF世界中被称为物化的东西周围有语法糖,但对其他人来说,是边缘属性。因此,在这个你的财产图模型的例子正在放弃上述模型的世界里,我不确定还有什么要告诉你的,除了你应该做更多的背景研究。

@Michael,我很高兴你介入,因为你肯定比我更了解这一点:)。在这一点上,我正在进行一次学习之旅。应您的要求,以下是启发我理解的论文之一:

arxiv.org/abs/1801.02911(使用SPARQL查询属性图 小精灵穿越)

我引用他们的话

“我们对Gremlinator和 通过执行SPARQL查询来证明其有效性和适用性 在主要图表的顶部存储着Neo4J、Sparksee和Apache TinkerGraph并将性能与RDF stores Virtuoso进行比较, 4Store和JenaTDB。我们的评估表明 SPARQL中的小精灵获得的性能增益 查询,尤其是星形和复杂查询。”

然而,他们解释说,事情在某种程度上取决于查询的类型

或者,正如另一个答案所说,堆栈内溢出也有助于理解Set和path之间的问题。我的理解是TripleStore也适用于Set。尽管如此,我绝对不知道最近在TripleStore中实现的所有优化技术,我看到了几篇文章解释了显著删减集合连接操作的技术

在分配上,它更多的是一种勇气的感觉。例如,以分布式方式执行join操作对我来说听起来非常昂贵。我没有这些论文,而且我的研究也不是详尽无遗的。但从我的红色,我将不得不挖掘我的Evernote:)支持它,这是分配的基本问题。这里的自动智能切分似乎无助于缓解问题

@迈克尔:这是一个非常复杂的问题。我已经踏上了征程,这就是为什么我要用stackoverflow来指导我的研究。你可能知道为什么。因此,请随意提供指针

尽管如此,我并不是说RDF有问题,属性图更好。我想说的是,不管怎样,当涉及到图形遍历时,有一些方法可以实现一个后端,从而加快速度。这里的问题不是数据模型,而是用于支持遍历的数据结构。我要说的第二件事是,查询语言的选择似乎会影响“遍历”的执行方式,从而影响我们的数据结构