Domanda

Per quanto riguarda la mia precedente post , Ora, quando sto testando, progFields in seguito:

System.Reflection.FieldInfo[] progFields = typeof(Program).GetFields();

restituisce nulla. La mia ontologia sul programma è simile a questo:

<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>

e alla fine del file, la sua collezione è definito:

<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>

L'ontologia è stata fatta da Protege. La prego di aiutare in situazione

È stato utile?

Soluzione

Si arriva a zero campi, perché la classe non è un programma enumerato classe OWL .

problema è che il Root ontologia esprime ciò che programma non è, invece di dire quello che è. Questo non è sbagliato, non solo quello che si vuole. Io sono un essere umano, riesco a capire quello che voleva (vale a dire che si hanno 4 e solo 4 programmi e sono tutti diversi), ma il tuo ontologia non dice che . Che cosa il vostro ontologia dice è la seguente:

  • Non ci sono programmi.
  • Se un individuo sembra essere un programma, allora è sicuramente non studente, insegnante, ecc
  • I programmi hanno sempre proprietà atGrade.
  • Se capita di essere o IT, SW, Mgmt, o la letteratura, non sono la stessa cosa.

Ma si potrebbe avere molti altri individui, non solo IT, SW, Mgmt, e letteratura. Quindi ROWLEX giustamente non espone classe programma come classe enum.

ROWLEX genererà si campi statici se rendere la vostra classe programma un vero enumerato classe OWL .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top