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 服务器不显示数据集的主要内容,如果未能解决你的问题,请参考以下文章