【问题标题】:Can't definine classes and properties in Stardog无法在 Stardog 中定义类和属性
【发布时间】:2015-02-06 18:46:50
【问题描述】:

我开始使用Stardog 数据库,一开始我遇到了我无法解决的问题。

我创建了database,然后输入:

我将现有的本体导入到这个database。我可以在Stardog 中看到那些triples

但是,当我想浏览此数据库以查看 propertiesclasses 时,我只看到 Thing,而当我尝试使用 classproperty 时,我看到“No matches fount”信息:

谁能给我一个提示我怎样才能在我的模型中添加一些类?

【问题讨论】:

    标签: rdf stardog


    【解决方案1】:

    Stardog(以及 Web 控制台)默认限制它从数据库的哪些部分获取架构信息。

    Stardog documentation 开始,数据库有一个reasoning.schema.graphs 选项,描述如下:

    确定哪些命名图(如果有)包含“tbox”, 即数据的架构部分。

    如果我们查看该属性的关联Javadoc,我们可以看到它的默认值:

    用于指定应提取架构的位置的选项 从。预期是作为上下文的图形 URI 的列表 名称模式公理应该从中提取。默认值为 默认(无上下文)图

    所以 Stardog 在为数据库提取架构时默认只考虑默认的未命名图。

    但是,在您的示例中,您将本体显式加载到命名图中,因此 Stardog 不会自动从中提取模式。要解决此问题,您可以执行以下两项操作之一:

    1. 将您的本体加载到默认图表中
    2. 编辑数据库的 reasoning.schema.graphs 选项以指向包含命名图的本体

    有关如何更改数据库的配置选项,请参阅上述 Stardog 文档。

    【讨论】:

      【解决方案2】:

      Stardog 目前仅从默认图表中提取 web 控制台中的架构,因此如果您想使用 web 控制台,或者坚持使用 CLI 或编程访问,则必须将其移动到那里。此外,正如@RobV 指出的那样,如果您将架构加载到默认图形以外的其他位置,则必须告诉它您将架构放在哪里。

      【讨论】:

        猜你喜欢
        • 2016-11-13
        • 2012-03-29
        • 1970-01-01
        • 2017-06-10
        • 1970-01-01
        • 2017-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多