首页 > 解决方案 > Fuseki 服务器不显示数据集

问题描述

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

系统:

工作流程:

问题: 我可以通过以下方式访问 RDF 文件:http://localhost:8080/fuseki我可以执行 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

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

标签: javatomcatshirofuseki

解决方案


事实证明,这个问题更多地与我对 MAC OS 的不熟悉有关,而不是与 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

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


推荐阅读