Pergunta

No que diz respeito à minha post anterior , agora quando eu estou testando, progFields em abaixo:

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

retorna nada. Meu ontologia sobre o Programa é assim:

<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 no final do arquivo, é coleção é definida:

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

A ontologia foi feita por Protege. Você poderia por favor me ajude em situação

Foi útil?

Solução

Você começa de zero campos porque sua classe Programa não é uma enumerado OWL classe .

problema de raiz é que seus expressa ontologia o programa não está, em vez de dizer o que é. Isso não é errado, não apenas o que você quer. Eu sou um ser humano, eu posso descobrir o que você queria (ou seja, que você tem 4 e apenas 4 programas e eles são todos diferentes), mas sua ontologia não diz que . Qual a sua ontologia diz é o seguinte:

  • Existem programas.
  • Se um indivíduo passa a ser um programa, então não é certamente estudante, professor, etc.
  • Programas sempre tem atGrade propriedade.
  • Se acontecer de ser de TI, SW, Mgmt, ou Literatura, eles não são os mesmos.

Mas você pode ter muitas outras pessoas, não apenas de TI, SW, Mgmt e Literatura. Daí ROWLEX justamente não expõe classe Programa como uma classe enum.

ROWLEX você vai gerar campos estáticos se tornar sua classe Programa um verdadeiro enumerado OWL classe .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top