Fuseki 服务器不显示数据集

Posted

技术标签:

【中文标题】Fuseki 服务器不显示数据集【英文标题】:Fuseki server doesn't show datasets 【发布时间】:2019-01-07 13:21:08 【问题描述】:

我是 Tomcat、Fuseki 和 Shiro.ini 文件的新手,所以请原谅我提出愚蠢的问题。

系统:

MacMini ==> OS.X 10.13(作为开发服务器) Java ==> 8 Tomcat ==> 9.0.10

工作流程:

通过 Plist 文件,Tomcat 实例在每次启动服务器时启动。 在/Users/username/tomcat/webapps我已经把解压成功的fuseki.war文件放好了。 我插入了一个定制的 RDF 文件,该文件在重新启动后加载并提供服务 (这是好事的终结)

问题: 我可以通过:http://localhost:8080/fuseki 访问 RDF 文件,我可以执行 SPARQL 查询以及我需要完成的所有其他事情。但是,当将开发服务器连接到 PC 并通过其 IP 访问它时:例如http://192.168.0.112:8080/fuseki;我最终看到服务器状态为绿色,除了数据集之外,整个 Web 界面都可以正常工作。当我转到http://192.168.0.112:8080/fuseki/dataset 并按“查询”(或任何其他按钮)时,它会显示:“请选择一个数据库”

**原因: 我找到了这个线程fuseki webinterface does not show datasets (SO),它引导我调查 shiro.ini 文件。事实证明我没有。

然后我搜索了shiro.ini,在/Users/username/tomcat/webapps/fuseki/WEB-INF/web.xml找到了引用:

<context-param>
  <param-name>shiroConfigLocations</param-name>
  <!-- Try a path in: FUSEKI_BASE, FUSEKI_HOME, war resource
  If a "file:" then look there and there only.
  -->
  <param-value>shiro.ini</param-value>
</context-param>

这让我觉得我需要将 shiro.ini 文件放在我的根文件夹 (Users/username/tomcat/webapps/fuseki/shiro.ini) 而不是 (Users/username/tomcat/webapps/fuseki/run/shiro.ini) 中。但是两者都不起作用。

我还查看了一个日志文件:catalina.out,据此看来 shiro.ini 文件已加载(或者至少没有迹象表明它存在错误。) 以下是该日志的相关摘录:

[2018-07-31 09:18:54] Config     INFO  FUSEKI_HOME=unset
[2018-07-31 09:18:54] Config     INFO  FUSEKI_BASE=/etc/fuseki
[2018-07-31 09:18:54] Config     INFO  Shiro file: file:///etc/fuseki/shiro.ini
[2018-07-31 09:18:55] Config     INFO  Context path = /fuseki
[2018-07-31 09:18:55] Config     INFO  Configuration file: /etc/fuseki/config.ttl

但是我找不到任何文件夹etc/fuseki/?那么,这是怎么回事呢?

这是shiro.ini 文件:

[users]
admin=passXXX     #non-default

[main]
#localhost=org.apache.jena.fuseki.authz.LocalhostFilter

[roles]


[urls]
##control open to anyone
/$/status = anon
/$/ping = anon
##rest restricted to Localhost
## see above for localhost

#/$/** = localhost
/**=anon

我不确定此时发生了什么,所以任何指针都非常受欢迎。

【问题讨论】:

【参考方案1】:

事实证明,这个问题更多地与我对 MAC 操作系统的不熟悉有关,而不是与 Tomcat 或 Fuseki 相关。

catalina.out 文件中引用的文件夹 /etc/fuseki 被紧紧锁定,它的实际路径是 /private/etc/fuseki(虽然这似乎无关紧要)

默认情况下,由于根本没有权限,您无法进入 fuseki 文件夹。甚至在做:

sudo cd /private/etc/fuseki 

sudo cd /etc/fuseki

行不通。我需要通过 getinfo 授予自己对该文件夹的读/写访问权限(尽管我认为您也可以通过 chown 实现这一点。

现在我可以查看该文件夹的内容,但其中的所有文件和文件夹都有相同的问题并需要相同的解决方案。所以现在我可以自定义 shiro.ini 和 configuration/rdf.ttl 文件了。

如果我这样做了

sudo cd /private/etc/fuseki 

sudo cd /etc/fuseki

现在,我可以成功查看内容了。

【讨论】:

以上是关于Fuseki 服务器不显示数据集的主要内容,如果未能解决你的问题,请参考以下文章

Jena+fuseki

使用 WITH XMLNAMESPACES 的 s-s-rS 查询不返回数据集

为啥我的数据库对象没有显示记录集?

虹膜数据集未显示“物种”列

ADO 记录集数据未显示在表单上

POWER BI 支持一个报表连接多数据集