.NET에서 온톨로지 클래스의 개인을 확보하십시오
문제
내에 대해 이전 게시물, 이제 테스트 할 때 아래의 progfields :
System.Reflection.FieldInfo[] progFields = typeof(Program).GetFields();
아무것도 반환하지 않습니다. 프로그램에 대한 나의 온톨로지는 다음과 같습니다.
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Program">
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Student"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Teacher"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Rank"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Course"/>
<owl:disjointWith>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#LearningResource"/>
</owl:disjointWith>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#ResourceAuthor"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Note"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#ClassOfCourse"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#atGrade"/>
</owl:onProperty>
<owl:allValuesFrom rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Grade"/>
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Project"/>
</owl:disjointWith>
그리고 파일 끝에는 컬렉션이 정의됩니다.
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Information_Technology"/>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Software"/>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Management"/>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Literature"/>
</owl:distinctMembers>
</owl:AllDifferent>
온톨로지는 Protege에 의해 만들어졌습니다. 상황에서 도와 주시겠습니까?
해결책
프로그램 클래스가 열거 된 올빼미 클래스.
근본 문제는 온톨로지가 무엇인지 말하는 대신 어떤 프로그램이 아닌지를 표현한다는 것입니다. 이것은 당신이 원하는 것이 아니라 잘못된 것이 아닙니다. 나는 인간입니다. 나는 당신이 원하는 것을 알아낼 수 있습니다 (즉, 당신은 4 개와 4 개 프로그램 만 가지고 있으며 모두 다릅니다). 당신의 온톨로지는 그렇게 말하지 않습니다. 온톨로지가 말하는 것은 다음과 같습니다.
- 프로그램이 있습니다.
- 개인이 프로그램이되면 반드시 학생, 교사 등이 아닙니다.
- 프로그램은 항상 Atgrade 속성을 가지고 있습니다.
- 그들이 그것, SW, MGMT 또는 문헌이라면, 그것들은 동일하지 않다.
그러나 당신은 다른 개인들, sw, mgmt 및 문학을 가질 수 있습니다. 따라서 Rowlex는 프로그램 클래스를 열거 클래스로 노출하지 않습니다.
Rowlex는 프로그램 클래스를 진실하게 만드는 경우 정적 필드를 생성합니다. 열거 된 올빼미 클래스.
제휴하지 않습니다 StackOverflow