API OWL, API Jena, API Protege, lequel utiliser [fermé]

j'essaie d'implémenter une application basée sur eclipse en travaillant avec des ontologies. (Mon sujet est l'annotation sémantique). J'ai besoin d'afficher l'ontologie de l'utilisateur (comme un arbre) et à établir des liens entre les classes de l'ontologie et des schémas.

comme je n'ai que des compétences de base en programmation, je suis un peu dépassée en ce moment, quant à la façon de concevoir l'application... 1. Question: Quels API utiliser? J'ai trouvé L'API OWL et L'API Jena. Dans l'un des postes (bibliothèque pourrait facilement changer et mettre à jour les fichiers OWL?) Michael a déclaré que " OWLAPI sur Jena. Jena a le soutien de hibou, mais il n'est pas conçu OWL, ce qui le rend un peu encombrant à utiliser. "Comment voyez-vous cela? 2. De plus, il existe aussi L'API Protégé. À première vue, il semble être plus approprié pour moi, car il donne déjà quelques GUI utilitaires etc. Mais je suis un peu confus: en essayant de trouver plus d'informations j'ai trouvé ceci http://protegewiki.stanford.edu/wiki/P4APIOverview<!--4 . Il y est dit "travaux en cours", mais la page a été modifiée pour la dernière fois en 2009. Comment donner un sens à cela? Quelqu'un a-t-il travaillé avec protégé API et peut-il partager ses expériences?

Merci beaucoup d'avance!

18
demandé sur Community 2013-07-10 14:03:02

1 réponses

bien que cette question soit probablement hors sujet pour StackOverflow, c'est toujours une question importante en général, donc voici quelques réflexions générales sur la différence entre L'API Jena et L'API OWL qui, même si elles ne vous font pas préférer l'une à l'autre, pourrait vous donner une meilleure idée de ce que vous obtenez dans l'un ou l'autre cas. Je marque le wiki communautaire pour que d'autres puissent le mettre à jour aussi.

La relation entre OWL et RDF

RDF est un format de représentation graphique. Un graphe RDF est un graphe dirigé dont les nœuds sont des ressources (qui peuvent être anonymes, ou identifiées par IRIs) et des littérales, et dont les contours sont des liens dirigés identifiés par IRIs. C'est étonnamment simple, mais parce que les identificateurs sont IRIs et peuvent souvent être différé, aussi étonnamment utile. Il n'y a vraiment pas grand-chose à dire sur RDF, parce que c'est tout ce qu'il y a. très flexible, et vous pouvez représenter à peu près quoi.

OWL, bien que conçu pour être utilisé dans le Web sémantique, et donc avec des données RDF, est vraiment un langage logique qui se trouve seulement accessoirement liés à RDF. Une ontologie de hibou se compose d'un ensemble d'axiomes de hibou, dont certains déclarent que certains identificateurs se réfèrent à des individus, dont certains affirment des relations entre les individus (et des données non-individuelles, telles que des littérales), dont certains expriment la structure des classes, et ainsi de suite. L'utilité de OWL découle de le fait que, comme RDF, il utilise IRIs comme identificateurs, mais la structure logique pourrait exister entièrement séparément de RDF. En fait, bien que les ontologies de chouette puissent être sérialisé en utilisant RDF et, en effet, c'est probablement la sérialisation la plus courante utilisée, OWL peut aussi être sérialisé en OWL/XML, la syntaxe fonctionnelle de OWL, la syntaxe de Manchester OWL, et tout autre format de sérialisation que quelqu'un invente. Ces formats ont tendance à se concentrer sur les constructions au niveau de la chouette, et il est plus clair que l'ontologie est un ensemble d'axiomes.

Jena API RDF est centrée sur

L'API Jena est très ancrée dans RDF. Le concept de base est le Modèle (qui est plus primitif que l' OntModel, qui est utilisé pour faire des travaux plus compliqués liés aux hiboux) qui fournit une API pratique pour construire des graphiques RDF. En utilisant des modèles, vous allez créer des ressources, ajouter des propriétés, et ainsi de suite. Jena comprend également un reasoner basé sur des règles qui est assez pratique pour travailler avec des graphiques RDF.

maintenant, OWL peut être sérialisé en utilisant RDF, il est donc possible de créer une couche d'enrubannage sur un graphe RDF pour que vous puissiez dire "créer pour moi la classe qui est l'intersection de A et B" et récupérer la ressource identifiant cette classe et ajoutant de manière transparente à la classe les triples RDF qui sont nécessaires dans la sérialisation OWL pour affirmer que la nouvelle classe est (équivalente à) l'intersection de A et B. C'est ce que fait L'API OntModel de Jena. Il le fait d'une manière générique, ce qui signifie que Jena peut gérer d'autres langages ontologiques qui peuvent être sérialisés dans RDF, aussi. Jena OntModels, au moment de la rédaction, ne supporte que OWL1; les nouvelles constructions introduites dans OWL2 ne sont pas encore supportées.

le fait que les constructions au niveau des hiboux à Jena sont simplement des enveloppements de la sérialisation RDF signifie que le raisonnement basé sur des règles est limité dans ce qu'il peut accomplir. En particulier, les raisonnements basés sur les règles de Jena pour OWL sont logiquement incomplets (i.e., ils ne peuvent pas déduire tout que les spécifications du hibou disent devraient être déduites). Ils continuent à le faire assez bien pour le quotidien. Jena fournit une interface de Reasoner, qui permet d'autres (éventuellement non basées sur des règles) reasoners, tels que Pellet pour être utilisé.

La CHOUETTE de l'API est CHOUETTE centrée sur

L'API des hiboux est centrée sur les hiboux, et vous n'aurez pas à vous soucier du tout de RDF (à part identifier les choses par IRIs et créer des littérales comme approprié.) En utilisant L'API OWL, vous allez en fait traiter une ontologie comme un ensemble de axiomes plutôt que comme un ensemble de triples arriver à coder certains axiome. Si vous êtes déjà familier avec les spécifications du hibou, et êtes à l'aise de parler de choses comme ObjectPropertyAssertions, alors vous pouvez trouver L'API du hibou un peu plus naturel.

Le Protégé-OWL API OWL et RDF(S)- centric

Le Protégé-OWL API du Programmeur Guide:

Le Protégé-OWL API est une bibliothèque Java pour le Web Ontology Language (OWL et RDF(S). L'API fournit des classes et des méthodes pour charger et enregistrer des fichiers OWL, pour interroger et manipuler des modèles de données OWL, et pour effectuer le raisonnement basé sur des moteurs de description logique. De plus, L'API est optimisée pour la mise en œuvre d'interfaces utilisateur graphiques.

la page principale pour le protégé-OWL API a aussi quelques beaux diagrammes des classes qu'il fournit. maximum de ces montre qu'il existe des classes pour les deux RDF(S) et CHOUETTE entités.

Protégé-OWL (l'outil, pas L'API) est un éditeur d'ontologie graphique construit sur le dessus de L'API Protégé-OWL. Vous pouvez développer plugins pour elle, qui pourrait être la meilleure alternative dans votre cas.

29
répondu Joshua Taylor 2013-07-11 11:34:44