OWL使用名称空间处理重复的类名

时间:2019-02-24 13:45:18

标签: namespaces rdf owl semantic-web

我正在用OWL和Pr​​otoge测试构建本体。 Protoge(因此,我也假设是OWL)不允许重复的实体名称。我担心的是,某些术语根据上下文具有不同的含义。例如,“事物”在法律上具有特定领域的含义,但在法律文件中也经常以其通用含义使用。

当然,我可以简单地通过将“技术”附加到每个获得技术定义的实体来区分两者。

但是,我认为更好的方法是命名空间。与普通编程语言一样,我可以在文件“ a”和文件“ b”中定义“事物”,并将它们标识为“ a.thing”和“ b.thing”。但是,OWL导入似乎无法以这种方式工作,并且导入本体中的实体仍通过其原始名称(而不是通过名称空间限定名称)标识。

因此,在OWL中执行此操作的“正确”方法是什么?有什么方法可以引入名称空间来避免名称冲突?谢谢。

编辑:“事物”可能是一个不好的例子,因为它也是默认实体。但是,举个例子,例如不法行为,它的日常含义和技术含义也有所不同,并且都被使用。

1 个答案:

答案 0 :(得分:0)

OWL中的

Thingowl:Thing的简写,其中owl:是为OWL语言保留的名称空间。在Protege中创建实体时,您需要定义一个完整的IRI,您可以在其中完全按照您的描述使用名称空间。

所以,是的,这是一个好主意,并且已经在Protege(以及许多可用于各种编程语言的库中以编程方式操作OWL文件)中提供。

您可以在Protege中更改设置,以显示完整的IRI,而不是缩短的版本或标签(这是一个单独的语句,提供了易于理解的字符串作为实体的标签。