问题标签 [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.
sparql - 如何从 blazegraph 导出 n-quads
我想以典型格式从 blazegraph 导出所有数据。我找到了三重格式的 curl 命令,并且找到了 xml/json/.. sparql 结果格式的 curl 命令
但是,我真正需要的是生成 n-quads 格式的导出。图形信息对我的系统至关重要。我该怎么做呢?
sparql - 查询独立 Blazegraph 数据库返回空
我是 Blazegraph 和 Wikidata 的新手,所以,请原谅我的问题可能很琐碎。
我已经在 Google Cloud ( GC ) 实例上安装了 Blazegraph(按照此处的说明操作)。安装顺利进行,没有任何问题。我也成功运行了和脚本。一切都没有错误地进行(尽管我没有预料到任何错误,但加载仍在进行中)。我正在将wikidata 的最新转储加载到我的 Blazegraph 实例中。在加载运行时,我想通过运行一个简单的查询来检查数据库中是否有任何数据。runBlazegraph.sh
munge.sh
loadRestAPI.sh
我首先做的是使用此链接转到 GUI:
http://localhost:9999/bigdata/#query
并运行一个简单的查询,例如:
但是,查询返回一个空的result
. 请注意,我必须通过隧道连接到 GC 机器才能查看 GUI。(查询结果图片)
考虑到我可能使用了错误的 URI,或者隧道到 GC 机器搞砸了,我试图在 GC 机器本身上运行。我还更改了 URI 以使用正确的命名空间(wdq
在我的情况下)。我执行了一个 Curl 命令,例如:
这给了我另一个空的结果集。
使用如下 Pythonpymantic
库也无济于事:
我想我在这里做错了什么。我没有得到任何错误,但我也没有得到任何结果。我的问题是:
也许这是因为加载过程尚未完成加载而发生的?
或者可能是因为我使用了错误的 URI (
http://localhost:9999/bigdata/#query
)。如果是这样的话,什么是正确的?作为 Blazegraph 和 Wikidata 的新手,也许我搞错了,在这种情况下,我希望能提供一个完整的分步设置指南的链接。
python-3.x - 如何使用 python 为 blazegraph 三元存储准备 sparql 查询?
我正在寻找一种可以在远程服务器上准备和触发查询的方法。我知道在 Java 中使用 rdf4j 在 Stardog 和 GraphDB 中是可行的。但是如何使用 python for Blazegraph 来完成呢?我试过看Sparqlwrapper和rdflib。rdflib 支持prepared statement,但它只能用于文件解析,我还没有找到很多与rdf4j 相同的驱动程序的文档。SparqlWrapper 支持使用远程存储库查询,但没有准备好的语句示例,我需要两者。
我在远程远程端点 RDFLib / Redland 上查看了这个 SPARQL 查询, 但这似乎已经过时(8 岁)
要求是在 blazegraph 上构建一个微服务,以在运行时执行用户特定的输入。如果未使用准备好的语句,字符串连接将使其容易受到安全威胁和样板代码的影响。
java - 在 ubuntu 中运行 Jar 文件时出现问题
我对 Ubuntu 不是很熟悉。我已将我在 Windows 机器上使用的 Blazegraph 相关的 jar 文件移动到我的 Ubuntu VM(Ubuntu 18.04 LTS Bionic)。
我也曾经chmod +x filename
使它可执行。但是在运行文件时,我收到以下错误:
错误:Banner.java:160:com.bigdata.rdf.sail.webapp.StandaloneNanoSparqlServer.main 的线程 java.lang.NullPointerException 中未捕获的异常(StandaloneNanoSparqlServer.java:142)
为什么我会收到此消息?我也在 GitHub 上找到了这个帖子,但似乎没有人有机会修复它!
注意:该文件是 blazegraph.jar,它充当 blazegraph 的本地服务器,因此我可以在某些本体上运行 SPARQL 查询。这是因为该文件试图充当服务器并且可能存在防火墙问题吗?但是,服务器将位于http://localhost:9999/blazegraph/
我认为不必对防火墙做任何事情的地方(如果 Linux 上有的话)。
sparql - 基本 SPARQL 查询返回三元组,其标签包含 Blazegraph 中的字符串
我正在尝试以下 SPARQL 查询:
但是,我收到一条神秘的错误消息:
查询看起来是有效的,所以我做错了什么?
sparql - 绑定到由 VALUES 和大括号提供的内联数据
我在WDQS上尝试了以下查询:
结果具有?string
价值?iri
。但是,如果我在查询表达式中放置一对额外的大括号
?string
结果?iri
是空的,看起来好像?item
第一个 BIND 表达式中缺少。为什么结果不一样?
sparql - 独立的 blazegraph wikidata 服务器没有返回结果
我刚刚成功创建了一个本地独立的 Blazegraph 实例并按照此处的说明上传了 Wikidata 数据库https://github.com/wikimedia/wikidata-query-rdf/blob/master/docs/getting-started.md。
这是我使用的“超级”命令:
git clone --recurse-submodules https://gerrit.wikimedia.org/r/wikidata/query/rdf wikidata-query-rdf && cd wikidata-query-rdf && mvn package && cd dist/target && unzip service-*-dist.zip && cd service-*/
nohup ./runBlazegraph.sh &
mkdir data && wget https://dumps.wikimedia.org/wikidatawiki/entities/latest-lexemes.ttl.gz && mkdir data/split && ./munge.sh -f latest-lexemes.ttl.gz -d data/split -l en,es -s && ./loadRestAPI.sh -n wdq -d `pwd`/data/split && ./runUpdate.sh -n wdq -l en,es -s
./runUpdate.sh 仍在运行,但已将更新拉到 2019-09-23T13:31:56Z
测试它,我将我本地的维基数据结果与维基数据查询服务结果进行了比较,并且存在差异。
例如,如果我从示例中运行“Cats”查询:
维基数据查询服务有 142 个结果。我没有。
如果我从示例中运行“最近事件”查询:
Wikidata 查询服务显然返回 10 个结果。我有一个。
为什么会出现这种结果差异?是不是我做错了什么?
先感谢您。
关于我运行 Wikidata 的机器的附加信息,以防万一。
- 工作站戴尔 Precision 7510
- Ubuntu 18.04.3 LTS 64 位
- 内存 32G RAM
- 处理器 Intel® Core™ i7-6820HQ CPU @ 2.70GHz × 8
- 显卡 Quadro M2000M/PCIe/SSE2
- 磁盘 250Gb SSD
database - 我是否将本体与数据放在一起?
我正在尝试学习如何使用 Blazegraph。我创建了一个本体并将其添加到数据库中。没问题。Blazegraph 似乎很容易使用。现在我的问题。我注意到,如果我现在查询数据库,我会从本体中获得三元组作为 sparql 查询的答案。因此,如果我将数据添加到同一个数据库,来自 sparql 查询的答案将来自与数据本身混合的本体。我是否应该将本体保存在同一个数据库中,或者如何避免将本体与数据混合?
blazegraph - 如何在 Blazegraph 中插入带有 POST 请求正文的 SPARQL 数据?
我使用 Blazegraph 作为我的 RDF 存储。我正在尝试以以下格式插入数据:
现在,如果我像这样使用 URLupdate
参数http://localhost:9999/bigdata/sparql?update=QUERY
就可以了,但问题是当数据太长时,它会超过 URI 的允许长度。
那么有没有办法执行相同的查询但在请求正文中发送它?
我尝试只http://localhost:9999/bigdata/sparql
使用查询作为请求正文进行发布请求,但我从服务器收到语法错误,说它不期望,INSERT
而是 a或其他语句。我想我正在尝试做一个并没有正确理解,也许我需要发送一些额外的标头/参数来发出信号。SELECT
DESCRIBE
INSERT
heroku - 如何使用 blazegraph 托管我自己的 Triplestore?
我是使用 Blazegraph 的新手,在过去的几个月里,我一直在本地使用它作为项目的一部分进行开发。我目前正在尝试在线托管我的三重商店的实例,并且已经到了我迷失在圈子里的地步。
我的应用程序使用 spring-boot API 来管理与 Triplestore 的任何交互。我最初使用 docker-compose 在我的本地机器上托管,并且能够毫无问题地查询和更新三重存储。这是我使用的 docker-compose.yml 文件:
当谈到生产时,我尝试使用 Heroku 部署我的 docker-compose 应用程序,发现 Heroku 似乎不支持这一点。我只能使用以下 Dockerfile 在 Heroku 上托管 API:
我还尝试使用 Docker 和 Heroku 分别托管 API 和 Triplestore,用于 spring-boot API,这似乎工作正常。我试图使用Heroku 的可执行 jar 功能来托管 Blazegraph 提供的 bigdata.jar 文件,但没有成功。
我非常感谢一些关于最佳前进方式的建议和指导。如何托管 Blazegraph 实例以与我的 Spring Boot API 一起使用?我可以使用我在本地使用的 docker-compose.yml 文件吗?
在此先感谢您的帮助 :)