문제

내에 대해 이전 게시물, 이제 테스트 할 때 아래의 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는 프로그램 클래스를 진실하게 만드는 경우 정적 필드를 생성합니다. 열거 된 올빼미 클래스.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top