我开始使用Stardog
数据库,一开始我遇到了我无法解决的问题。
我已经创建database
,然后输入:
我将现有的本体导入到这个database
. 我能看到那些triples
在Stardog
但是,当我想浏览此数据库以查看properties
并且classes
我只看到Thing
时,当我尝试使用其中一个class
或property
我看到“ No matches fount
”信息时:
谁能给我一个提示我怎样才能在我的模型中添加一些类?
Stardog(以及 Web 控制台)默认限制它从数据库的哪些部分获取模式信息。
从Stardog 文档中,数据库有一个reasoning.schema.graphs
选项,描述如下:
确定哪个(如果有)命名图包含“tbox”,即数据的模式部分。
如果我们查看该属性的相关Javadoc,我们可以看到它的默认值:
用于指定应从中提取架构的位置的选项。预期是一个图 URI 列表,它们是应该从中提取的上下文名称模式公理。默认值是默认(无上下文)图
所以 Stardog 在为数据库提取模式时默认只考虑默认的未命名图。
但是,在您的示例中,您将本体显式加载到命名图中,因此 Stardog 不会自动从中提取模式。要解决此问题,您可以执行以下两项操作之一:
reasoning.schema.graphs
数据库的选项以指向包含命名图的本体请参阅上述 Stardog 文档以了解如何更改数据库的配置选项。
Stardog 目前仅从默认图表中提取 web 控制台中的模式,因此如果您想使用 web 控制台,或者坚持使用 CLI 或编程访问,则必须将其移动到那里。此外,正如@RobV 指出的那样,如果您将架构加载到默认图形以外的其他位置,则必须告诉它您将架构放在哪里。