2011-02-10 7 views
0

Je me demande comment, à partir d'une ontologie utilisant le framework Iéna, charger un modèle dans lequel je retrouverai la même sémantique définie dans l'ontologie. J'ai trouvé à propos Jean ontology API donnant la possibilité de travailler sur des modèles d'ontologie, classes, etc.Comment charger un modèle en mémoire basé sur une ontologie en utilisant le framework Jena?

Ensuite, donner l'exemple suivant:

<owl:Class rdf:ID="DigitalCamera"> 
    <rdf:type owl:ObjectProperty /> 
</owl:Class> 

Il est possible de faire:

Resource r = myModel.getResource(myNS + "DigitalCamera"); 
OntClass cls = (OntClass) r.as(OntClass.class); 

Cependant, je cherche à obtenir mes mains directement sur la classe/instances DigitalCamera et ne pas passer par OntClass ou Resource comme suit:

DigitalCamera camera = new DigitalCamera(); 

Ensuite, lorsque je cherchais une certaine propriété de cette caméra, je pouvais y accéder directement et rester concentré sur la sémantique des données comme une DSL. Est-ce que Jena propose ce type de framework dédié (généré?) Représentant n'importe quelle ontologie?

Merci

Répondre

0

Il y a un problème conceptuel faire ce que vous demandez, ce qui est qu'une force de RDF est que le modèle de données est malléable. Ceci est parfois exprimé comme "n'importe qui peut dire n'importe quoi". En d'autres termes, l'état de votre application est entièrement défini par ce qui se trouve dans le graphique à un moment donné. Supposons que la ressource r ait actuellement rdf:type foaf:Person, il est parfaitement possible et légal que ce graphique change de sorte que r ait, disons, rdf:type skos:Concept à la place. Ou, en effet, être les deux. Ainsi, utiliser une sorte de ORM pour représenter une ressource comme une classe Java immuable Person ou Concept risque de devenir incomplet ou périmé. C'est (en partie) pourquoi Iéna ne le fait pas: l'état dans Iéna est entièrement basé sur ce qui est dans le graphique RDF. Cela dit, si vous êtes prêt à accepter ce risque, ou si vous savez que dans votre application il y a peu ou pas de chance que le mappage des classes URI de ressources vers Java change radicalement, il existe des extensions Jena qui peuvent T'aider. Je suggère de regarder JenaBean comme un exemple.

Questions connexes