Rdf 如何为OWL DataProperties定义自己的范围

Rdf 如何为OWL DataProperties定义自己的范围,rdf,owl,rdfs,Rdf,Owl,Rdfs,我最近开始学习Web本体语言(OWL)。我想用自己定义的值范围定义DataProperty。 考虑以下属性: <owl:DatatypeProperty rdf:ID="myProperty"> <rdfs:domain rdf:resource="#MyDomain"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> </owl:Da

我最近开始学习Web本体语言(OWL)。我想用自己定义的值范围定义DataProperty。 考虑以下属性:

  <owl:DatatypeProperty rdf:ID="myProperty">
     <rdfs:domain rdf:resource="#MyDomain"/>
     <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>
  </owl:DatatypeProperty>

该属性具有双精度值的范围,但我希望限制该范围,以便使我的属性仅接受0和1之间的双精度值。如果您能指导我如何定义自己的数据属性范围,我将不胜感激。

给您(为了简洁起见,请使用Turtle而不是RDF/XML):

:myProperty a owl:DatatypeProperty;
rdfs:domain:MyDomain;
rdfs:范围[
rdfs:数据类型;
owl:onDatatype xsd:double;
owl:withRestrictions([xsd:minInclusive 0][xsd:maxInclusive 1])
] .
我建议您使用
xsd:decimal
而不是
xsd:double
,因为
xsd:double
的精度有限,并且与
xsd:decimal
不相交,这也使得它与
xsd:integer
xsd:int
等不相交

更新:在RDF/XML中,它对应于(看看它与Turtle相比有多凌乱):


0
1.
但是,如果您直接使用文本编辑器编写RDF,您应该真正学会使用。它比RDF/XML更简单、更简洁。你真的可以看到三元组。而且它很快就会成为一个标准,W3C候选推荐即将推出


**2017年10月3日更新:。如果您喜欢基于JSON的RDF表示法,还有另一个W3C标准。

谢谢。你能用RDF/XML格式写吗?我试着自己转换它,但由于我对海龟不太熟悉,所以没有得到任何可以接受的结果。