Question

En ce qui concerne mon post précédent , maintenant, quand je teste, dans progFields ci-dessous:

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

ne retourne rien. Mon ontologie sur le programme est comme ceci:

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

et à la fin du fichier, sa collection est défini:

<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'ontologie a été faite par Protege. Pourriez-vous s'il vous plaît aider dans la situation

Était-ce utile?

La solution

Vous obtenez zéro champs parce que votre classe de programme n'est pas un classe OWL énumérés .

racine du problème est que votre ontologie exprime ce programme n'est pas, au lieu de dire ce qu'il est. Ce n'est pas mal, mais pas ce que vous voulez. Je suis un être humain, je peux comprendre ce que vous vouliez (à savoir que vous avez 4 et seulement 4 programmes et ils sont tous différents), mais votre ontologie ne dit pas que . Que dit votre ontologie est la suivante:

  • Il existe des programmes.
  • Si une personne se trouve être un programme alors il est sûrement pas des étudiants, des enseignants, etc.
  • Les programmes ont toujours la propriété atGrade.
  • S'ils se trouvent soit IT, SW, Contrôle de gestion, ou la littérature, ils ne sont pas les mêmes.

Mais vous pourriez avoir beaucoup d'autres personnes, non seulement, SW, Contrôle de gestion, et de la littérature. Par conséquent ROWLEX ne pas exposer à juste titre la classe du programme comme une classe enum.

ROWLEX vous générer des champs statiques si votre classe de faire un véritable programme dénombrée classe OWL .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top