2017-04-09 2 views
0

Je suis nouveau dans le domaine des ontologies et du raisonnement à Iéna et j'ai désespérément besoin d'aide pour avoir la logique de comment faire ce qui suit. Je construis et ontologie OWL avec les classes suivantes:Raisonnement sur une ontologie à Jena

-Une personne hasInterests Centres d'intérêt - Une personne hasMessage message - Un message hasCategory Catégorie (ou sous-classe de messages) - Un message peut être du spam ou du jambon (sous-classes de un message)

Je veux dire si la catégorie de message est le même que les intérêts de la personne, le message est le jambon

Q1: Je voulais construire l'ontologie telle que le raisonneur déduirait ce donc je pensais à définir jambon comme une intersection de la catégorie de classe et des intérêts et que le spam est complemet à cette intersection classe d'ions. Est-ce applicable à l'aide d'un raisonneur ou devrais-je besoin SPARQL requêtes

Q2: Comment créer des individus et faire l'inférence suivante:

  • hana est une personne
  • message1 est un message
  • sport est une catégorie
  • films est un intérêt

comment déduire que, puisque le sport est pas égal à movi es alors message1 est un spam.

Je suis désespérément besoin d'être dirigé comment mettre en œuvre ce et quoi exactement faire référence à le faire pour ma thèse de maîtrise

+0

Vous devriez simplement commencer par les axiomes de classe. Vous pouvez utiliser Protege pour créer les instructions. Et pour la première inférence, vous avez besoin d'une règle puisque OWL ne supporte pas les variables. – AKSW

+0

Qu'entendez-vous par règle? utiliser un moteur de règles génériques et Rule Object dans Java? – user3379762

+0

Une règle SWRL par exemple depuis que cela peut être représenté comme axiome OWL. – AKSW

Répondre

0

La meilleure façon de le faire (je suis un débutant, mais je réussi faire l'inférence dans les ontologies x_x), c'est en créant votre ontologie avec Protégé et en pensant aux concepts que vous voulez lier ... Vous avez des catégories et des intérêts qui sont assez abstraits, comparés au message et à la personne. Vous devez réfléchir à la manière de les lier, et à quelles classes ils appartiennent. Béton vs Abstrait ... Objets vs LivingBeing ... Animaux vs Plantes ... C'est un exemple. Si vous êtes d'accord avec ceux-ci, vous pouvez les implémenter avec Protégé (comme c'est un outil graphique, c'est plus simple au début): cochez l'onglet "Entités", et le sous-onglet "Classes". Ensuite, vous mettez des règles et des propriétés. (la partie la plus difficile) Typiquement, ce qui est concret n'est pas abstrait ... donc vous devez disjoindre les deux dans leurs propriétés. Et si vous attendez que certaines relations fassent une ontologie "réelle", vous devez définir vos propres propriétés (une personne peut "posséder" des objets, par exemple ... mais un objet ne "possède" personne).

Lorsque vous avez construit votre ontologie de base. Vous devez vérifier si des inférences peuvent être faites (rechercher dans le menu "reasoner" du protégé, et activer l'un d'entre eux, et le synchroniser régulièrement).

Enfin, vous pouvez ajouter des individus à l'intérieur et remplir leurs propriétés (recherchez un sous-onglet nommé "Particuliers").