我使用Protege在OWL中添加了一些新的DataType。
DataType就像百分比一样,我想指定它的范围,其中double值的范围是0到100。
类似地,一个名为Quality的DataType,我想指定它的范围,其中double值的范围是0到1.
我们如何在数据范围表达式中指定这些内容?
我试图找出,但我找到了两个链接但在我的上下文中没用。
How to Define My Own Ranges for OWL DataProperties如果我们手动创建OWL文件而不使用Protege,这非常有用。
http://answers.semanticweb.com/questions/16541/datatype-property-protege当我们无法添加新数据类型时,这与上下文有关。
请帮助如何在Protege
中为这些场景编写数据范围表达式方案:
答案 0 :(得分:7)
只是xsd:double[ >= 0, <= 0 ]
。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://stackoverflow.com/q/24531940/1281433/percentages#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<owl:Ontology rdf:about="http://stackoverflow.com/q/24531940/1281433/percentages"/>
<owl:DatatypeProperty rdf:about="http://stackoverflow.com/q/24531940/1281433/percentages#hasPercentage">
<rdfs:range>
<rdfs:Datatype>
<owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>
<owl:withRestrictions rdf:parseType="Collection">
<rdf:Description>
<xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>0</xsd:minInclusive>
</rdf:Description>
<rdf:Description>
<xsd:maxInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>100</xsd:maxInclusive>
</rdf:Description>
</owl:withRestrictions>
</rdfs:Datatype>
</rdfs:range>
</owl:DatatypeProperty>
</rdf:RDF>
@prefix : <http://stackoverflow.com/q/24531940/1281433/percentages#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:hasPercentage a owl:DatatypeProperty ;
rdfs:range [ a rdfs:Datatype ;
owl:onDatatype xsd:double ;
owl:withRestrictions ( [ xsd:minInclusive
0 ] [ xsd:maxInclusive 100 ] )
] .
<http://stackoverflow.com/q/24531940/1281433/percentages>
a owl:Ontology .
答案 1 :(得分:0)
这篇文章可能对那些希望将离散整数(或任何数据类型)值指定为数据类型属性范围的人有所帮助。在数据范围表达式编辑器中键入以下代码:
Z= c(4, 12)