你还没有提到你是如何构建你的本体的。如果您是手动编写 OWL(例如,使用函数式语法),那么您会采用一种方式;如果您正在编写 RDF,那么您将另外编写(您将编写 OWL 公理的 RDF 编码)。了解这些是如何完成的最简单的方法可能是使用 Protégé 或类似的图形编辑器定义本体,然后查看生成的代码。我假设由于您使用了日期时间一词,因此您正在查看一个数据属性,其值应该是数据类型 xsd:dateTime 的文字。
在门徒中
在 Protégé 中你会做这样的事情:
在 OWL 函数语法中
数据属性范围公理的语法在9.3.5 Data Property Range 中给出,来自OWL 2 Web Ontology Language
Structural Specification and Functional-Style Syntax (Second Edition)。当我们将本体保存在函数式语法中时,我们得到:
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)
Ontology(<http://stackoverflow.com/q/21486301/1281433/projects>
Declaration(Class(<http://stackoverflow.com/q/21486301/1281433/projects#Project>))
Declaration(DataProperty(<http://stackoverflow.com/q/21486301/1281433/projects#dueDate>))
DataPropertyDomain(<http://stackoverflow.com/q/21486301/1281433/projects#dueDate> <http://stackoverflow.com/q/21486301/1281433/projects#Project>)
DataPropertyRange(<http://stackoverflow.com/q/21486301/1281433/projects#dueDate> xsd:dateTime)
)
重要的公理是
DataPropertyRange(<http://stackoverflow.com/q/21486301/1281433/projects#dueDate> xsd:dateTime)
在 RDF 中
OWL 可以在 RDF 中序列化,而 RDF 可以通过多种方式序列化。这是该本体在 RDF 的 Turtle 序列化和 RDF/XML 序列化中的样子:
@prefix : <http://stackoverflow.com/q/21486301/1281433/projects#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<http://stackoverflow.com/q/21486301/1281433/projects>
a owl:Ontology .
:Project a owl:Class .
:dueDate a owl:DatatypeProperty ;
rdfs:domain :Project ;
rdfs:range xsd:dateTime .
当然,重要的三元组是
:dueDate rdfs:range xsd:dateTime
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://stackoverflow.com/q/21486301/1281433/projects#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology rdf:about="http://stackoverflow.com/q/21486301/1281433/projects"/>
<owl:Class rdf:about="http://stackoverflow.com/q/21486301/1281433/projects#Project"/>
<owl:DatatypeProperty rdf:about="http://stackoverflow.com/q/21486301/1281433/projects#dueDate">
<rdfs:domain rdf:resource="http://stackoverflow.com/q/21486301/1281433/projects#Project"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
</owl:DatatypeProperty>
</rdf:RDF>
这里重要的仍然是同一个三元组,但在这种格式中它写成:
<owl:DatatypeProperty rdf:about="http://stackoverflow.com/q/21486301/1281433/projects#dueDate">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
</owl:DatatypeProperty>