1
  • 我创建了一个名为kind的数据属性
  • 我希望它的范围是StateKing。我不知道该怎么做。事实上,在“属性断言视图”“描述视图”中,当我单击“添加”图标(+)时,会弹出下一个 Ranges,其中包含指定的数据类型,如 int、Boolean、integer...
  • 请注意,StateKing是一个枚举类

    StateKing等效类{choise , final , fork , initial , join , junction , state}。

谢谢你的建议。

PS:我现在无法添加图像。

4

1 回答 1

3

StateKing是一个类,所以如果你想拥有一个使用它作为范围的属性,它需要是一个对象属性而不是数据属性。

下面的代码是使用 Manchester 语法表示的本体,如果将其保存为 .owl,您将能够使用 Protege 4 打开它。

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY dc "http://purl.org/dc/elements/1.1/" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>

<rdf:RDF xmlns="http://www.example.org/demo.owl#"
 xml:base="http://www.example.org/demo.owl"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:xml="http://www.w3.org/XML/1998/namespace">
<owl:Ontology rdf:about="http://www.example.org/demo.owl"/>

<owl:ObjectProperty rdf:about="http://www.example.org/demo.owl#kind">
    <rdfs:range rdf:resource="http://www.example.org/demo.owl#StateKing"/>
</owl:ObjectProperty>

<owl:Class rdf:about="http://www.example.org/demo.owl#StateKing">
    <owl:equivalentClass>
        <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <rdf:Description rdf:about="http://www.example.org/demo.owl#join"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#state"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#choise"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#final"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#initial"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#junction"/>
                <rdf:Description rdf:about="http://www.example.org/demo.owl#fork"/>
            </owl:oneOf>
        </owl:Class>
    </owl:equivalentClass>
</owl:Class>


<owl:Class rdf:about="&owl;Thing"/>

<owl:Thing rdf:about="http://www.example.org/demo.owl#choise">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#final">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#fork">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#initial">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#join">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#junction">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>

<owl:Thing rdf:about="http://www.example.org/demo.owl#state">
    <rdf:type rdf:resource="&owl;NamedIndividual"/>
</owl:Thing>
</rdf:RDF>
于 2013-03-04T14:03:54.693 回答