问题标签 [fuseki]

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 投票
0 回答
407 浏览

java - 在浏览器上启动 SPARQL 查询端点时出错

我有个问题:

我使用以下 Java 代码在 Jena TDB 上加载了两个 RDF 文件:

正如这篇文章https://stackoverflow.com/questions/24798024/how-i-can-use-fuseki-with-jena-tdb中所建议的,我在 CMD 上启动了这个命令:

fuseki-server --update --loc C:\tdb /ds

在 localhost:3030 我看到不同的页面。特别是,我看到“控制面板”页面,我可以在其中选择数据集并执行查询。

现在,我正在阅读此文档http://jena.apache.org/documentation/serving_data/,我发现如果我想启动 SPARQL 查询端点,我可以在浏览器。但是,如果我启动这条路径(

),我收到此错误:

为什么?我正在做这项研究以找到一种在 Java 代码中启动 Fuseki 服务器的 Java 方法。可能吗?

0 投票
0 回答
1729 浏览

java - Jena TDB/Fuseki 性能

我有一个简单的 SPARQL 查询,它使用本地 Fuseki SPARQL 端点在我的 Jena TDB 存储上执行得相当快:

完成可能需要 10 秒,并且包含一些 owl:ObjectProperty 和其他属性。当我只想使用以下查询显示一个对象属性时(注意最后的附加三元组和 1 的限制):

那么我希望答案会尽快出现,并且只显示之前显示的对象属性之一。毕竟,这只是对先前查询的进一步细化。但是,查询花费的时间要长很多倍,并且会在几分钟而不是几秒钟后完成。

我在这里感到困惑。为什么第二个查询需要这么长时间?

我正在使用 Fuseki 1.1.0 版。这是我的 fuseki 配置文件:

0 投票
1 回答
492 浏览

bash - 启动已加载多个文件的 Fuseki

我想在每次启动时加载几个 Turtle 文件来启动 Fuseki。我注意到它带有一个脚本,该脚本具有相同的选项 {status|start|stop|restart} 就像可以放在 /etc/init.d/ 中的脚本(用于 Tomcat、ElasticSearch 等)。不幸的是,虽然我确实看到有一个通过 config 参数加载多个文件的选项(例如使用 --config 参数运行 ./fuseki-server ),但当我尝试它时它不起作用。

如果我尝试使用 bash 脚本加载新数据,我会找不到 s-put 或 s-post 命令。

那么是否有可能将 Fuseki 作为服务启动并使其加载多个文件?

0 投票
2 回答
644 浏览

proxy - 让 jena 和 fuseki 代理了解联合查询

我们的应用程序建立在 Jena 和 Fuseki 之上。该应用程序使用联合 SPARQL 查询访问公共域中的 SPARQL 端点。

应用程序所针对的某些网络仅允许通过 HTTP 代理的 HTTP 请求作为其网络策略的一部分。

如何配置 fuseki 以便在 SPARQL 子查询中将 HTTP 请求作为 SERVICE 块的一部分发出时,它使用正确的 http_proxy?

在 Linux 上,我尝试使用本地环境变量

在运行 fuseki-server 进程的 shell 中,但 Fuseki 似乎不尊重这个环境变量。

我在 Fuseki 文档中找不到有关如何处理的信息。

我想要一种将 fuseki-server 直接作为 Linux 进程运行并配置代理的方法,无论是在配置文件中,还是作为运行时参数。

感谢所有的建议。

0 投票
1 回答
498 浏览

fuseki - 向 JSON-LD 上下文添加前缀

我正在使用 fuseki 和 JSON-LD 并注意到 fuseki 从 JSON-LD 上下文中的属性中删除了前缀。从 fuseki 加载后的 JSON-LD 上下文示例:

是否可以从 fuseki 返回前缀上下文和 JSON-LD?

可选返回的 JSON-LD 可以通过使用前缀编写新的上下文,例如使用 javascript 格式化回带前缀的形式。gr:hasPriceSpecification。是否有可能使用 JSON-LD javascript 库从这个上下文中创建前缀上下文?

0 投票
1 回答
804 浏览

sparql - Jena 上带有 OPTION(TRANSITIVE) 的 SPARQL 查询错误

我有以下查询

当我将它发送到 Virtuoso 端点时它工作正常,但不适用于我的 Jena 实例。具体来说,我收到以下错误:

如果这是一个 Virtuoso 特定的函数,我希望知道这个查询的等效函数,它可以与 *Jena/Standard SPARQL 一起使用)。预期的输出应该是:

代表“医院”的所有超类

0 投票
1 回答
409 浏览

sparql - 用 TDB 和 Pubby 在 Fuseki 中分离 TBox 和 ABox

对于我当前的项目,我需要加载一个数据集和不同的本体,并使用带有 TDB 和 Pubby 的 Fuseki 将所有内容公开为链接数据。Pubby 将从单个位置获取数据集并基于该位置创建 URI,因此如果我们需要多个不同的位置(如使用 2-3 个独立本体的情况),通过添加另一个数据使用 Pubby 很容易放。

数据集的概念似乎也适用于 Fuseki。

本质上,我需要公开三种类型的 URI:

  • www.mywebsite.com/project/data
  • www.mywebsite.com/project/data/structure
  • www.mywebsite.com/project/ontology

为了使用 Pubby 0.3.3 创建这样的 URI。您将必须指定如下行:

Pubby 中指定的每个数据集都将从某个 URL(通常是 SPARQL 端点)获取其数据。对于本体,您将拥有一个使用第二个 datasetURIPattern 的数据集,如下所示:

