在Protege中为数据类型属性定义DataRange表达式

时间:2014-07-02 13:08:03

标签: rdf semantic-web owl protege custom-data-type

我使用Protege在OWL中添加了一些新的DataType。

DataType就像百分比一样,我想指定它的范围,其中double值的范围是0到100。

类似地,一个名为Quality的DataType,我想指定它的范围,其中double值的范围是0到1.

我们如何在数据范围表达式中指定这些内容?

我试图找出,但我找到了两个链接但在我的上下文中没用。

  1. How to Define My Own Ranges for OWL DataProperties如果我们手动创建OWL文件而不使用Protege,这非常有用。

  2. http://answers.semanticweb.com/questions/16541/datatype-property-protege当我们无法添加新数据类型时,这与上下文有关。

  3. 请帮助如何在Protege

    中为这些场景编写数据范围表达式

    方案: enter image description here

2 个答案:

答案 0 :(得分:7)

只是xsd:double[ >= 0, <= 0 ]

screenshot

<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)