【发布时间】:2012-11-30 14:12:57
【问题描述】:
我刚开始在大学的一个项目中使用 OWL。
该项目是关于披萨的,这似乎是 RDF 和 OWL 的常见问题。所以我们首先要做的是模拟一个由两种配料组成的比萨饼:西红柿和奶酪。我使用属性madeof 连接它们。这是我尝试验证的最小代码 sn-p:http://www.mygrid.org.uk/OWL/Validator
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://example.org/pizzeria#">
<owl:Ontology rdf:about=""/>
<!-- ========================= -->
<owl:Class rdf:ID="Topping"/>
<Topping rdf:ID="Cheese"/>
<Topping rdf:ID="Tomato"/>
<owl:ObjectProperty rdf:ID="madeOf">
<rdfs:range rdf:resource="#Topping"/>
<rdfs:domain rdf:resource="#Pizza"/>
</owl:ObjectProperty>
<!-- Pizza -->
<owl:Class rdf:ID="Pizza">
<!-- comes with Cheese and Tomato -->
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeOf"/>
<owl:hasValue rdf:resource="#Tomato"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeOf"/>
<owl:hasValue rdf:resource="#Cheese"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
</rdf:RDF>
但是,验证器告诉我:
猫头鹰深度学习
个人价值:限制(a:madeOf value (a:Cheese))
个人价值:restriction(a:madeOf value (a:Tomato))
猫头鹰完整版
无类型类:http://example.org/pizzeria#Topping
这意味着,我猜,Toppings 类没有定义(我想我这样做了……)并且madeof 属性有问题。我想我在这里做错了什么,现在几乎被困住了。
【问题讨论】: