我正在使用Protege 4.3来创建我的OWL2本体。最近我提到在添加注释属性rdfs:label时,您可以选择定义数据类型(例如xsd:string)或语言(xml:lang)。但是两者都无法定义。如果选择数据类型,则语言字段将淡出,反之亦然。
这可能是一个特定于Protege的问题,但我想知道OWL2本身是否同时禁止使用数据类型和语言。我做了一些研究,但我找不到任何明确提到的文件。但我也找不到一个完成它的例子。有点像...
<Class rdf:about="MyClass">
<rdfs:label xml:lang="en" rdfs:Datatype="xsd:string">My special class</rdfs:label>
</Class>
......或......
<http://example.org/AboutMe> ns0:gender "male"@en^^xsd:string .
我猜上面的例子无效,但为什么?
答案 0 :(得分:4)
你不能这样做。它不是OWL的属性,而是底层RDF的属性。来自资源描述框架(RDF):概念和抽象语法:
3.4 Literals
文字用于识别数字和日期等值 词汇表示的手段。由文字代表的任何东西 也可以用URI表示,但它通常更方便或 直观地使用文字。
文字可能是RDF语句的对象,但不是主题 或谓词。
文字可能普通或键入:
- plain literal是一个与可选语言标签相结合的字符串。这可以用于自然语言的纯文本。按照建议 在RDF形式语义[RDF-SEMANTICS]中,这些普通文字是 自表示。
- typed literal是一个与数据类型URI结合的字符串。它表示通过获取的已标识数据类型的值空间的成员 将词汇 - 值 - 值映射应用于文字字符串。
即将推出新版本的RDF,其中有些简化。将不会有更简单的文字;一切都将有一个数据类型。曾经是普通文字的将具有相同的词法形式,并且将具有数据类型xsd:string
。语言标记字符串将具有数据类型http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
。这在3.3 Literals的RDF 1.1 Concepts and Abstract Syntax: W3C Candidate Recommendation 05 November 2013中有所描述。该文档可能会在被接受之前发生变化,因此如果您将其用作参考,请务必获取最新版本。
答案 1 :(得分:1)
事实上,与约书亚·泰勒在答案中所说的相反,它是OWL 2结构规范的一个属性。 OWL 2规范中的相关文本是:
Literals 表示特定字符串或整数等数据值。它们类似于类型化的RDF文字[RDF Concepts],也可以理解为表示数据值的个体。每个文字都包含一个词法形式,一个字符串和一个数据类型;在Section 4中更详细地描述了OWL 2中支持的数据类型。由词法形式
"abc"
和由IRIdatatypeIRI
标识的数据类型组成的文字写为"abc"^^datatypeIRI
。此外,其数据类型为 rdf:PlainLiteral 的文字可以在功能样式语法本体文档中缩写为普通RDF文字[RDF Concepts]。这些缩写纯粹是语法快捷方式,因此不会反映在OWL 2的结构规范中.OWL 2实现的可观察行为必须就像在解析过程中扩展这些快捷方式一样。
在OWL 2中,没有普通的文字。因此,带有语言标签的文字实际上是用rdf:PlainLiteral
键入的文字,这种类型文字的词汇形式由一个字符串后跟@
后跟语言标记组成。 Protégé只允许通过为字符串和语言标记添加单独的字段来指定类型rdf:PlainLiteral
的文字。该功能特定于rdf:PlainLiteral
,因此语言标记部分显示为灰色是正常的。
但是,当OWL 2本体序列化为RDF时,序列化使用RDF普通文字代替键入的rdf:PlainLiteral
。 RDF文字被定义为Joshua说。
现在,OWL 2 ontologies中文字的处理不适用于OWL 2 Full ontologies(即RDF图),因此,OWL 2 Full本体可以有真正的非类型文字,只有这些才能有一个语言标签。但是Protégé4仅限于制作OWL 2本体,而不是OWL 2 Full ontologies。