问题标签 [blazegraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2385 浏览

import - 使用批量数据加载器将三元组加载到 Blazegraph

我正在尝试使用 Blazegraph 在 ConceptNet 上运行图形算法,但首先我必须导入数据。数据将是Write Once, Read Many,所以我不需要任何增量写入。

我从它的 .deb 文件安装了 Blazegraph 2.1.1。我还下载blazegraph.jar了,以便我可以按照涉及在 blazegraph.jar 上运行命令的说明进行操作。

该文件assoc.nt采用 N-Triples 格式,包含大约 2500 万条边。以下是一些从一开始的:

fastload.propertiesGitHub 上的 Blazegraph 示例中获得,但后来改变了结尾:

  • 我补充说com.bigdata.journal.AbstractJournal.file=blazegraph.jnl,否则它会告诉我财产丢失了。

  • 我将bufferModefrom更改DiskRWDisk,因为某人的属性文件表明这会给我 Write-Once-Read-Many 语义,这正是我想要的。

这是我的决赛fastload.properties

我运行了命令:

它使 CPU 旋转了几分钟,但最终似乎什么也没增加。这是我得到的输出:

0 投票
0 回答
212 浏览

owl - 为什么 owl:Restriction inference 在 Blazegraph 中不起作用

我正在尝试遵循此答案中给出的关于 Blazegraph 中 OWL 推理的示例,但查询:

仅返回:

但不是预期的推论:

我在 Blazegraph 中的命名空间配置:

我错过了什么?

0 投票
1 回答
725 浏览

sparql - 如何将 4 列 N-Quad 四元组导入和查询到 Blazegraph?

我对 RDF/SPARQL 比较陌生,我正在尝试将一些 N-Quad、4 列/四重数据导入并查询到Blazegraph(参见schemaOrgEvent.sample.txt)。

当我导入 Quads 数据(Web 控制台)时,我只剩下基于三元组的 3 列元组数据,即 Blazegraph 只允许 SPARQL 查询 SELECTing {?s ?p ?o},但四元组选择 {?s ? p ?o ?c},不要。我究竟做错了什么???

Blazegraph 可以本地存储 4 列 Quad 数据,还是我误解了 RDF/Triple/Quad 存储的本质?

此外,导入的四元组数据以及变成三元组(归一化???)似乎将第 1 列转换为另一个 Blazegraph 提供的(?)标识符,原始(四元组)数据格式为(4 列)

导入后(3 列):

谁的查询是:

't1702' 值是某种“外键”,可用于链接到其他三元组(即在导入日期内重复)。

0 投票
1 回答
1785 浏览

export - 如何将 Blazegraph 中的所有结果导出到文件中?

我想将我的 SPARQL 查询结果从 Blazegraph 导出到一个文件中。但是,它只导出结果的第一页。当我尝试显示所有结果时,我的浏览器崩溃了。

我怎样才能解决这个问题?

我在本地集群上运行 Blazegraph 2.1.2。

0 投票
1 回答
444 浏览

sparql - SPARQL BIND(COUNT(...) AS ...) 不工作

我正在尝试将计数分配给一个变量以供以后在查询(SPARQL)中使用。

我什至无法使以下工作:

这里我的语法或语义有问题,因为我只是得到一个重复多次的空结果?resultsCount,而不是简单的例如 86(结果数)。

但是,当我执行以下操作时,我会得到结果数(例如 86):

有什么办法可以像第一个例子中那样BIND工作吗?COUNT如果没有,是否有不同的正确方法来获得相同的功能?

我正在使用 Blazegraph 2.1.2。这可能是一个错误吗?

0 投票
1 回答
658 浏览

java - 使用 Blazegraph 的“NanoSparqlServer”,如何清除测试之间的图表?

我正在使用 Blazegraph 的 Bigdata DB 的 1.5.3 版本(现在更名为 Blazegraph)。我有一个充当网关的服务,实现了一堆持久层方法。现在我正在为这些方法编写单元测试。我正在使用带有 Jetty 的嵌入式设置。我的设置代码如下:

我正在使用jetty.xmlcom.bigdata 1.5.3 jar 中的默认配置:

...而且我正在使用同一个 jar 中的默认 RWStore.properties:

使用这些配置,服务器可以正常启动,我可以访问 Web 控制台、进行查询并通过BigdataGraphClientJava 中的 API 进行交互。现在我只是想弄清楚如何清除图表以避免单元测试之间的数据泄漏。我尝试了以下方法:

  1. 使用BigdataGraphClientJava API 删除所有边和顶点。由于我不知道的原因,将其中一些边和顶点留在原处。 graph.getEdges.forEach(Edge::remove) graph.getVertices.forEach(Vertex::remove)

  2. 停止并销毁服务器。保留日志文件。

    sparqlServer.stop(); sparqlServer.destroy();

  3. com.bigdata.journal.AbstractJournal.createTempFile=true通过设置和注释掉使用临时日志文件com.bigdata.journal.AbstractJournal.file=bigdata.jnl。这会清除日志文件,但DatasetNotFoundException在第一次测试后会抛出一个。

  4. 将日志文件放在临时目录中,/tmp/bigdata-test/bigdata.jnl并在测试之间删除/重新创建该目录。这与#2具有相同的问题。

  5. 试图创建我自己的Journal对象并将其作为方法的IndexManager参数传递NanoSparqlServer.newInstance。由于旧 Lucene 依赖项的已知问题,此操作失败。我不能在我的项目中包含这些,因为我依赖于与这个冲突的新版本的 Lucene。引发的错误与引用的 Jira 票证中记录的错误相同。

有人知道清除测试之间图表的干净、可靠的方法(在tearDown每次测试后运行的方法中)吗?

0 投票
0 回答
143 浏览

rdf - 如何在 Blazegraph 中创建具有 NOT EXISTS 约束的规则?

这个问题与 Blazegraph Java 示例有关。我想创建一个带有 SPARQLNOT EXISTS子句的规则。此 Blazegraph 规则示例提供了一个约束子句,用于检查IsLiteral(). 我想实现一个提供以下功能的规则:

我在以下位置检查了合适的类:com.bigdata.rdf.internal.constraints ,但找不到BOp支持EXIST(和MINUS)的类。我找到了一个NOT接线员NotBOp()

这是我想用虚构ExistsBOp函数创建的约束:

是否有另一种方法来实现约束?

0 投票
2 回答
163 浏览

neo4j - 如何使用图数据库进行声誉扩散?

我有一个似乎很适合图形数据库的问题,但我不确定应用它的最佳方法。

首先,有一组对象可以有定向链接(几千万个,典型的链接输入/输出数是每个对象几千个)。然后,每个对象都可以从潜在的非常多的用户(也有数千万)那里积累声誉(想想赞成票、业力等)。

棘手的部分是,每当用户调整对象的声誉时,我想根据一些相当复杂的规则更新其所有链接对象的声誉(可能超过一级)。

在 SQL 中,这看起来像这样:

由于这是处理图形,图形数据库似乎很合适,但是通过快速阅读 Neo4j / OrientDB / Blazegraph / Tinkerpop API,我无法弄清楚如何将这个问题映射到他们可以解决的问题上做。

以 Tinkerpop 为例,对象是顶点,对象之间的链接是边(到目前为止一切都很好),声誉是......?可能是 VertexPropetries,但我不确定每个顶点的属性可能与用户数量一样多,事情将如何扩展。或者,声誉可能是来自用户顶点的加权边缘......这似乎有不同类型的性能问题。

您能否将此类问题简单翻译成流行的图形数据库之一?

0 投票
1 回答
239 浏览

java - Gremlin:Blazegraph 遥控器

我正在尝试使用以下设置启动并运行管道:

  • Blazegraph 2.1.1(远程)
  • Tinkerpop 2(bigdata-blueprints 2.0.0、BlazeGraph-Gremlin 1.0.0、bigdata-core 2.0.0)
  • 语言:Java

我已经能够使用 Blueprints API 来创建和删除顶点和边。对于所有图形操作,我想尽可能坚持使用 Tinkerpop。我无法找到以下 API:

  1. 通过 线程化事务ThreadedTransactionalGraph
  2. 遍历使用GremlinPipeline.

我有以下问题:

  1. Blazegraph 远程版本的 TP3 何时可用有时间表吗?
  2. 在不久的将来是否有计划支持以下内容?

    一个。蓝图ThreadedTransactionalGraph

    湾。GremlinPipelineAPI

  3. 2a 和 2b 的建议替代方案是什么?


我已经尝试了getFeatures图表提供的功能,它得到了以下列表:

我在这里主要担心的是,GremlinPipeline在使用远程查询 Blazegraph 时不允许我使用。

我有一个在 OrientDB 上运行的现有 API,我想迁移到 Blazegraph。我是否必须更改所有已阅读的内容(Gremlin 查询)才能使用 Blazegraph,还是有办法同时使用 Tinkerpop 2 GremlinPipeline

0 投票
1 回答
471 浏览

graph - 图数据库中的“嵌入式模式”和“单服务器模式”是什么意思?

许多关于图数据库的书籍和文章都谈到了“嵌入式模式”和“单服务器模式”。

例如,关于图形数据库的 Wikipedia 文章提到以下内容:

Blazegraph 支持高可用性 (HA) 模式、嵌入式模式、单服务器模式。

“嵌入式模式”和“单服务器模式”是什么意思?