如您所见,不同之处在于:conf:sparqlEndpoint(SPARQL 端点)、conf:sparqlDefaultGraph(默认图)、conf:datasetURIPattern(使用 Pubby 创建实际 URI 时需要)。然而,我不清楚在使用 Fuseki 时如何为数据集设置单独的 URI。例如,当使用 Sesame 时,我只是创建了两个不同的存储库,当使用 Pubby 发布数据时,这个技巧就像魅力一样。没有立即明确

Fuseki官方文档中的示例提供了一个单一的数据集(只读或非只读等),但似乎都没有呈现这种情况。没有直接的例子表明 TBox 和 ABox 之间有明确的分离,尽管这是链接数据的基本原则(请参阅保持 ABox 和 TBox 拆分)。

据我了解,这应该是可能的,但如何?TBox 和 ABox 稍后可以通过使用 ( ) 在单个 SPARQL 端点下重新组合是否正确tdb:unionDefaultGraph true ;

0 投票
2 回答
2502 浏览

sparql - 查询多个 TDB 数据集

使用:jena-fuseki-1.1.0、apache-jena-2.12.0

我想要实现的目标和我目前的状态:

我正在尝试使用从 wiki.dbpedia.org/Downloads2014 作为 .nt 文件下载的 dbpedia Persondata(英语和德语)、跨语言链接、图像和指向维基百科文章的链接设置本地 jena-fuseki 服务器。我想对它们运行下面的 SPAQRL-Query 并获得与 dbpedia.org/sparql 相同的结果。这个查询应该给我所有在德国斯图加特出生的人,包括他们的姓名、出生日期、英语和德语描述文本、维基百科链接、图片链接和简短描述。

我在 dbpedia.org/sparql 上得到了什么:

第一排:

"Abdulsamed Akin"@en 1991-07-17+02:00 "Abdulsamed Akin (born July 17, 1991) is a Turkish-German footballer who plays for Stuttgarter Kickers."@en "Abdulsamed Akin (* 17. Juli 1991 in Stuttgart) ist ein deutscher Fußballspieler türkischer Abstammung."@de http://en.wikipedia.org/wiki/Abdulsamed_Akin "Footballer"@en http://commons.wikimedia.org/wiki/Special:FilePath/Abdulsamed_Akin.jpg?width=300

我在 fuseki 上得到了什么:

第一排:

"Abdulsamed Akin"@en "1991-07-17"^^<http://www.w3.org/2001/XMLSchema#date> [empty] [empty] [empty] [empty] "Footballer"@en [empty]

如您所见,我的本地查询中缺少描述文本以及指向维基百科和图片的链接。

由于来自 DBpedia 的单独的 .nt 文件,不同的属性位于不同的 TDB 数据集中。?name、?birth 和 ?description 位于“Persondata”中的 TDB、“Links to Wikipedia Articel”中的 ?wiki 和“Images”中的 ?pic。

所以我需要查询不同的 TDB-Datasources 或以某种方式组合它们。

到目前为止我做了什么:

下载 .nt 文件并在其上使用 tdbloader 后,我得到了五个 tdb 文件夹,我将它们放在本地 fuseki 中。然后我把这两个配置放在一起,目的是结合 tdb-datasets,所以我可以进行上述查询,但它们都不起作用:

第一的:

第二:

那么为什么本地 Query 缺少 Attributes 呢?我是否配置或查询 fuseki 错误?查询中缺少他们的东西吗?还有其他方法可以实现我想要的吗?

我希望能清楚地传达我需要什么,如果没有,请随时询问!

0 投票
0 回答
369 浏览

sparql - 使用 Fuseki 0.2.6 和 Pellet 2.3.1 删除失败

我被迫将外部推理器 Pellet 包含在我的 Fuseki 服务器中。到目前为止,一切都很好,尽管我无法删除包含诸如字符串或整数之类的文字的三元组。我的设置:配置了 Pellet 2.3.1 作为推理器的 Fuseki 0.2.6。
最小示例配置:

内存中加载的最小 owl 文件:

我在本地主机上使用“--update”标志运行服务器,将“test.owl”上方加载到默认图形中,然后插入两个文字:

查询与“Alfred”链接的所有三元组显示,插入成功:

然后我尝试删除 Alfred 的年龄和姓名:

但无论我尝试哪种删除模式,都无法删除文字。我检查了 SPARQL 更新语法没有错误。可以毫无问题地插入和删除不包含任何文字的三元组。我认为颗粒插件可能会引发这种行为,因为所有删除操作都使用 fuseki 服务器使用其默认的 jena 推理器。升级到 Fuseki 1.1.1 不是一种选择,因为这似乎会导致颗粒显示错误的兼容性/可见性问题:

我还尝试使用 TDB 数据库进行此操作,结果与我无法删除任何带有文字的三元组的结果相同。任何人都可以重现这种行为吗?有人知道解决方案或解决方法吗?我错过了什么吗?我会很感激任何提示。感谢您的支持和努力 - 迈克尔

0 投票
1 回答
369 浏览

sparql - fuseki 没有从我电脑上的 dbpedia 中选择

我有 fuseki 在我的电脑上运行。1.1.1 版。但是当我输入查询以从 dbpedia 中进行选择时,它不会返回任何内容。所做的查询假设返回http://dbpedia.org/class/yago/Guitarist110151760作为 ?artistKind 和http://semanticweb.org/laura/ontologies/2014/9/untitled-ontology-26#Guitar作为 ?instrument . 我在protege中制作了本体,并使用了Guitarist110151760播放Instrument Guitar的限制。