【问题标题】:Plug in for Protege to Create/Edit SPIN Constraints and Constructors?插入 Protege 以创建/编辑 SPIN 约束和构造函数?
【发布时间】:2016-06-23 21:35:49
【问题描述】:

Protege 中是否有插件或其他方式来创建和编辑 SPARQL/SPIN 约束和构造函数?

据我了解,要在 RDF 中捕获 SPIN 约束,需要对用于 ASK 或 CONSTRUCT 查询的 SPARQL 代码进行解析和编码。它不存储为不透明的字符串。因此,似乎需要一些了解 SPARQL 和 SPIN 的插件。

我已经从 Topbraid Composer 加载了 RDF,包括 SPIN 约束到 Protege 4.3.0,它似乎将约束视为注释,但我似乎无法找到所有细节,尤其是包括所有底层 SPARQL 代码。我在编辑 RDF 文件时确实看到了它。

从广义上讲,我试图找到一种方法来创建/编辑 SPIN 约束和构造函数,并将它们加载到 Sesame 中,让它们对从我的类实例化的个体进行操作。我发布了另一个关于从 TopBraid Composer 到 Sesame 的路径的问题。由于我是 Stack Overflow 的新手,因此我试图让我的问题更加具体。

顺便说一句,不,我不想改用 SWRL。我在使用 SWRL 表达我需要的约束时遇到了麻烦。我已经成功使用 SPARQL。

谢谢。

【问题讨论】:

  • 简短回答:不,没有 - 据我所知。如您所知,可以使用 Topbraid Composer 进行编辑。
  • 好的,谢谢。我只需要将 TopBraid Composer 中的类、属性、构造函数和约束获取到 Sesame 中,这是我已经发布的另一个问题。

标签: sparql protege spin-rdf


【解决方案1】:

在某些版本中,TopBraid Composer 默认将 SPIN 约束存储在 RDF 中。鉴于查询存储为 RDF 三元组,将它们存储在任何 RDF 数据存储中应该没有问题。应用 SPIN 约束是一个不同的问题,因为系统需要知道如何解释不同 SPIN 属性的查询。

你确定你不能在 Protégé 或​​ Sesame 中“看到”它们吗?约束是使用属性spin:constraint 在类上定义的,并且应该显示为bnode。确保您还导入了http://spinrdf.org/spin,或者至少定义了一个名为spin:constraint 的属性。至少,以下内容应该始终可以找到您的约束:

SELECT ?constraint ?class
WHERE {
   ?class <http://spinrdf.org/spin#constraint> ?constraint
}

...其中?constraint 绑定到表示RDF 中的约束的bnode,?class 是定义约束的类。

此外,如果您希望将约束存储为 SPARQL 字符串,请参阅首选项 > TopBraid Composer > SPIN 并选中“生成 sp:text...”中的框之一。然后就可以通过如下查询得到查询文本:

SELECT ?query ?class
WHERE {
   ?class <http://spinrdf.org/spin#constraint> ?constraint .
   ?constraint <http://spinrdf.org/sp#text> ?query
}

【讨论】:

  • 谢谢@scotthenninger。事实证明,我不再需要 Protege 来编辑我的 SPIN 约束,因为我现在可以使用 TopBraid Composer 免费版进行编辑并将生成的 RDF 加载到 Sesame 中。这样做的关键是确保 RDF 文件被加载到默认图形中,这不是 Sesame 工作台 Add 命令中的默认加载方法。所以现在我有了编辑和练习 SPIN 约束、构造函数和规则的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 2018-01-02
  • 2020-02-26
  • 1970-01-01
  • 2018-05-07
  • 2020-11-10
  • 1970-01-01
相关资源
最近更新 更多