例如,我有一个Fruit和vitamin类的本体论。水果类只有橘子和香蕉为亚类,维生素类只有维他命C和维他命B为亚类。这些子类都是互不相交的。
我还提供了一个object属性,类Fruit作为域,类Vitamin作为范围。
然后,我定义了限制条件:“橘子提供一些维他命C”和“香蕉提供一些维他命B”。
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!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.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#"
xml:base="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5"
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#">
<owl:Ontology rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5"/>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provide -->
<owl:ObjectProperty rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provide"/>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideB -->
<owl:ObjectProperty rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideB">
<rdfs:subPropertyOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provide"/>
<owl:propertyDisjointWith rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideC"/>
<rdfs:domain>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideB"/>
<owl:allValuesFrom rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Banana"/>
</owl:Restriction>
</rdfs:domain>
<rdfs:range>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideB"/>
<owl:allValuesFrom rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#B"/>
</owl:Restriction>
</rdfs:range>
</owl:ObjectProperty>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideC -->
<owl:ObjectProperty rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideC">
<rdfs:subPropertyOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provide"/>
<rdfs:domain>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideC"/>
<owl:allValuesFrom rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Orange"/>
</owl:Restriction>
</rdfs:domain>
<rdfs:range>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#provideC"/>
<owl:allValuesFrom rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#C"/>
</owl:Restriction>
</rdfs:range>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#A -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#A">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Vitamin"/>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#B -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#B">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Vitamin"/>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Banana -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Banana">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Fruit"/>
<owl:disjointWith rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Orange"/>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#C -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#C">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Vitamin"/>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Fruit -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Fruit">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Banana"/>
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Orange"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Orange -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Orange">
<rdfs:subClassOf rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Fruit"/>
</owl:Class>
<!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Vitamin -->
<owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#Vitamin">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#A"/>
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#B"/>
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#C"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// General axioms
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDisjointClasses"/>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#A"/>
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#B"/>
<rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-5#C"/>
</owl:members>
</rdf:Description>
</rdf:RDF>
<!-- Generated by the OWL API (version 3.5.0) http://owlapi.sourceforge.net -->
在一个Java类中可以声明多少字段有限制吗?这个问题涉及方法的参数数,但我很想知道Java类是否有任何限制,以及这个限制是什么。 这只是出于好奇--我实际上不会声明一个包含数千个字段的类。
为什么Java可以推断出多个上限类型的共同祖先,而不能推断出下限类型的共同祖先? 更具体地说,请考虑以下示例:
我需要一个任务的解释。 我正在为餐厅建模一个本体。与此问题相关的类是和。 类包含具有它们提供的菜肴种类的子类。例如,。在子类中,我添加了类似的实例。
在静态编程语言中,与Java一样,我们可以通过@Target元注释(例如。所以注释只能应用于值参数)。 我的用例是,我想使用反射来验证属性(例如。@MustNotBeAir name: String),我想根据属性的类型限制注释的种类(例如。@MustBe正数: Int只能是应用于Int属性)。也欢迎对基于反射的验证的可行性进行评论。 是否有任何方法可以在编译时实现这一点,或者我需要在运行时检查这
现在,我有了一个扩展上述抽象类的实现类 请注意,我正在将实现类中的2个抽象方法的作用域从protected更改为public,如何限制实现类修改作用域。 欢迎任何设计更改、建议或模式。
问题内容: 我上课了。我怎么能说我想成为某个班级的实施者?编写根本无法编译。 问题答案: 使用代替。