Pregunta

En cuanto a mi post anterior , Ahora cuando estoy probando, en progFields a continuación:

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

no devuelve nada. Mi ontología sobre el Programa es la siguiente:

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

y al final del archivo, su colección se define:

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

La ontología ha sido hecha por Protege. Podría, por favor ayudar en la situación

¿Fue útil?

Solución

Se obtiene cero campos debido a su clase de programa no es un enumerado clase OWL .

problema de raíz es que su ontología lo expresa programa no es, en lugar de decir lo que es. Esto no está mal, no es lo que desea. Soy un ser humano, me puedo imaginar lo que quería (es decir, que tiene 4 y sólo 4 programas y son todos diferentes), pero su ontología no dice que . Lo que su ontología dice es el siguiente:

  • Hay programas.
  • Si una persona pasa a ser un programa, entonces seguramente no es estudiante, profesor, etc.
  • Programas siempre tienen la propiedad atGrade.
  • Si, por casualidad, ser TI, SW, Gestión de, o la literatura, no son lo mismo.

Sin embargo, usted podría tener muchas otras personas, no sólo de TI, SW, Gestión de, y literatura. Por lo tanto ROWLEX justamente no expone clase del Programa como una clase de enumeración.

ROWLEX generará que los campos estáticos si hacer su clase del Programa de un verdadero enumerado .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top