FR2880715A1 - Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice - Google Patents

Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice Download PDF

Info

Publication number
FR2880715A1
FR2880715A1 FR0507762A FR0507762A FR2880715A1 FR 2880715 A1 FR2880715 A1 FR 2880715A1 FR 0507762 A FR0507762 A FR 0507762A FR 0507762 A FR0507762 A FR 0507762A FR 2880715 A1 FR2880715 A1 FR 2880715A1
Authority
FR
France
Prior art keywords
concept
data structure
trellis
concepts
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0507762A
Other languages
French (fr)
Inventor
Francois Paulus
Alain Bidault
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0507762A priority Critical patent/FR2880715A1/en
Priority to PCT/FR2006/001506 priority patent/WO2007010100A2/en
Publication of FR2880715A1 publication Critical patent/FR2880715A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Abstract

The method involves establishing a hierarchical generic data structure by associating a recursive N-ary tree structure to an element hierarchy representing lattice. Nodes of the tree structure are associated to the lattice elements and a hash table having keys formed by element representing objects. The data structure is formed as a recursive hash table with entries equivalent to successive line nodes in an upper limit of the lattice. Independent claims are also included for the following: (A) utilization of a data structure (B) a device for coding a lattice representing hierarchy of elements (C) computer program product recorded on a storage medium to execute the method for coding a lattice representing hierarchy of elements.

Description

PROCÉDÉ ET SYSTÈME DE CODAGE D'UN TREILLIS REPRÉSENTATIFPROCESS AND SYSTEM FOR CODING A REPRESENTATIVE MESH

D'UNE HIÉRARCHIE D'ÉLÉMENTS L'invention concerne un procédé et un système de codage d'un treillis représentatif d'une hiérarchie d'éléments, tels que notamment des concepts primitifs et/ou des concepts définis appartenant à une ontologie. The invention relates to a method and a system for coding a trellis representative of a hierarchy of elements, such as in particular primitive concepts and / or defined concepts belonging to an ontology.

Une ontologie est une entité formée par un ensemble de connaissances, de faits et de règles relatifs à un domaine donné, domaine scientifique, culturel, administratif, savoir faire industriel ou commercial ou autre. An ontology is an entity formed by a set of knowledge, facts and rules relating to a given field, scientific, cultural, administrative, industrial or commercial know-how or other.

Les connaissances, faits et règles précités peuvent inclure une hiérarchie de concepts, lesquels représentent des concepts entre un concept vide, engendré par un prédicat qui n'a pas de sens dans l'ontologie considérée, et un concept universel, permettant de concevoir tous les concepts incorporant l'ontologie considérée. The aforementioned knowledge, facts and rules can include a hierarchy of concepts, which represent concepts between an empty concept, generated by a predicate which has no meaning in the considered ontology, and a universal concept, allowing to conceive all the concepts incorporating the considered ontology.

Outre la hiérarchie de concepts précitée, une ontologie peut communément comprendre des prédicats incluant des entités telles que concept, rôle ou prédicat ordinaire. In addition to the aforementioned hierarchy of concepts, an ontology can commonly include predicates including entities such as concept, role or ordinary predicate.

Pour assurer la représentation, à partir d'un codage, d'une hiérarchie de concepts d'une ontologie donnée, la méthode la plus aboutie connue actuellement a été proposée par Monsieur Alain Bidault, confer Thèse n 6932 présentée pour obtenir le grade de docteur es Sciences de l'Université Paris XI Orsay spécialité Informatique par cet auteur, sujet: Affinement de Requêtes posées à un Médiateur au sein du système PICSEL, Paris juillet 2002. To ensure the representation, from a coding, of a hierarchy of concepts of a given ontology, the most successful method currently known has been proposed by Mr. Alain Bidault, confer Thesis n 6932 presented to obtain the degree of doctor. es Sciences of the University of Paris XI Orsay specializing in Computer Science by this author, subject: Refinement of Requests to a Mediator within the PICSEL system, Paris July 2002.

Selon la méthode précitée, les informations contenues dans une ontologie donnée sont traduites par des prédicats, lien, association sémantique ou logique entre atomes signifiants pouvant être associés à différentes instances, valeurs spécifiques signifiantes d'une variable ou d'un atome. According to the aforementioned method, the information contained in a given ontology is translated by predicates, link, semantic or logical association between signifying atoms which can be associated with different instances, specific significant values of a variable or of an atom.

Un processus de saturation de connaissances, règles, disjonctions, inclusions définitions de l'ontologie permet de calculer les informations implicites au moyen d'un raisonneur, défini pour un langage ou une logique de description précis. A process of saturation of knowledge, rules, disjunctions, inclusions definitions of ontology makes it possible to calculate implicit information by means of a reasoner, defined for a precise language or description logic.

Selon la méthode précitée, un concept est un prédicat unaire (n'acceptant qu'un seul argument) avec lequel il est possible de construire des formules logiques de description. According to the aforementioned method, a concept is a unary predicate (accepting only one argument) with which it is possible to construct logical description formulas.

Une ontologie comportant un ensemble de concepts et une hiérarchie de concepts peut être représentée sous forme d'un treillis. Un treillis est alors défini comme une relation d'ordre partielle pour laquelle tout couple d'éléments ou concepts (el, e2) possède un élément eS supérieur à un élément eI inférieur commun selon les relations: el <eS et e2 < eS et>eIete2>el. An ontology comprising a set of concepts and a hierarchy of concepts can be represented in the form of a lattice. A lattice is then defined as a partial order relation for which any pair of elements or concepts (el, e2) has an element eS greater than a common lower element eI according to the relations: el <eS and e2 <eS and> eIete2> el.

Dans ces relations, les symboles > et < désignent la relation d'ordre ou hiérarchie précitée. In these relations, the symbols> and <denote the above-mentioned order or hierarchy relation.

L'ordre est partiel, car il n'est pas défini pour tous les éléments. Certains éléments sont hiérarchiquement inférieurs à d'autres, mais certains éléments ne sont pas comparables à d'autres. Un élément peut avoir plusieurs éléments hiérarchiquement supérieurs et inférieurs. The order is partial, because it is not defined for all the elements. Some items are hierarchically inferior to others, but some items are not comparable to others. An element can have multiple hierarchically higher and lower elements.

La structure de treillis est plus riche qu'une structure d'arbre. En effet, un arbre ne permet pas qu'un élément ait plusieurs pères. Or, si aucun élément ou concept ne peut avoir plusieurs pères, la seule possibilité d'avoir un élément inférieur commun est d'imposer qu'un concept n'ait pas plus d'un fils. On obtient dans ces conditions une hiérarchie en ligne verticale de peu d'intérêt. The trellis structure is richer than a tree structure. Indeed, a tree does not allow an element to have several fathers. Now, if no element or concept can have several fathers, the only possibility of having a common lower element is to impose that a concept has no more than one son. Under these conditions, a vertical line hierarchy of little interest is obtained.

Un exemple de treillis de concepts décrit en logique de description est donné en relation avec la figure 1 a, exemple dans lequel la relation d'ordre du treillis est la relation d'inclusion c: 1çAOBOCcDcT; 1cGÇT; IcFcEOC; AcE FOB. An example of a concept lattice described in description logic is given in relation to FIG. 1a, example in which the order relation of the lattice is the inclusion relation c: 1çAOBOCcDcT; 1cGÇT; IcFcEOC; AcE FOB.

En outre, ainsi que représenté en figure 1, une flèche allant de Cl à C2 indique que Cl est inclus dans C2. In addition, as shown in Figure 1, an arrow going from C1 to C2 indicates that C1 is included in C2.

En référence à la figure 1 a et aux relations précédentes, les relations d'ordre ou de hiérarchie s'énoncent relativement au concept A: (i) A est le fils de B et E; (ii) B est le père de A et F; (iii) B, E, A et F sont descendants de C; (iv) B, E, C et D sont les généralisants de A; (v) T est le concept universel; (vi) 1 est le concept vide. With reference to FIG. 1a and to the preceding relations, the relations of order or hierarchy are stated in relation to the concept A: (i) A is the son of B and E; (ii) B is the father of A and F; (iii) B, E, A and F are descendants of C; (iv) B, E, C and D are the generalizers of A; (v) T is the universal concept; (vi) 1 is the empty concept.

La relation d'ordre ou de hiérarchie contient implicitement toutes les relations obtenues par transitivité de la relation d'inclusion telles que pour le concept B: BçD; BÇT. The order or hierarchy relation implicitly contains all the relations obtained by transitivity of the inclusion relation such as for the concept B: BçD; BÇT.

Dans la méthode décrite par le mémoire de thèse précité, un processus de codage est défini pour des noms de prédicats unaires (un seul argument) apparaissant dans des règles simples de la forme Predicatl (x) -' Predicat2(x). In the method described by the aforementioned dissertation, an encoding process is defined for unary predicate names (a single argument) appearing in simple rules of the form Predicatl (x) - 'Predicat2 (x).

Les prédicats précités sont alors comparables à des concepts apparaissant en logique de description dans une hiérarchie de concepts sous la forme Predicatl cPredicat2. The aforementioned predicates are then comparable to concepts appearing in description logic in a hierarchy of concepts in the form Predicatl cPredicat2.

Les concepts vide 1 et universel T n'apparaissent toutefois pas explicitement dans la hiérarchie, mais sont supposés présents comme spécialisant des concepts les plus spécialisés respectivement comme généralisant des concepts les plus généraux. However, the empty 1 and universal T concepts do not appear explicitly in the hierarchy, but are assumed to be present as specializing the most specialized concepts respectively as generalizing the most general concepts.

Du fait du format des règles à l'origine de la hiérarchie codée, le codage proposé dans le document de thèse précité ne prend en compte que les concepts primitifs, encore désignés concepts de base, à savoir ceux qui n'ont pas de définition sémantique et qui ont pour seule sémantique celle associée à leur position dans le treillis des concepts, soit en définitive au dessus et/ou en dessous d'autres concepts. Due to the format of the rules at the origin of the coded hierarchy, the coding proposed in the aforementioned thesis document only takes into account the primitive concepts, still referred to as basic concepts, namely those which have no semantic definition. and which have for only semantics that associated with their position in the lattice of concepts, that is to say ultimately above and / or below other concepts.

L'originalité du codage proposé réside dans l'existence d'un identifiant pour chaque concept constitué d'un ou plusieurs labels, en labellisant une suite de caractères alphanumériques compris entre a et z et entre 0 et 9. The originality of the proposed coding lies in the existence of an identifier for each concept made up of one or more labels, labeling a series of alphanumeric characters between a and z and between 0 and 9.

Chaque label est unique sur le treillis de concepts et correspond à l'existence d'un chemin entre le concept considéré C et le concept universel T au sommet du treillis. Le concept universel T et le concept vide 1 n'ont toutefois pas d'identifiant. Each label is unique on the concept lattice and corresponds to the existence of a path between the considered concept C and the universal concept T at the top of the lattice. The universal concept T and the empty concept 1, however, have no identifier.

A tire d'exemple un codage du treillis de l'ontologie de concepts représentée en figure 1 est énoncé vis-à-vis du concept universel par les relations: D ("a")-G("b")-C ("aa")-B ("aaa")-E("aab")-A("aaaa","aaba")F("aaab","aabb"). Dans l'exemple précité, un label est codé par des caractères alphanumériques appartenant à l'ensemble des lettres de l'alphabet {a,z}. As an example, a coding of the trellis of the ontology of concepts represented in figure 1 is stated with respect to the universal concept by the relations: D ("a") - G ("b") - C (" aa ") - B (" aaa ") - E (" aab ") - A (" aaaa "," aaba ") F (" aaab "," aabb "). In the above example, a label is encoded by alphanumeric characters belonging to all the letters of the alphabet {a, z}.

En référence à la figure 1 a, on constate que, relativement au concept A, il existe deux chemins permettant d'aller du concept A au concept universel T, ABCD et AECD. Ceci justifie la présence de deux labels dans l'identifiant du concept A, soit un label par chemin. With reference to FIG. 1a, it can be seen that, relative to concept A, there are two paths making it possible to go from concept A to the universal concept T, ABCD and AECD. This justifies the presence of two labels in the identifier of concept A, that is to say one label per path.

Le mode de codage décrit dans le mémoire de thèse précité permet ainsi de situer les concepts primitifs au sein d'un treillis de concepts, sans toutefois qu'il soit nécessaire de parcourir le treillis constitué. La position d'un concept primitif dans le treillis précité est ainsi contenue dans l'identifiant de ce dernier, ce qui permet de raisonner à moindre coût sur un ensemble de concepts pour effectuer par exemple des tests de subsomption entre deux éléments ou un calcul de ppcg pour.plus petit commun généralisant. On rappelle ici en outre qu'un test de subsomption consiste à tester l'inclusion d'un concept dans un autre concept. Les résultats obtenus sont conditionnés par l'absence de redondance dans le treillis de concepts et par le respect de la contrainte d'unicité du nom de désignation du concept. The coding mode described in the aforementioned thesis dissertation thus makes it possible to locate the primitive concepts within a concept lattice, without however it being necessary to go through the constituted lattice. The position of a primitive concept in the aforementioned lattice is thus contained in the identifier of the latter, which makes it possible to reason at a lower cost on a set of concepts to carry out for example subsumption tests between two elements or a calculation of ppcg for. least common generalizing. It is also recalled here that a subsumption test consists in testing the inclusion of a concept in another concept. The results obtained are conditioned by the absence of redundancy in the concept lattice and by the respect of the constraint of uniqueness of the name of designation of the concept.

Le mode de codage précédemment décrit a fait l'objet d'une mise en oeuvre dans un projet de développement conjoint, dénommé project PICSEL, dans le cadre d'un contrat de recherche entre le Laboratoire de Recherche en Informatique LRI, Orsay 91400, France et la société demanderesse. Le développement précité a été exécuté en langage JAVA , les concepts généralisants et spécialisants étant toutefois stockés dans des vecteurs. The coding mode described above was implemented in a joint development project, called project PICSEL, within the framework of a research contract between the LRI Computer Science Research Laboratory, Orsay 91400, France. and the plaintiff company. The aforementioned development was executed in JAVA language, the generalizing and specializing concepts being however stored in vectors.

D'autres développements destinés à manipuler des structures de données comparables, soit des ontologies définies en logique de description, ont été proposés. Other developments intended to handle comparable data structures, ie ontologies defined in description logic, have been proposed.

Parmi ceux-ci, un module raisonneur désigné Pellet intervient sur une logique de description précise qui comprend des notations spécifiques et une syntaxe. Among these, a reasoner module designated Pellet intervenes on a precise description logic which includes specific notations and a syntax.

S'inscrivant dans le projet de recherche Mindswap conduit dans le laboratoire de recherche en informatique avancée de l'université du Maryland (Baltimore USA), le module raisonneur précité permet de manipuler une ontologie décrite dans une logique de description large, écrite par exemple en langage OWL Full, et de raisonner sur des ontologies décrites dans une logique de description restreinte à certains opérateurs, écrite par exemple en langage OWL DL ou OWL Lite. On rappelle ici qu'une logique de description est un langage logique (inclus dans la logique du premier ordre) qui permet de décrire des concepts en utilisant des opérateurs logiques entre ces concepts. Le formalisme du langage OWL permet d'exprimer ces logiques de description dans un simple fichier texte. Toutefois, le module raisonneur Pellet nécessite la mise en oeuvre, pour la manipulation d'une ontologie, de trois entités distinctes de stockage et de traitement des informations relatives à une ontologie, transmises via un document OWL. As part of the Mindswap research project conducted in the advanced computer science research laboratory at the University of Maryland (Baltimore USA), the aforementioned reasoning module makes it possible to manipulate an ontology described in a logic of broad description, written for example in OWL Full language, and to reason on ontologies described in a description logic restricted to certain operators, written for example in OWL DL or OWL Lite language. It is recalled here that a description logic is a logical language (included in the first order logic) which makes it possible to describe concepts by using logical operators between these concepts. The formalism of the OWL language allows these description logics to be expressed in a simple text file. However, the Pellet reasoner module requires the implementation, for the manipulation of an ontology, of three distinct entities for storing and processing information relating to an ontology, transmitted via an OWL document.

Ces entités sont basées sur des structures de données classiques proposées en langage JAVA et correspondent à des listes d'objets contenues dans des tables ou ensembles de hachage ou des tableaux. These entities are based on classic data structures offered in JAVA language and correspond to lists of objects contained in tables or hash sets or arrays.

Les trois entités précitées sont désignées Tbox, Rbox et Abox. The three aforementioned entities are designated Tbox, Rbox and Abox.

L'entité désignée Tbox contient les propriétés relatives à la logique de description telles que les inclusions entre les concepts ou les définitions de concepts. Chaque concept est identifié par un numéro de classe de type entier, le concept universel T et le concept vide 1 compris, et stocké à la fois dans une table et dans un ensemble de hachage, dont la clé est le nom ou désignation littérale du concept. Le concept universel T est ajouté comme généralisant de chaque concept. La liste des concepts généralisants respectivement des concepts spécialisants d'un concept donné est stockée, pour chaque concept, via une table de hachage dont la clé est également le nom ou désignation littérale du concept. The named entity Tbox contains properties relating to the description logic such as inclusions between concepts or concept definitions. Each concept is identified by an integer class number, the universal concept T and the empty concept 1 included, and stored both in a table and in a hash set, the key of which is the name or literal designation of the concept. . The universal concept T is added as a generalizing of each concept. The list of generalizing concepts respectively of specializing concepts of a given concept is stored, for each concept, via a hash table whose key is also the name or literal designation of the concept.

Les tests de subsomption, qui déterminent pour chaque concept s'il généralise un autre concept, sont effectués lors d'une première utilisation, pour initialiser les listes, ce qui nécessite des traitements et des coûts de calcul importants, mais se réduisent ensuite à rechercher un concept comme entrée d'une des tables de hachage. The subsumption tests, which determine for each concept whether it generalizes another concept, are carried out during a first use, to initialize the lists, which requires significant processing and computation costs, but are then reduced to finding a concept as an entry to one of the hash tables.

En outre, une hiérarchie d'interfaces est également prévue afin de gérer les différents objets rencontrés dans l'expression des concepts. En effet, la grammaire ou règles syntaxiques associée à une expression de concept étant récursive, il est utile de définir une hiérarchie sur les objets rencontrés dans une expression selon leur type ou s'ils correspondent à une liste d'objets ou à des symboles de fonctions. In addition, a hierarchy of interfaces is also provided in order to manage the various objects encountered in the expression of concepts. Indeed, the grammar or syntactic rules associated with a concept expression being recursive, it is useful to define a hierarchy on the objects encountered in an expression according to their type or if they correspond to a list of objects or to symbols of functions.

L'entité désignée Rbox contient les règles ordinaires assimilables à une hiérarchie de propriétés. La hiérarchie de propriétés précitée permet d'associer un concept, via une ou plusieurs propriétés, à un ou plusieurs autres concepts. Le champ d'application des propriétés permet alors d'aller d'un concept général à un concept plus précis, la sous- hiérarchie de concepts induisant la hiérarchie de propriétés. L'entité Rbox précitée permet également d'exprimer une propriété par inférence par unification de valeurs d'objet constitutifs d'arguments de prédicats. The designated entity Rbox contains the ordinary rules which can be assimilated to a hierarchy of properties. The aforementioned hierarchy of properties makes it possible to associate a concept, via one or more properties, with one or more other concepts. The field of application of the properties then makes it possible to go from a general concept to a more precise concept, the sub-hierarchy of concepts inducing the hierarchy of properties. The aforementioned Rbox entity also makes it possible to express a property by inference by unifying object values constituting predicate arguments.

Enfin, l'entité désignée Abox contient les faits, à savoir des prédicats associés à des instances. Finally, the entity named Abox contains the facts, namely predicates associated with instances.

Les développements de l'art antérieur précités présentent les inconvénients ci-après. The aforementioned developments of the prior art have the following drawbacks.

Le projet PICSEL donne satisfaction, mais s'il permet un codage d'une hiérarchie de concepts primitifs appartenant à une ontologie, les identifiants attribués à chaque concept primitif formés par une ou plusieurs suites de caractères alphanumériques constitués par les lettres de l'alphabet et les chiffres de 0 à 9, limite, de ce fait, la profondeur de la structure de données codée finalement obtenue, alors que la mémorisation des concepts généralisants et spécialisants sous forme de vecteurs implique un accès séquentiel par adressage aux variables constitutives de ce dernier, ce qui implique un coût en termes de calcul en raison directe de la taille de la structure de données ainsi obtenue. The PICSEL project is satisfactory, but if it allows coding of a hierarchy of primitive concepts belonging to an ontology, the identifiers attributed to each primitive concept formed by one or more sequences of alphanumeric characters made up of the letters of the alphabet and the numbers from 0 to 9, therefore limit the depth of the coded data structure finally obtained, while the memorization of generalizing and specializing concepts in the form of vectors implies sequential access by addressing to the variables constituting the latter, which implies a cost in terms of computation as a direct result of the size of the data structure thus obtained.

Le module raisonneur Pellet implique la mise en oeuvre d'une architecture logicielle complexe nécessitant une première initialisation de structures de listes coûteuse en temps de calcul, afin de permettre, à l'utilisation, des processus de recherche simplifiés opérant sur des tables de hachage et non plus sur le langage logique de description descriptif de l'ontologie. The Pellet reasoner module involves the implementation of a complex software architecture requiring a first initialization of list structures costly in computation time, in order to allow, in use, simplified search processes operating on hash tables and no longer on the logical descriptive language of ontology.

La présente invention a pour objet la mise en oeuvre d'un procédé et d'un système de codage d'un treillis, représentatif d'une hiérarchie d'éléments et formé au moins par une pluralité de noeuds, à chaque noeud du treillis étant associé un élément et son identifiant, ce procédé de codage permettant de s'affranchir des limitations de solutions antérieures nécessitant une initialisation coûteuse en temps de calcul. The object of the present invention is to implement a method and a system for coding a trellis, representative of a hierarchy of elements and formed at least by a plurality of nodes, with each node of the trellis being associated with an element and its identifier, this coding method making it possible to overcome the limitations of previous solutions requiring initialization which is costly in terms of computation time.

Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un système de codage d'un treillis représentatif d'une hiérarchie d'éléments et formé au moins par une pluralité de noeuds, à chaque noeud du treillis étant associé un élément et son identifiant, à ce treillis étant associé, du fait du codage de ce dernier, une structure arborescente n-aire récursive permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. Another object of the present invention is also the implementation of a method and a system for coding a trellis representative of a hierarchy of elements and formed at least by a plurality of nodes, at each node of the network. trellis being associated with an element and its identifier, with this trellis being associated, due to the coding of the latter, a recursive n-ary tree structure making it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and this element.

Un autre objet de la présente invention est en particulier la mise en oeuvre d'un treillis représentatif d'une hiérarchie d'éléments, ces éléments étant des concepts primitifs et des concepts définis d'une hiérarchie de concepts appartenant à une ontologie, ladite ontologie étant associée à une structure arborescente n-aire récursive par l'intermédiaire de ce treillis permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un concept primitif ou défini de cette hiérarchie de concepts, cette structure arborescente n-aire récursive permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un concept primitif ou défini et ce concept primitif ou défini. Another object of the present invention is in particular the implementation of a lattice representative of a hierarchy of elements, these elements being primitive concepts and concepts defined in a hierarchy of concepts belonging to an ontology, said ontology being associated with a recursive n-ary tree structure via this trellis making it possible to establish a direct correspondence between an access path defined in the identifier associated with a primitive or defined concept of this hierarchy of concepts, this structure recursive n-ary tree allowing a direct correspondence to be established between an access path defined in the identifier associated with a primitive or defined concept and this primitive or defined concept.

Un autre objet de la présente invention est en particulier la structure de données arborescente n-aire récursive associée à un treillis d'éléments et/ou à un treillis de concepts primitifs et des concepts définis d'une hiérarchie d'éléments respectivement de concepts appartenant à une ontologie. Another object of the present invention is in particular the recursive n-ary tree data structure associated with a lattice of elements and / or a lattice of primitive concepts and concepts defined from a hierarchy of elements respectively of concepts belonging to to an ontology.

Le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et son identifiant, cet identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, cet identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de l'élément considéré à cette borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, objet de l'invention, est remarquable en ce qu'il consiste au moins à établir une structure de données générique hiérarchique par association à ce treillis d'une structure arborescente n-aire récursive, à chaque noeud de cette structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de l'élément considéré. Cette structure de données arborescente est établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. The method of encoding a trellis representative of a hierarchy of elements comprising at least a plurality of nodes, with each node of the trellis being associated an element considered and its identifier, this identifier being formed by at least one series of objects , each series of objects defining an access path between the upper bound of the trellis and the element considered via the successive parent elements, this identifier including all the series of objects each defining an access path of l 'one of the parent elements of the element considered at this upper bound, to which is added an object representative of this element considered, object of the invention, is remarkable in that it consists at least in establishing a hierarchical generic data structure by association with this trellis of a recursive n-ary tree structure, with each node of this tree structure being associated an element and a hash table to which a key is assigned formed by the representative object of the element considered. This tree-based data structure is established in the form of a recursive hash table comprising as many entries as there are successive child nodes under the upper bound and making it possible to establish a direct correspondence between an access path defined in the 'identifier associated with an element and this element.

Cette structure permet en particulier de tester avantageusement l'appartenance d'un noeud parmi un ensemble de noeud sans pour autant avoir à vérifier chacun des noeuds de cet ensemble. This structure makes it possible in particular to advantageously test the membership of a node among a set of nodes without having to verify each of the nodes of this set.

Le procédé de codage d'un treillis, objet de l'invention, est en outre remarquable en ce que les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure clu treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. The method for coding a trellis, which is the subject of the invention, is also remarkable in that the elements coming from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one concept. defined verifying a relation of order between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, the sequences of objects forming the identifier of a primitive or defined concept are sequences of integers.

En fixant des concepts comme noeuds de la structure précédente, la structure permet de manipuler avantageusement des ensembles de concepts pour effectuer des tests d'appartenance ou des recherches de concepts remarquables pour cet ensemble tels que les plus généraux ou les plus spécifiques par exemple. By fixing concepts as nodes of the preceding structure, the structure makes it possible to advantageously manipulate sets of concepts in order to carry out membership tests or searches for remarkable concepts for this set such as the most general or the most specific for example.

Le procédé de codage d'un treillis, objet de l'invention, est en outre remarquable en ce qu'il consiste, lorsque les éléments du treillis sont issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini, à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis à ce treillis, via une table de hachage dont la clé est la dénomination du concept dans cette structure de données générique hiérarchique et dans laquelle figurent les seuls chemins d'accès entre ce concept et le concept universel. The method of encoding a trellis, which is the subject of the invention, is also remarkable in that it consists, when the elements of the trellis originate from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one defined concept, to establish a specific lexical data structure by association of the primitive or defined concepts with this trellis, via a hash table whose key is the name of the concept in this hierarchical generic data structure and in which are the only paths between this concept and the universal concept.

Cette redondance d'information obtenue par le croisement des données permet de tester avantageusement des propriétés entre deux concepts ou sur un ensemble de concepts telles que la subsomption par exemple. This redundancy of information obtained by the crossing of data makes it possible to test advantageously properties between two concepts or on a set of concepts such as subsumption for example.

La structure de données de représentation codée d'un treillis représentatif d'une hiérarchie d'éléments, objet de l'invention, ce treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et un identifiant, cet identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, cet identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de cet élément considéré à cette borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, objet de l'invention, est remarquable en ce qu'elle comprend au moins une structure de données générique hiérarchique associée à ce treillis sous forme d'une structure arborescente n-aire récursive. A chaque noeud de la structure arborescente sont associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément. La structure de donnés arborescente est constituée par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous cette borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. The coded representation data structure of a trellis representative of a hierarchy of elements, object of the invention, this trellis comprising at least a plurality of nodes, with each node of the trellis being associated an element considered and an identifier, this identifier being formed by at least one series of objects, each series of objects defining an access path between the upper bound of the trellis and the element considered via the successive parent elements, this identifier including all the series objects each defining an access path from one of the parent elements of this element considered to this upper bound, to which is added an object representative of this element considered, object of the invention, is remarkable in that it comprises at least one hierarchical generic data structure associated with this trellis in the form of a recursive n-ary tree structure. Each node of the tree structure is associated with an element and a hash table to which is assigned a key formed by the object representative of this element. The tree-like data structure consists of a recursive hash table comprising as many entries as there are successive child nodes under this upper bound and making it possible to establish a direct correspondence between an access path defined in the associated identifier. to an element and this element.

La structure de données, objet de l'invention, précitée est en outre remarquable en ce que les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. The data structure, object of the aforementioned invention is also remarkable in that the elements being derived from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one defined concept verifying a order relation between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, the series of objects forming the identifier of a primitive or defined concept are series of integers.

La structure de données, objet de l'invention précitée, dans laquelle les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, est en outre remarquable en ce qu'elle comporte une structure de données lexicale spécifique formée par association des concepts primitifs ou définis à ce treillis via une table de hachage dont la clé est la dénomination dudit concept dans la structure de données générique hiérarchique précitée et dans laquelle seuls figurent les chemins d'accès entre ce concept et le concept universel. The data structure, object of the aforementioned invention, in which the elements resulting from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one defined concept verifying an order relation between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, the series of objects forming the identifier of a primitive or defined concept are series of integers, is also remarkable in that it comprises a specific lexical data structure formed by association of the primitive concepts or defined with this trellis via a hash table whose key is the name of said concept in the aforementioned hierarchical generic data structure and in which only the access paths appear between this concept and the universal concept.

Le procédé et le dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments et la structure de données engendrées par la mise en oeuvre du procédé et/ou du dispositif de codage, objets de la présente invention., trouvent application à la création, la gestion de consultations d'ontologies comportant une hiérarchie d'éléments, représentés sous forme d'un treillis, les ontologies précitées pouvant être relatives à tout domaine de connaissance utilisable dans l'industrie et/ou l'économie. The method and the device for encoding a trellis representative of a hierarchy of elements and the data structure generated by the implementation of the method and / or of the encoding device, subjects of the present invention., Find application in the creation and management of ontology consultations comprising a hierarchy of elements, represented in the form of a lattice, the aforementioned ontologies possibly relating to any field of knowledge that can be used in industry and / or the economy.

Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après, dans lesquels, outre la figure 1 a relative à un treillis codé selon un processus de l'art antérieur, la figure lb représente, à titre illustratif, les étapes essentielles de mise en oeuvre du procédé de codage d'un treillis représentatif d'une hiérarchie d"éléments, objet de la présente invention, lorsque ce treillis comprend au moins une pluralité de noeuds à chaque noud du treillis étant associé un élément considéré et son identifiant, cet identifiant étant formé par au moins une suite d'objets; la figure 2a représente, à titre illustratif, un treillis représentatif d'une hiérarchie d'éléments dans le cas particulier de la figure 1 a où, chaque élément est formé par un concept primitif ou par un concept défini, à chaque noeud du treillis étant associé un concept primitif ou défini et son identifiant, cet identifiant étant formé plus particulièrement par au moins une suite d'objets, chaque suite d'objets étant constituée par une suite d'entiers; - la figure 2b représente, à titre illustratif, un processus d'établissement d'une structure de données générique hiérarchique, conformément au procédé de codage objet de l'invention représenté en figure lb, dans le cas spécifique non limitatif de la figure 2a, cette structure de données générique hiérarchique étant représentée, sur la figure 2b, selon une structure arborescente n-aire récursive non totalement déployée; la figure 2c représente, à titre illustratif, un processus d'établissement d'une structure de données générique hiérarchique, correspondant au processus de la figure 2b, dans lequel, toutefois, cette structure de données générique hiérarchique est représentée selon une structure arborescente n-aire récursive totalement déployée; - la figure 3 représente, à titre illustratif, les étapes essentielles complémentaires de mise en oeuvre du procédé de codage d'un treillis représentatif d'une hiérarchie de concepts, objet de la présente invention, ces étapes complémentaires ayant pour objet d'établir en outre une structure de données lexicale spécifique, permettant de mettre en correspondance directe la dénomination des concepts primitifs et/ou définis et les chemins d'accès entre le concept primitif ou défini et le concept universel; la figure 4a représente, à titre illustratif, la structure concrète de la structure de données générique hiérarchique représentée en figure 2b, à partir de tables de hachages successives, imbriquées, cette structure de données constituant elle-même une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure du treillis; - 12 - la figure 4b représente, à titre illustratif, la structure concrète de la structure de données lexicale spécifique associée à la structure de données générique hiérarchique représentée en figure 4a, suite à la mise en oeuvre des étapes complémentaires illustrées en figure 3; la figure 5a représente, à titre illustratif, un premier exemple d'utilisation d'une structure de données générique hiérarchique, objet de la présente invention, dans une application à la mise en oeuvre d'un dictionnaire des synonymes; la figure 5b représente, à titre illustratif, un deuxième exemple d'utilisation d'une structure de données générique hiérarchique, objet de la présente invention, dans une autre application à la mise en oeuvre d'un arbre généalogique; la figure 5c représente, à titre illustratif, un exemple de calcul de chemin d'accès actuel d'un concept à partir de la structure de données générique hiérarchique représentée en figure 4a; -la figure 5d représente, à titre illustratif, un exemple de calcul d'un nouveau chemin d'accès et de l'identifiant, par fusion d'une de deux chemins d'accès relatifs à un même concept; la figure 6a représente, à titre illustratif, sous forme d'un schéma fonctionnel, un dispositif de codage d'un treillis représentatif d'éléments, conforme à l'objet de la présente invention; la figure 6b représente, à titre illustratif, sous forme d'un schéma fonctionnel, un dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention. They will be better understood on reading the description and observing the drawings below, in which, in addition to FIG. 1 a relating to a trellis coded according to a process of the prior art, FIG. illustrative, the essential steps of implementing the method for coding a trellis representative of a hierarchy of elements, object of the present invention, when this trellis comprises at least a plurality of nodes with each node of the trellis being associated with a element considered and its identifier, this identifier being formed by at least one series of objects; FIG. 2a represents, by way of illustration, a lattice representative of a hierarchy of elements in the particular case of FIG. 1 a where, each element is formed by a primitive concept or by a defined concept, with each node of the trellis being associated a primitive or defined concept and its identifier, this identifier being formed more particularly by at least one series of objects, c each series of objects being constituted by a series of integers; FIG. 2b represents, by way of illustration, a process for establishing a hierarchical generic data structure, in accordance with the coding method which is the subject of the invention shown in FIG. 1b, in the specific non-limiting case of FIG. 2a, this hierarchical generic data structure being represented, in FIG. 2b, according to a recursive n-ary tree structure not fully deployed; FIG. 2c represents, by way of illustration, a process of establishing a hierarchical generic data structure, corresponding to the process of FIG. 2b, in which, however, this hierarchical generic data structure is represented according to a tree structure n- fully expanded recursive area; FIG. 3 represents, by way of illustration, the additional essential steps for implementing the method for coding a trellis representative of a hierarchy of concepts, which is the subject of the present invention, these additional steps having for object to establish in in addition to a specific lexical data structure, allowing direct correspondence between the denomination of the primitive and / or defined concepts and the access paths between the primitive or defined concept and the universal concept; FIG. 4a represents, by way of illustration, the concrete structure of the hierarchical generic data structure represented in FIG. 2b, from successive, nested hash tables, this data structure itself constituting a recursive hash table comprising as many 'inputs that there are successive child nodes under the upper bound of the trellis; FIG. 4b represents, by way of illustration, the concrete structure of the specific lexical data structure associated with the hierarchical generic data structure represented in FIG. 4a, following the implementation of the additional steps illustrated in FIG. 3; FIG. 5a represents, by way of illustration, a first example of use of a hierarchical generic data structure, object of the present invention, in an application to the implementation of a thesaurus; FIG. 5b represents, by way of illustration, a second example of use of a hierarchical generic data structure, object of the present invention, in another application to the implementation of a genealogical tree; FIG. 5c represents, by way of illustration, an example of calculation of the current access path of a concept from the hierarchical generic data structure represented in FIG. 4a; FIG. 5d represents, by way of illustration, an example of calculation of a new access path and of the identifier, by merging one of two access paths relating to the same concept; FIG. 6a represents, by way of illustration, in the form of a functional diagram, a device for coding a trellis representative of elements, in accordance with the object of the present invention; FIG. 6b represents, by way of illustration, in the form of a functional diagram, a device for consulting and interpreting a trellis representative of a hierarchy of elements, in accordance with the subject of the present invention.

Une description plus détaillée du procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention sera maintenant donnée en liaison avec la figure lb. D'une manière générale, on considère un treillis quelconque représentatif d'une hiérarchie d'éléments les éléments précités pouvant être de toute nature et, en particulier, des ensembles discrets ou non d'objets vérifiant une relation de hiérarchie de la forme: {1<O;<T}. A more detailed description of the method of coding a trellis representative of a hierarchy of elements, in accordance with the object of the present invention will now be given in conjunction with FIG. 1b. In general, we consider any lattice representative of a hierarchy of elements, the aforementioned elements being able to be of any kind and, in particular, discrete or non-discrete sets of objects verifying a hierarchy relation of the form: { 1 <O; <T}.

- 13 - D'une manière générale, on indique que, la hiérarchie d'éléments correspond à une hiérarchie au moins de dépendance entre éléments, sinon d'inclusion, telle que décrite dans le mémoire de thèse de doctorat numéro d'ordre 6932 Université Paris Sud XI, présentée par Monsieur Alain Bidault et intitulée " Affinement de Requêtes posées à un Médiateur". - 13 - In general, it is indicated that, the hierarchy of elements corresponds to a hierarchy at least of dependence between elements, if not of inclusion, as described in the doctoral thesis thesis order number 6932 University Paris Sud XI, presented by Mr. Alain Bidault and entitled "Refinement of Requests to a Mediator".

On comprend, en particulier, que lorsque la hiérarchie d'éléments précités est relative à des concepts primitifs comme dans le cadre du mémoire de thèse précédemment mentionné, alors la relation hiérarchique entre éléments est une relation d'inclusion. It is understood, in particular, that when the hierarchy of aforementioned elements relates to primitive concepts as in the context of the previously mentioned thesis dissertation, then the hierarchical relation between elements is a relation of inclusion.

On rappelle en référence à la figure 1 a que le treillis comporte une pluralité de noeuds et qu'à chaque noeud du treillis est associé un élément considéré représenté de A à G sur la figure 1 a précitée et de son identifiant, l'identifiant étant formé par au moins une suite d'objets. It will be recalled with reference to FIG. 1 a that the trellis comprises a plurality of nodes and that with each node of the trellis is associated an element considered represented from A to G in the aforementioned FIG. 1 a and its identifier, the identifier being formed by at least one series of objects.

De manière non limitative en liaison avec la figure la, on rappelle que chaque objet formant une suite d'objets incluse dans un identifiant peut être un caractère alphanumérique tel qu'une lettre de l'alphabet ou un nombre entier par exemple. In a non-limiting manner in conjunction with FIG. 1a, it is recalled that each object forming a series of objects included in an identifier can be an alphanumeric character such as a letter of the alphabet or an integer for example.

Enfin, chaque suite d'objets définit un chemin d'accès entre la borne supérieure du treillis, c'est-à-dire le concept universel T dans le cas non limitatif d'un treillis de concepts primitifs tel que décrit dans le mémoire de thèse précité et l'élément considéré tel que l'un des élémentsA à G de la figure la par l'intermédiaire des éléments pères successifs. Finally, each series of objects defines an access path between the upper bound of the trellis, i.e. the universal concept T in the nonlimiting case of a trellis of primitive concepts as described in the thesis of the aforementioned thesis and the element considered such as one of the elements A to G of FIG. 1a via the successive parent elements.

On rappelle que dans ces conditions la notion d'élément père correspond à la notion d'un élément vis-à-vis duquel tout autre élément satisfait à la relation de dépendance telle que décrite précédemment. It is recalled that under these conditions the notion of parent element corresponds to the notion of an element with respect to which any other element satisfies the dependency relation as described previously.

En référence à la même figure l a, on rappelle que l'identifiant associé à chacun des noeuds du treillis inclut toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de l'élément considéré, soit l'élément E par exemple, c'est-à-dire l'élément C père de l'élément E sur la figure la, à la borne supérieure, le concept universel T dans le cas non limitatif précité, auquel est ajouté un objet représentatif de l'élément considéré, c'est-à-dire l'objet b dans le cas spécifique de l'élément E fils de l'élément C selon la convention adoptée. With reference to the same figure 1a, it is recalled that the identifier associated with each of the nodes of the trellis includes all the series of objects each defining an access path of one of the parent elements of the element considered, namely l 'element E for example, that is to say the element C father of the element E in figure la, at the upper limit, the universal concept T in the above-mentioned non-limiting case, to which is added a representative object of the element considered, that is to say the object b in the specific case of the element E child of the element C according to the adopted convention.

En référence à la figure la, on indique que chaque identifiant associé à un des éléments considérés du treillis, cet élément étant noté Oi par exemple, est noté IDi pour désigner l'identifiant considéré. With reference to FIG. 1a, it is indicated that each identifier associated with one of the considered elements of the trellis, this element being denoted Oi for example, is denoted IDi to designate the considered identifier.

Ainsi, pour l'élément A, l'identifiant IDi est égal à [aaaa aaba]. Thus, for element A, the identifier IDi is equal to [aaaa aaba].

En référence à la figure lb, le procédé de codage, objet de l'invention, consiste pour tout élément Oi du treillis associé à un noeud Ni correspondant, i étant arbitraire, à établir, en une étape A, une structure de données générique hiérarchique par association au treillis d'une structure arborescente n-aire récursive, à chaque noeud Ni de la structure arborescente étant associé un élément Oi du treillis et une table de hachage notée hi(C,) à laquelle est attribuée une clé Ci formée par l'objet représentatif de l'élément Oi considéré. With reference to FIG. 1b, the coding method, object of the invention, consists for any element Oi of the trellis associated with a corresponding node Ni, i being arbitrary, in establishing, in a step A, a hierarchical generic data structure by association with the trellis of a recursive n-ary tree structure, with each node Ni of the tree structure being associated an element Oi of the trellis and a hash table denoted hi (C,) to which is assigned a key Ci formed by l object representative of the element Oi considered.

Ainsi, à l'étape A de la figure lb on associe à chaque noeud Ni du treillis 15 l'objet correspondant à ce noeud Oi et une table de hachage hi(Ci) et bien entendu l'identifiant IDi. Thus, in step A of FIG. 1b, each node Ni of the trellis 15 is associated with the object corresponding to this node Oi and a hash table hi (Ci) and of course the identifier IDi.

Une telle association peut être effectuée pour tout niveau successif et pour tout noeud dans ce niveau de valeur n, comprise entre une valeur de départ telle que par exemple n=0 pour la borne supérieure du treillis et n=nf pour la borne inférieure du treillis, chaque élément et finalement chaque noeud du treillis d'un même niveau n étant soumis à une association correspondant à l'étape A. L'étape A est bien entendu répétée successivement pour chaque niveau n et bien sur pour chaque élément Oi associé à un noeud Ni correspondant de manière récursive. Such an association can be carried out for any successive level and for any node in this level of value n, between a starting value such as for example n = 0 for the upper bound of the trellis and n = nf for the lower bound of the trellis , each element and finally each node of the trellis of the same level n being subjected to an association corresponding to step A. Step A is of course repeated successively for each level n and of course for each element Oi associated with a recursively corresponding node Ni.

Ainsi, dans ce but, l'étape A réalisée pour chaque niveau n peut être suivie avantageusement d'une étape de test B consistant à vérifier l'absence d'identification de l'élément Oi considéré à la borne inférieure du treillis. Thus, for this purpose, step A carried out for each level n can be followed advantageously by a test step B consisting in verifying the absence of identification of the element Oi considered at the lower limit of the trellis.

Cette opération est représentée par la relation: Oi =1 ? à l'étape B de la figure lb. - 15 - Sur réponse négative au test de l'étape B, une étape C est appelée laquelle consiste au passage au niveau suivant par l'incrémentation n=n+1 et un retour à l'étape A pour exécution d'établissement successive de la structure arborescente. This operation is represented by the relation: Oi = 1? in step B of figure lb. - 15 - On a negative response to the test in step B, a step C is called which consists of moving to the next level by incrementing n = n + 1 and returning to step A for execution of successive establishment of tree structure.

Au contraire, sur réponse positive au test B, lorsque la borne inférieure du treillis est atteinte, on dispose de la structure de données hiérarchique exécutée sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sur la borne supérieure T du treillis. On the contrary, on a positive response to test B, when the lower limit of the trellis is reached, we have the hierarchical data structure executed in the form of a recursive hash table comprising as many entries as there are successive child nodes. on the upper bound T of the trellis.

La structure de données arborescente obtenue sous forme d'une table de hachage récursive est notée H {Ni, Oi, hi(Ci), . La table de hachage récursive précitée comporte autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure T du treillis et permet d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et l'élément considéré, ainsi qu'il sera décrit ultérieurement dans la description. The tree data structure obtained in the form of a recursive hash table is denoted H {Ni, Oi, hi (Ci),. The aforementioned recursive hash table comprises as many entries as there are successive child nodes under the upper bound T of the trellis and makes it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and the element considered, as will be described later in the description.

En particulier, on conçoit que compte tenu du choix de la clé C; attribuée à chaque table de hachage, cette clé permet un accès direct à l'élément O; auquel la table de hachage est associée par l'intermédiaire du noeud Ni du treillis et bien entendu à l'identifiant ID, correspondant. In particular, it can be seen that taking into account the choice of the key C; assigned to each hash table, this key allows direct access to the element O; with which the hash table is associated via the node Ni of the trellis and of course with the identifier ID, corresponding.

D'une manière générale, on indique qu'une table de hachage est une entité informatique codée qui permet d'étendre la structure classique de tableaux ou de listes avec des traitements plus rapides et qui permet donc d'obtenir des résultats beaucoup plus significatifs. In general, it is indicated that a hash table is a coded computer entity which makes it possible to extend the conventional structure of tables or lists with faster processing and which therefore makes it possible to obtain much more significant results.

Une telle entité informatique codée permet de manipuler des objets de taille variable et finalement tout objet O; associé à chaque table h, (C,) en accédant directement à l'objet par l'intermédiaire de la clé C,, laquelle peut être constituée elle-même par un objet et en particulier par un caractère, une chaîne de caractères ou autre ainsi qu'il sera décrit ci-après. Such a coded computer entity makes it possible to manipulate objects of variable size and finally any object O; associated with each table h, (C,) by directly accessing the object via the key C ,, which can itself be constituted by an object and in particular by a character, a character string or other as will be described below.

Le procédé, objet de la présente invention, trouve application à des treillis de forme très générale et relatifs à des éléments quelconques, pourvu que les éléments précités satisfassent une relation de dépendance ainsi que mentionné précédemment dans la description. The method, which is the subject of the present invention, finds application to lattices of very general shape and relating to any elements, provided that the aforementioned elements satisfy a dependency relationship as mentioned previously in the description.

La notion de relation de dépendance peut être par exemple celle relative à la relation lexicale de mots dans un dictionnaire, en fonction de la succession de lettres qui composent ces mots, à l'organisation d'une famille humaine en fonction de la succession de parents qui a abouti à un membre de la famille ou autre, ainsi qu'il sera décrit ultérieurement dans la description. The notion of dependency relation can be for example that relating to the lexical relation of words in a dictionary, according to the succession of letters which compose these words, to the organization of a human family according to the succession of parents which resulted in a family member or the like, as will be described later in the description.

Toutefois, la relation de dépendance précitée permet une mise en oeuvre particulièrement avantageuse du procédé de codage objet de la présente invention lorsque cette relation de dépendance est une relation d'ordre partiel par exemple, ou, le cas échéant, une relation d'ordre total et, en particulier, lorsqu'un treillis de concepts incluant des concepts primitifs et au moins un concept défini a fait l'objet d'un codage par numérotation semblable à celui décrit précédemment dans la description et que les identifiants, c'est-à-dire les suites d'objets associés à chacun des noeuds du treillis et bien entendu du concept associé à ce dernier, concept primitif ou défini, sont formés par des suites d'entiers exclusivement. However, the aforementioned dependency relation allows a particularly advantageous implementation of the coding method which is the subject of the present invention when this dependency relation is a partial order relation for example, or, where appropriate, a total order relation. and, in particular, when a concept trellis including primitive concepts and at least one defined concept has been the subject of coding by numbering similar to that described previously in the description and the identifiers, that is to say say the series of objects associated with each of the nodes of the trellis and of course the concept associated with the latter, primitive or defined concept, are formed by series of integers exclusively.

Un tel processus de codage a, en particulier, été décrit dans la demande de brevet français n FR 05 07326 intitulée "Procédé et système de codage sous forme d'un treillis d'une hiérarchie de concepts appartenant à une ontologie", déposée au nom de la demanderesse le 8 juillet 2005. Such a coding process has, in particular, been described in French patent application n FR 05 07326 entitled "Coding method and system in the form of a trellis of a hierarchy of concepts belonging to an ontology", filed in the name by the plaintiff on July 8, 2005.

En liaison avec la demande de brevet précitée, on rappelle que le processus de codage du treillis décrit permet un codage par numérotation des concepts primitifs et/ou définis apparaissant en logique de description dans un treillis de concepts. In connection with the aforementioned patent application, it is recalled that the coding process of the described trellis allows coding by numbering of the primitive and / or defined concepts appearing in description logic in a concept trellis.

Les relations de ce treillis sont de la forme: concept 1 ç concept 2 où ç est la relation de subsomption, c'est-à-dire de généralisation entre deux concepts. The relations of this lattice are of the form: concept 1 ç concept 2 where ç is the relation of subsumption, that is to say of generalization between two concepts.

Dans ces conditions, la borne supérieure du treillis est le concept universel T et la borne inférieure du treillis est le concept vide 1, lesquels n'apparaissent pas 30 explicitement dans la hiérarchie des concepts. Le concept universel T et le concept vide 1 sont toutefois supposés présents comme spécialisant et généralisant des concepts les plus spécialisés et les plus généraux. Under these conditions, the upper bound of the trellis is the universal concept T and the lower bound of the trellis is the empty concept 1, which do not appear explicitly in the hierarchy of concepts. The universal concept T and the empty concept 1 are however supposed to be present as specializing and generalizing the most specialized and general concepts.

Pour une description plus détaillée du procédé de codage mis en oeuvre dans la demande de brevet précitée, on pourra utilement se reporter à la demande de brevet en tant que telle ou auprès du titulaire de cette dernière, le cas échéant. For a more detailed description of the coding method implemented in the aforementioned patent application, it is useful to refer to the patent application as such or to the owner of the latter, if applicable.

Le procédé de codage par numérotation précité à partir de suites de nombres entiers apparaît avantageux dans la mesure où ce procédé de codage permet de retrouver tous les généralisants d'un concept C et ses descendants en parcourant l'identifiant du concept C et la liste des concepts. Il est en outre possible de connaître les nombres maximal et minimal d'arcs qui séparent chaque concept du concept universel T et, par conséquent, sa profondeur dans le treillis. The aforementioned method of coding by numbering from series of integers appears advantageous insofar as this coding method makes it possible to find all the generalizers of a concept C and its descendants by going through the identifier of the concept C and the list of concepts. It is also possible to know the maximum and minimum number of arcs which separate each concept from the universal concept T and, consequently, its depth in the lattice.

Le codage par numérotation précitée permet également d'effectuer un test de subsomption entre deux concepts. On rappelle ici qu'un test de subsomption est un calcul complexe dans une ontologie décrite en logique de description et qui permet de déterminer si les instances d'un concept sont incluses ou non dans celle d'un autre concept en se basant sur la définition des concepts. The aforementioned numbering coding also makes it possible to carry out a subsumption test between two concepts. It is recalled here that a subsumption test is a complex computation in an ontology described in description logic and which makes it possible to determine whether the instances of a concept are included or not in that of another concept, based on the definition concepts.

On rappelle enfin, que le procédé de codage par numérotation précité décrit dans la demande de brevet précitée permet en outre de déterminer les plus petit commun généralisants encore désignés ppcg de deux concepts Cl et C2. Cet ensemble des généralisants communs contient tous les concepts qui subsument à la fois Cl et C2. Le plus petit commun généralisant ppcg est le plus grand sous-ensemble tel qu'aucun concept du plus petit commun généralisant ne subsume un autre concept du plus petit commun généralisant et tel qu'aucun concept du plus petit commun généralisant ne subsume un concept de l'ensemble "reste". En particulier, le plus petit commun généralisant ppcg de deux concepts peut être directement accessible dans une ontologie saturée grâce au codage par numérotation décrit dans la demande de brevet précitée. Il est en outre facile d'étendre le calcul de plus petit commun généralisant ppcg de 2 à n concepts par calcul de préfixes communs entre deux concepts. Finally, it will be recalled that the aforementioned numbering coding method described in the aforementioned patent application also makes it possible to determine the smallest generalizing common also known as ppcg of two concepts C1 and C2. This set of common generalizers contains all the concepts that subsume both C1 and C2. The least common generalizing ppcg is the largest subset such that no concept of the least common generalizing subsumes another concept of the least common generalizing and such that no concept of the least common generalizing subsumes a concept of l 'together "remain". In particular, the least common generalizing ppcg of two concepts can be directly accessible in a saturated ontology thanks to the coding by numbering described in the aforementioned patent application. It is also easy to extend the computation of least common generalizing ppcg from 2 to n concepts by computation of common prefixes between two concepts.

Le procédé, objet de l'invention, lorsque ce dernier est appliqué à un treillis de concepts primitifs et/ou définis sera maintenant décrit en liaison avec la figure 2a. The method, object of the invention, when the latter is applied to a lattice of primitive and / or defined concepts will now be described in conjunction with FIG. 2a.

Sur la figure 2a on a représenté le treillis de la figure la dans lequel ont en outre été ajoutés des concepts définis H et I et leurs identifiant respectifs. In FIG. 2a, the trellis of FIG. 1a has been shown, in which further defined concepts H and I and their respective identifiers have been added.

Ainsi, en référence à la figure 2a: H[113 23] I[1131 231] représentent les concepts définis H et I et leurs identifiants formés par les suites de nombres entiers 113 23 et 1131 231 respectivement. Thus, with reference to FIG. 2a: H [113 23] I [1131 231] represent the defined concepts H and I and their identifiers formed by the series of integer numbers 113 23 and 1131 231 respectively.

On note que de manière spécifique les arcs reliant les concepts définis du treillis aux autres concepts primitifs C et G par exemple de ce même treillis sont représentés en pointillés de manière non limitative. It is noted that in a specific manner the arcs connecting the defined concepts of the lattice to the other primitive concepts C and G, for example of this same lattice, are represented in dotted lines in a nonlimiting manner.

Le procédé de codage, objet de la présente invention, tel que mis en oeuvre conformément au mode de réalisation précédemment décrit avec la figure lb sera maintenant décrit et explicité en liaison avec la figure 2b, lorsque ce procédé est mis en oeuvre sur le treillis représenté en figure 2a. The coding method, object of the present invention, as implemented in accordance with the embodiment previously described with FIG. 1b will now be described and explained in conjunction with FIG. 2b, when this method is implemented on the trellis represented. in figure 2a.

Lors de la mise en oeuvre des étapes A, B, C, D de la figure lb, l'on procède ainsi à l'association à chaque noeud N, et pour les niveaux successifs n ainsi que précédemment décrit, de chaque élément O; correspondant aux concepts primitifs A à G et aux concepts définis H et 1, à chaque noeud du treillis Ni, i étant un indice arbitraire, étant associée une table de hachage h,(C;) l'identifiant étant bien entendu maintenu. During the implementation of steps A, B, C, D of FIG. 1b, the association is thus carried out with each node N, and for the successive levels n as described above, of each element O; corresponding to the primitive concepts A to G and to the defined concepts H and 1, to each node of the trellis Ni, i being an arbitrary index, being associated with a hash table h, (C;) the identifier being of course maintained.

Ainsi, par la mise en oeuvre du procédé objet de l'invention, on obtient, ainsi que représenté en figure 2b, une structure arborescente n- aire récursive, dans laquelle, à chaque noeud, est associé un élément et une table de hachage à laquelle est attribuée la clé C; formée par l'objet représentatif de l'élément, c'est-à-dire en l'occurrence l'entier représentatif du concept primitif ou défini correspondant, cet entier correspondant à l'entier ajouté représentatif du concept primitif ou défini au chemin d'accès d'un des éléments pères du concept primitif ou défini considéré jusqu'au concept universel T. En conséquence et en référence à la figure 2b, les entités associées à chaque noeud Ni s'écrivent en liaison avec la figure 2a: N {D,hi(1),[1]} N2{G,h2(2),[2]} N3{C,h3(1),[11]} N4{B,h4(1),[111]} N5 {E,hs(2),[ 112] } N6{H,h6(3),[113 23]} N7 {A,h7(1),[ 1111 1121] } N8 {F,h8(2), [ 1112 1122] } N9{I,h9(1), [1131 231]}. Thus, by implementing the method that is the subject of the invention, we obtain, as shown in FIG. 2b, a recursive n-ary tree structure, in which, with each node, an element and a hash table is associated with which key C is assigned; formed by the object representative of the element, that is to say in this case the integer representative of the corresponding primitive or defined concept, this integer corresponding to the added integer representative of the primitive concept or defined in the path d access from one of the parent elements of the primitive or defined concept considered up to the universal concept T. Consequently and with reference to FIG. 2b, the entities associated with each node Ni are written in conjunction with FIG. 2a: N { D, hi (1), [1]} N2 {G, h2 (2), [2]} N3 {C, h3 (1), [11]} N4 {B, h4 (1), [111]} N5 {E, hs (2), [112]} N6 {H, h6 (3), [113 23]} N7 {A, h7 (1), [1111 1121]} N8 {F, h8 (2), [1112 1122]} N9 {I, h9 (1), [1131 231]}.

On constate, à l'observation de la figure 2a, que du fait du codage ainsi exécuté, on a établi une structure de données générique hiérarchique formée par une structure arborescente n-aire non totalement déployée, dans la mesure où à chaque noeud Ni peuvent correspondre plusieurs chemins d'accès, les chemins d'accès 1112 et 1122 pour le noeud N8, c'est-à-dire pour le concept F par exemple. It can be seen, from the observation of FIG. 2a, that due to the coding thus executed, a hierarchical generic data structure has been established formed by an n-ary tree structure not fully deployed, insofar as at each node Ni can correspond several access paths, the access paths 1112 and 1122 for the node N8, that is to say for the concept F for example.

Une structure n-aire totalement déployée est représentée en figure 2c, laquelle correspond à la structure n-aire de la figure 2b dans laquelle, toutefois, à chaque chemin d'accès pour un noeud considéré est représenté un noeud spécifique les noeuds N6, N7, N8 et N9 relatifs au concepts H, A, F et I étant ainsi déployés pour représenter un seul noeud par chemin d'accès. A fully deployed n-ary structure is shown in figure 2c, which corresponds to the n-ary structure of figure 2b in which, however, at each access path for a considered node is represented a specific node the nodes N6, N7 , N8 and N9 relating to the concepts H, A, F and I thus being deployed to represent a single node per access path.

On comprend ainsi que deux noeuds tels que N7 et N'7 par exemple, qui bien entendu ont des chemins d'accès différents, comportent toutefois une table de hachage semblable h7, laquelle, bien entendu, comprend la même valeur de clé, l'entier 1, ainsi que représenté sur la figure 2c. Il en est de même pour ce qui concerne les noeuds N8 et N'8, N9 et N'9 et N6 et N'6. It is thus understood that two nodes such as N7 and N'7 for example, which of course have different access paths, however comprise a similar hash table h7, which, of course, includes the same key value, the integer 1, as shown in Figure 2c. The same is true for nodes N8 and N'8, N9 and N'9 and N6 and N'6.

La structure arborescente n-aire représentée en figure 2c est alors totalement déployée, c'est-à-dire qu'à chaque chemin d'accès correspond un noeud et un seul même si deux noeuds ou plusieurs noeuds peuvent avoir des tables de hachage - 20 - semblables car relatives au même concept et présentant en conséquence une même valeur de clé. The n-ary tree structure represented in FIG. 2c is then fully deployed, that is to say that each access path corresponds to a node and only one even if two nodes or several nodes may have hash tables - 20 - similar because they relate to the same concept and consequently have the same key value.

Enfin, en ce qui concerne la mise en oeuvre de la structure générique hiérarchique précitée, on indique que pour constituer cette dernière, le procédé de codage, objet de l'invention, consiste en fait à former les branches de cette structure de données par les variables d'entrée de chaque table de hachage, chacune des branches étant définie par la clé de la table de hachage associée à son noeud père et de la table de hachage permettant d'associer chacune des branches avec ses noeuds fils. Chaque table de hachage comporte ainsi un pointeur vers la table de hachage associée au noeud fils correspondant, successivement, ainsi qu'il sera décrit ultérieurement dans la description. Finally, as regards the implementation of the aforementioned generic hierarchical structure, it is indicated that in order to constitute the latter, the coding method, object of the invention, in fact consists in forming the branches of this data structure by the input variables of each hash table, each of the branches being defined by the key of the hash table associated with its parent node and of the hash table making it possible to associate each of the branches with its child nodes. Each hash table thus comprises a pointer to the hash table associated with the corresponding child node, successively, as will be described later in the description.

En outre, le procédé de codage objet de l'invention consiste enfin à répertorier les noeuds de la structure de données arborescente et les concepts primitifs ou définis associés à ces derniers en niveau de même profondeur vis-à-vis du noeud racine. In addition, the coding method that is the subject of the invention finally consists in listing the nodes of the tree-like data structure and the primitive or defined concepts associated with the latter at the same depth level with respect to the root node.

Ceci permet d'obtenir, après déploiement total, la structure de dormées telle que représentée en figure 2c. This makes it possible to obtain, after full deployment, the structure of dormers as shown in FIG. 2c.

Enfin, on indique que dans un mode de mise en oeuvre préférentiel non limitatif, les variables d'entrée formant la clé de chaque table de hachage sont avantageusement constituées par des entiers engendrés par ordre croissant au pas de 1. Finally, it is indicated that in a non-limiting preferred embodiment, the input variables forming the key of each hash table are advantageously constituted by integers generated in increasing order in steps of 1.

Ainsi, chaque identifiant comporte au moins un chemin d'accès à un noeud de la structure arborescente et au concept primitif et/ou défini correspondant formé par une suite de nombres entiers. Thus, each identifier comprises at least one access path to a node of the tree structure and to the corresponding primitive and / or defined concept formed by a series of integer numbers.

La structure de données ainsi obtenue, telle que représentée en figure 2c permet facilement de générer un chemin, c'est-à-dire un élément constitutif de l'identifiant associé à un concept correspondant effectivement à l'emplacement d'un concept primitif ou défini au sein du treillis, de compléter ou amputer des chemins de compléter des identifiants et finalement d'accéder à chaque chemin d'un identifiant, de retrouver un concept à partir d'un des chemins de son identifiant et de comparer les préfixes de différents chemins. The data structure thus obtained, as represented in FIG. 2c, makes it easy to generate a path, that is to say an element constituting the identifier associated with a concept corresponding effectively to the location of a primitive concept or defined within the trellis, to complete or cut off paths to complete identifiers and finally to access each path of an identifier, to find a concept from one of the paths of its identifier and to compare the prefixes of different paths.

L'ensemble des propriétés précitées sont alors particulièrement avantageuses car elles permettent de retrouver efficacement et rapidement les pères, fils, frères et autres concepts proches d'un autre concept et, finalement, permettent de déterminer si un concept en subsume un autre ou non. Les propriétés précitées permettent en outre de manière particulièrement avantageuse de déterminer les plus petit commun généralisant ppcg de plusieurs concepts. All of the aforementioned properties are then particularly advantageous because they make it possible to efficiently and quickly find fathers, sons, brothers and other concepts close to another concept and, finally, make it possible to determine whether one concept subsumes another or not. The aforementioned properties also make it possible in a particularly advantageous manner to determine the least common generalizing ppcg of several concepts.

En outre, et grâce au procédé de codage objet de la présente invention, l'introduction de tables de hachage dans la structure de données hiérarchie générique permet d'obtenir un gain de temps de traitement important grâce aux accès par l'intermédiaire des cartes de hachage précitées. D'une manière plus spécifique, on indique que les tables de hachage hi(C,) peuvent être constitués par des tables de hachage de classe HashMap en langage JAVA qui sont potentiellement plus efficaces qu'une recherche de préfixes sur plusieurs chaînes de caractères. En outre et selon un aspect plus spécifique et particulièrement avantageux du procédé de codage objet de l'invention, on indique que le fait d'exécuter une duplication d'une partie de l'information au sein même de la structure de données, cette duplication pouvant correspondre en un premier temps à l'association pour chaque concept primitif ou défini non seulement de l'identifiant ID, mais également de la valeur de clé de hachage dont la valeur est nécessairement le dernier entier de la suite d'entiers constitutifs des chemins représentant l'identifiant permet d'accéder à une information déterminée telle que l'identifiant d'un concept, le concept lui-même le nombre de chemins qu'il contient ses généralisants ou autre en fonction du traitement à effectuer, ainsi qu'il sera décrit ultérieurement dans la description. In addition, and by virtue of the coding method that is the subject of the present invention, the introduction of hash tables in the generic hierarchy data structure makes it possible to obtain a significant saving in processing time thanks to the accesses via the data cards. aforementioned hash. More specifically, it is indicated that the hash tables hi (C,) can be constituted by HashMap class hash tables in JAVA language which are potentially more efficient than a search for prefixes on several strings of characters. In addition and according to a more specific and particularly advantageous aspect of the coding method which is the subject of the invention, it is indicated that the fact of performing a duplication of part of the information within the data structure itself, this duplication which may correspond initially to the association for each primitive or defined concept not only of the identifier ID, but also of the hash key value, the value of which is necessarily the last integer of the series of integers making up the paths representing the identifier allows access to determined information such as the identifier of a concept, the concept itself the number of paths that it contains its generalizers or other depending on the processing to be performed, as well as will be described later in the description.

En outre, le procédé de codage objet de la présente invention apparaît particulièrement avantageux dans la mesure où il permet d'introduire un gain de généricité du domaine à savoir un relâchement des contraintes de mise en oeuvre quelque soit le langage utilisé et, en particulier, sur les points ci-après: - 22 - bien que le nombre de noeuds fixes d'un concept reste limité car ce nombre est imposé par le nombre de valeurs différentes que peuvent prendre les caractères à écrire, le fait d'utiliser des suites d'entiers pour constituer les identifiants permet de repousser la limite des techniques de l'art antérieur. En effet, la limite imposée par les contraintes de codage des identifiants est maintenant celle relative au nombre d'entiers différents codés par le type choisi, par exemple 256 valeurs sur un octet, c'est-à-dire 256 fils envisageables pour un concept en n'utilisant qu'un seul octet par caractère; dans la technique antérieure, la taille d'un chemin dont la profondeur de la hiérarchie pouvait être majorée par la longueur maximale du type chaîne de caractères. En effet, par exemple dans certains compilateurs Pascal, une limite peut être imposée correspondant à la taille maximale des ensembles d'objets, limite qui est généralement petite. Grâce au procédé objet de l'invention, le nombre de caractères d'un chemin n'est plus majoré que par la mémoire libre. In addition, the coding method that is the subject of the present invention appears particularly advantageous insofar as it makes it possible to introduce a gain in genericity of the domain, namely a relaxation of the implementation constraints whatever the language used and, in particular, on the following points: - 22 - although the number of fixed nodes of a concept remains limited because this number is imposed by the number of different values that the characters to write can take, the fact of using sequences of d 'whole to constitute the identifiers makes it possible to push back the limit of the techniques of the prior art. Indeed, the limit imposed by the constraints of coding of identifiers is now that relating to the number of different integers coded by the chosen type, for example 256 values on one byte, that is to say 256 possible children for a concept. using only one byte per character; in the prior art, the size of a path whose depth of the hierarchy could be increased by the maximum length of the character string type. Indeed, for example in certain Pascal compilers, a limit can be imposed corresponding to the maximum size of the sets of objects, limit which is generally small. Thanks to the method which is the subject of the invention, the number of characters of a path is no longer increased except by the free memory.

En référence à la notion de duplication d'une partie de l'information au sein de la même structure de données, afin de permettre d'accéder à une information spécifique, ainsi que mentionné précédemment dans la description, un mode de mise en oeuvre préférentiel non limitatif du procédé de codage objet de l'invention, sera maintenant décrit en liaison avec la figure 3. With reference to the notion of duplication of part of the information within the same data structure, in order to allow access to specific information, as mentioned previously in the description, a preferred embodiment without limitation of the coding method which is the subject of the invention, will now be described in conjunction with FIG. 3.

Le processus de codage décrit en liaison avec la figure 3 s'ajoute au processus de codage décrit en liaison avec la figure lb et complète ce dernier. The coding process described in connection with FIG. 3 is additional to the coding process described in connection with FIG. 1b and supplements the latter.

En effet, en référence à la figure 3 précitée, lorsque les éléments du treillis sont issus d'une hiérarchie de concepts appartenant à une ontologie et que le treillis codé est un des treillis dans lesquels les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, alors le procédé, objet de l'invention, peut en outre consister, avantageusement, à établir une structure de données lexicale spécifique, par association des concepts primitifs ou définis au treillis via une table de hachage dont la clé est la dénomination du concept dans la structure de données générique hiérarchique, les information codées dans la nouvelle - 23 - table de hachage étant alors les seuls chemins d'accès entre le concept primitif ou défini et le concept universel. Indeed, with reference to the aforementioned FIG. 3, when the elements of the trellis come from a hierarchy of concepts belonging to an ontology and when the coded trellis is one of the trellises in which the series of objects forming the identifier of a primitive or defined concept are sequences of integers, then the method, object of the invention, can also consist, advantageously, in establishing a specific lexical data structure, by association of the primitive concepts or defined in the trellis via a table of hash whose key is the name of the concept in the hierarchical generic data structure, the information encoded in the new hash table then being the only access paths between the primitive or defined concept and the universal concept.

Ainsi, en référence à la figure 3 on considère, par exemple, la structure de données générique hiérarchique telle que représentée en figure 2c, c'est-à-dire la structure: H{PCi,DCk,h;(C;),ID;}. Thus, with reference to FIG. 3, we consider, for example, the hierarchical generic data structure as represented in FIG. 2c, that is to say the structure: H {PCi, DCk, h; (C;), ID;}.

Dans la structure générique hiérarchique précitée, PC; désigne les concepts primitifs et DCk désigne les concepts définis. Chacun dispose d'une table de hachage notée de manière générique h;(Ci) et d'un identifiant IDi. Bien entendu, les concepts primitifs et définis précités vérifient la relation d'ordre: {1cPC;,DCkOT}. In the aforementioned generic hierarchical structure, PC; denotes primitive concepts and DCk denotes defined concepts. Each has a hash table denoted generically h; (Ci) and an identifier IDi. Of course, the above-mentioned primitive and defined concepts verify the order relation: {1cPC;, DCkOT}.

On conçoit, en particulier, que l'établissement de la structure de données lexicale spécifique peut alors être exécutée avantageusement à partir de la, structure générique hiérarchique, telle que représentée par exemple en figure 2c, par parcours des noeuds successifs et, en particulier, des niveaux n tels que représentés par exemple en figure 2c. It will be understood, in particular, that the establishment of the specific lexical data structure can then be carried out advantageously from the generic hierarchical structure, as represented for example in FIG. 2c, by traversing successive nodes and, in particular, levels n as shown for example in FIG. 2c.

Le procédé, objet de l'invention, pour l'établissement de la structure de données lexicale spécifique, consiste alors, ainsi que représenté sur la figure 3 en une étape E à partir des noeuds et des concepts primitifs PC; et définis DCk et de leurs identifiants ID; à établir la table de hachage notée T[("PC;",CH;)/("DCk",CHk)]. The method, object of the invention, for establishing the specific lexical data structure, then consists, as represented in FIG. 3, in a step E starting from the nodes and the primitive concepts PC; and defined DCk and their identifiers ID; in establishing the hash table denoted T [("PC;", CH;) / ("DCk", CHk)].

L'étape E est exécuté pour tous les noeuds d'un même niveau n et peut alors être suivie d'une étape F consistant à vérifier qu'aucun des concepts du niveau suivant n'est constitué par le concept vide. Step E is executed for all the nodes of the same level n and can then be followed by a step F consisting in checking that none of the concepts of the following level is constituted by the empty concept.

Cette opération à l'étape F est notée: n PC;, Dk=1 ? Sur réponse négative au test F une étape G est appelée laquelle consiste à passer au niveau suivant n=n+1 pour réitérer l'étape E sur les noeuds du niveau n+l. L'opération est poursuivie tant que le concept vide n'est pas atteint. This operation in step F is denoted: n PC ;, Dk = 1? On a negative response to the test F, a step G is called which consists in going to the next level n = n + 1 in order to reiterate the step E on the nodes of the level n + 1. The operation is continued as long as the empty concept is not reached.

- 24 - Sur atteinte du concept vide, c'est-à-dire en réponse positive à l'étape F de la figure 3, l'opération d'établissement de la structure de données lexicale spécifique est alors terminée et l'on dispose de la structure précitée noté : T[("PCi",CHi)/("DCk",CHk)]. - 24 - On reaching the empty concept, that is to say in positive response to step F of figure 3, the operation of establishing the specific lexical data structure is then terminated and we have of the aforementioned structure noted: T [(“PCi”, CHi) / (“DCk”, CHk)].

En référence à la figure 3 on indique que dans la structure de données lexicale spécifique: "PCi" désigne la dénomination du concept PCi, "DCk" désigne la dénomination du concept défini DCk, CHi désigne l'ensemble des chemins d'accès au concept primitif PCi à partir du concept universel T, CHk désigne l'ensemble des chemins d'accès au concept défini DCk à partir du concept universel T. On comprend que le processus de codage représenté en figure 3 consiste ainsi à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis au treillis d'une part, et, d'autre part, à un tableau de tableaux de nombres entiers qui représentent les chemins d'accès entre 1,e concept considéré et le concept universel. With reference to figure 3 it is indicated that in the specific lexical data structure: “PCi” designates the name of the concept PCi, “DCk” designates the name of the defined concept DCk, CHi designates the set of access paths to the concept primitive PCi starting from the universal concept T, CHk designates the set of access paths to the defined concept DCk starting from the universal concept T. It is understood that the coding process represented in FIG. 3 thus consists in establishing a lexical data structure specific by association of the primitive or defined concepts with the lattice on the one hand, and, on the other hand, with an array of tables of integers which represent the access paths between 1, th concept considered and the universal concept.

Sur la figure 3, le tableau de tableaux de nombres entiers et noté : T[("PCi",CHi)/("DCk",CHk)]. In Figure 3, the table of tables of integers and denoted: T [("PCi", CHi) / ("DCk", CHk)].

Une description plus détaillée d'une structure de données générique hiérarchique de représentation codée d'un treillis représentative d'une hiérarchie d'éléments, ce treillis comportant au moins une pluralité de noeuds et à chaque noeud du treillis étant associé un élément considéré et un identifiant, sera maintenant donné en liaison avec la figure 4a. A more detailed description of a hierarchical generic data structure of coded representation of a trellis representative of a hierarchy of elements, this trellis comprising at least a plurality of nodes and with each node of the trellis being associated a considered element and a identifier, will now be given in conjunction with FIG. 4a.

Dans le cadre de la description de la figure 4a, on indique que la structure de données, objet de l'invention, comprend au moins la structure de données générique hiérarchique associée au treillis sous forme d'une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de l'élément considéré. La structure de données arborescente est elle-même constituée 25 - par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et l'élément considéré. In the context of the description of FIG. 4a, it is indicated that the data structure, object of the invention, comprises at least the hierarchical generic data structure associated with the trellis in the form of a recursive n-ary tree structure, with each node of the tree structure being associated with an element and a hash table to which is assigned a key formed by the object representative of the element considered. The tree-like data structure is itself constituted by a recursive hash table comprising as many entries as there are successive child nodes under the upper bound making it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and the element considered.

On comprend ainsi que la structure de données générique hiérarchique précitée correspond bien entendu à la structure arborescente représentée en figure 2c. It will thus be understood that the aforementioned hierarchical generic data structure corresponds of course to the tree structure shown in FIG. 2c.

En outre, cette structure regroupe les propriétés d'une table ou carte de hachage et d'un arbre n-aire et est appelée en conséquence HashMaptree. In addition, this structure groups the properties of a hash table or map and an n-ary tree and is therefore called HashMaptree.

En effet, la structure récursive classique des arbres n-aires a été complétée, conformément à l'objet de l'invention, par des optimisations obtenues grâce aux clés des cartes de hachage. Indeed, the classic recursive structure of n-ary trees has been completed, in accordance with the object of the invention, by optimizations obtained by means of the keys of the hash maps.

Par analogie, la racine de la structure arborescente n-aire récursive correspond à la carte de hachage globale par exemple et un noeud, constitué d'un objet porteur d'informations, est représenté sur la figure 4a par le caractère étoile (*) et par une carte de hachage représentée sur la figure 4a par un carré (0). Les branches sont constituées par les différentes entrées des tables de hachage. Les feuilles sont les noeuds dont la carte de hachage est vide. Une carte de hachage vide est symbolisée par une croix dans le carré correspondant ( ). On comprend ainsi que le symbole * représente un objet quelconque dont le type peut être fixé par les classes héritières de HashMaptree. L'objet représenté par l'étoile précitée correspond aux objets porteurs d'informations dans la structure de données, c'est-à-dire aux objets tels que les mots d'un dictionnaire ainsi que décrit précédemment en liaison avec les figures la et lb, sinon à un concept primitif ou défini ainsi que décrit précédemment en liaison avec les figures 2a, 2b, 2c. By analogy, the root of the recursive n-ary tree structure corresponds to the global hash map for example and a node, consisting of an object carrying information, is represented in Figure 4a by the star character (*) and by a hash card represented in FIG. 4a by a square (0). The branches are made up of the different entries in the hash tables. Leaves are the nodes whose hash map is empty. An empty hash card is symbolized by a cross in the corresponding square (). It is thus understood that the symbol * represents any object whose type can be set by the classes heir to HashMaptree. The object represented by the aforementioned star corresponds to the objects carrying information in the data structure, that is to say to objects such as the words of a dictionary as described previously in connection with Figures la and lb, otherwise to a primitive or defined concept as described previously in connection with Figures 2a, 2b, 2c.

En outre, les valeurs de clé de la table de hachage représentées par un entier sur la figure 4a peuvent avoir n'importe quel type, caractère, chaîne de caractères ou autre, mais également la valeur d'un entier dans le mode de représentation de la figure 4a précitée. Ce type est fixé dans les classes héritières par exemple. Further, the hash table key values represented by an integer in Figure 4a can have any type, character, string or other, but also the value of an integer in the representation mode of FIG. 4a above. This type is fixed in the heir classes for example.

- 26 - En référence à la figure 4a et, bien entendu, aux figures 2b et en particulier 2c, on comprend que les clés mises bout à bout et les valeurs sous forme d'entiers permettent d'obtenir les chemins d'accès aux objets porteurs d'informations. - 26 - With reference to FIG. 4a and, of course, to FIGS. 2b and in particular 2c, it will be understood that the keys placed end to end and the values in the form of integers make it possible to obtain the access paths to the objects carriers of information.

En référence à la figure 4a, le noeud entouré est relié au noeud racine représenté virtuellement par NR par trois entrées. La première est celle de la clé 1 de la première table de hachage également représentée en figure 2c et désignée hl(1) au noeud N1. la deuxième celle de la clé 1 de la table de hachage h3(1) du noeud N3 et la troisième correspond à l'entrée de la clé 3, c'est-à-dire de la table de hachage h6(3) du noeud N6 de la figure 2c. Le noeud entouré sur la figure 4a correspond à l'entrée 3 de la troisième carte de hachage désignée h6(3) sur la figure 2c. With reference to FIG. 4a, the surrounded node is connected to the root node represented virtually by NR by three inputs. The first is that of key 1 of the first hash table also represented in FIG. 2c and designated h1 (1) at node N1. the second that of the key 1 of the hash table h3 (1) of the node N3 and the third corresponds to the entry of the key 3, that is to say of the hash table h6 (3) of the node N6 in figure 2c. The node circled in Figure 4a corresponds to entry 3 of the third hash map designated h6 (3) in Figure 2c.

Le chemin d'accès associé aux informations contenues dans la table de hachage, dont le chemin d'accès est 113, n'est autre que le concept H tel que représenté au noeud N6 de la figure 2c. Le chemin d'accès correspondant est bien le chemin 113 qui est de taille ou profondeur 3. On indique que la taille désigne le degré de filiation par rapport au noeud racine. The access path associated with the information contained in the hash table, the access path of which is 113, is none other than the concept H as represented at node N6 in FIG. 2c. The corresponding access path is indeed the path 113 which is of size or depth 3. It is indicated that the size designates the degree of filiation with respect to the root node.

En référence à la figure 4a, et, bien entendu, à la figure 2c qui représente la structure arborescente n-aire correspondante, cette structure représente un découpage en strates successives, c'est-à-dire en niveaux de profondeur successifs, et constitue donc une structure arborescente très proche de l'organisation intrinsèque des concepts d'une ontologie. Les clés d'accès à la table de hachage constitutive de la. structure arborescente générique hiérarchique précitée sont directement comparables aux identifiants obtenus par codage par numérotation des concepts primitifs et définis décrits dans la demande de brevet mentionnéeprécédemment dans la description. With reference to FIG. 4a, and, of course, to FIG. 2c which represents the corresponding n-ary tree structure, this structure represents a division into successive strata, that is to say into successive depth levels, and constitutes therefore a tree structure very close to the intrinsic organization of the concepts of an ontology. The access keys to the constituent hash table of the. aforementioned generic hierarchical tree structure are directly comparable with the identifiers obtained by coding by numbering of the primitive and defined concepts described in the patent application mentioned above in the description.

On conçoit ainsi que la structure de données arborescente de type n-aire générique hiérarchique permet de retourner un concept à partir d'un chemin de son identifiant. It can thus be seen that the hierarchical generic n-ary type tree data structure makes it possible to return a concept from a path of its identifier.

En effet, en référence aux figures 2c et 4a par exemple, pour obtenir un concept à partir de la structure arborescente générique hiérarchique précitée, il suffit d'accéder au noeud auquel le concept demandé est associé, en particulier, par le chemin d'accès ou respectivement par les clés successives des tables de hachage qui - 27 - représentent le chemin d'accès précité. Enfin, on rappelle que, en référence à la figure 4a, les noeuds dont la carte de hachage est vide, constituent les feuilles de la structure arborescente et sont représentés sur la figure précitée par une croix dans]la table de hachage correspondante. Au contraire, toute information symbolisée par une étoile présente dans la table de hachage, constitue l'information relative aux concepts mémorisés, c'est-à-dire les concepts A à I représentés en figure 2a. Indeed, with reference to FIGS. 2c and 4a for example, to obtain a concept from the aforementioned generic hierarchical tree structure, it suffices to access the node to which the requested concept is associated, in particular, by the access path or respectively by the successive keys of the hash tables which represent the aforementioned access path. Finally, it is recalled that, with reference to FIG. 4a, the nodes whose hash card is empty constitute the leaves of the tree structure and are represented in the aforementioned figure by a cross in the corresponding hash table. On the contrary, any information symbolized by a star present in the hash table constitutes the information relating to the stored concepts, that is to say the concepts A to I represented in FIG. 2a.

La structure de données générique hiérarchique représentée en figure 4a, du fait de l'implémentation de cette dernière sous forme de tables de hachage, permet une exploitation optimale du codage par numérotation des concepts primitifs et/ou définis d'une ontologie. La carte de hachage générique hiérarchique est ainsi une carte générique centrée sur des suites d'entiers d'un chemin d'accès, pour obtenir les concepts correspondants. The hierarchical generic data structure represented in FIG. 4a, due to the implementation of the latter in the form of hash tables, allows optimal use of the coding by numbering of the primitive and / or defined concepts of an ontology. The hierarchical generic hash map is thus a generic map centered on sequences of integers of an access path, in order to obtain the corresponding concepts.

Toutefois, grâce à la mise en oeuvre du procédé objet de l'invention tel que représenté en figure 3 et en particulier du processus de codage d'une table de hachage lexicale spécifique, on indique, en référence à la figure 4b, que cette carte est une carte complémentaire permettant d'optimiser l'exploitation de toute ontologie codée par numérotation ainsi que mentionné précédemment en référence à la demande de brevet au nom de la demanderesse citée dans la description. However, thanks to the implementation of the method which is the subject of the invention as represented in FIG. 3 and in particular of the process of encoding a specific lexical hash table, it is indicated, with reference to FIG. 4b, that this card is a complementary card making it possible to optimize the use of any ontology coded by numbering as mentioned previously with reference to the patent application in the name of the applicant cited in the description.

En référence à la figure 4b, l'on constate que la table de hachage lexicale spécifique est formée par un tableau de tableaux d'entiers auquel sont associés la dénomination des concepts appartenant à l'ontologie, et, en particulier, au treillis correspondant, tel que celui représenté en figure 2c par exemple. With reference to FIG. 4b, it can be seen that the specific lexical hash table is formed by an array of integer tables with which are associated the denomination of the concepts belonging to the ontology, and, in particular, to the corresponding trellis, such as that shown in FIG. 2c for example.

Ainsi, on constate qu'à chaque nom de concept tel que: "PCi"=A,B,C, D,E,F,G,H,I par exemple est associé un ou plusieurs tableaux d'entiers représentant les chemins d'accès au concept dont la dénomination correspondante est désignée à partir du noeud NR racine, c'est-à-dire finalement du concept universel. Thus, one notes that with each name of concept such as: "PCi" = A, B, C, D, E, F, G, H, I for example is associated one or more tables of integers representing the paths d 'access to the concept whose corresponding denomination is designated from the root NR node, that is to say finally from the universal concept.

Ainsi, et conformément à un aspect remarquable du procédé de codage objet de la présente invention, la première structure de données générique hiérarchique, représentée en figure 4a, est une table de hachage générique centrée sur Iles suites - 28 - d'entiers sur les chemins pour obtenir les concepts et la deuxième structure de données lexicale spécifique est, au contraire, centrée sur les dénominations de concepts formées par des chaînes de caractères par exemple pour obtenir l'ensemble des informations les concernant, via un objet de type concept. Thus, and in accordance with a remarkable aspect of the coding method which is the subject of the present invention, the first hierarchical generic data structure, represented in FIG. 4a, is a generic hash table centered on the series - 28 - of integers on the paths. to obtain the concepts and the second specific lexical data structure is, on the contrary, centered on the denominations of concepts formed by character strings for example to obtain all the information concerning them, via an object of the concept type.

En référence à la figure 4b, on indique que les clés de la structure de données lexicale spécifique sont formées par une chaîne de caractères correspondant à la dénomination d'un concept et qui permet donc d'accéder aux informations relatives au concept, tel que son identifiant complet par exemple. With reference to FIG. 4b, it is indicated that the keys of the specific lexical data structure are formed by a character string corresponding to the name of a concept and which therefore allows access to information relating to the concept, such as its full identifier for example.

Ainsi, il apparaît que l'accès par une clé et bien entendu par une succession de clés à la première structure de données générique hiérarchique, pour obtenir le concept correspondant, respectivement l'accès à la structure de données lexicale spécifique à partir d'une clé formée par la désignation d'un concept, pour obtenir le chemin d'accès au concept précité, sont des accès sensiblement symétriques. Thus, it appears that access by a key and of course by a succession of keys to the first hierarchical generic data structure, to obtain the corresponding concept, respectively access to the specific lexical data structure from a key formed by the designation of a concept, to obtain the access path to the aforementioned concept, are substantially symmetrical accesses.

On rappelle que les ontologies manipulées grâce à la mise en oeuvre du procédé de codage objet de la présente invention et du procédé de codage par numérotation décrit précédemment en référence à la demande de brevet au nom de la demanderesse respecte la contrainte d'unicité de la dénomination de chaque concept, à savoir que deux noms différents représentent des prédicats différents et un même nom représente un seul et même prédicat. It is recalled that the ontologies manipulated by virtue of the implementation of the coding method which is the subject of the present invention and of the coding method by numbering described above with reference to the patent application in the name of the applicant respects the uniqueness constraint of the denomination of each concept, namely that two different names represent different predicates and the same name represents one and the same predicate.

Chaque clé d'accès à la structure de données lexicale spécifique permet entre autres d'accéder à l'identifiant du concept correspondant stocké, d'une part, par l'intermédiaire d'un tableau de tableaux d'entiers, et, d'autre part, par une carte générique hiérarchique. Each access key to the specific lexical data structure allows, among other things, to access the identifier of the corresponding stored concept, on the one hand, through an array of integer arrays, and, on the other hand, by a generic hierarchical map.

Selon un aspect remarquable du procédé et des structures de données décrites en liaison avec les figures 4a et 4b, objet de la présente invention, ces entités sont complémentaires pour les traitements et redondantes quant à l'information qu'elles contiennent. According to a remarkable aspect of the method and of the data structures described in connection with FIGS. 4a and 4b, object of the present invention, these entities are complementary for the processing and redundant as regards the information they contain.

Pour cette raison, les entités précitées procurent des gains en généricité et en temps de traitement, tel que mentionné précédemment dans la description. For this reason, the aforementioned entities provide gains in genericity and in processing time, as mentioned previously in the description.

- 29 - En particulier, le fait que les entiers utilisés pour engendrer les entrées différentes sur les tables de hachage constitutives de la structure de données générique hiérarchique représentées en figures 2c et 4a sont engendrées par ordre croissant et par pas de un en partant de 1, permet par exemple, en l'absence d'un entier donné, de déduire que cet entier n'existe pas, mais surtout qu'il n'existe pas d'identifiant supérieur issu d'un même père et donc avec le même préfixe, c'est-à-dire le préfixe correspondant au chemin du père. - 29 - In particular, the fact that the integers used to generate the different entries on the hash tables constituting the hierarchical generic data structure represented in FIGS. 2c and 4a are generated in ascending order and in steps of one starting from 1 , allows for example, in the absence of a given integer, to deduce that this integer does not exist, but especially that there is no superior identifier resulting from the same father and therefore with the same prefix , that is to say the prefix corresponding to the path of the father.

Par exemple, l'absence d'entrée 3, c'est-à-dire de clé dont la valeur numérique est un entier 3, dans une structure de données générique hiérarchique comparable à celle représentée en figure 4a permet bien entendu de déduire que le dernier fils du noeud racine ou concept universel T est le noeud G du treillis de l'art antérieur représenté en figure la, pour lequel la clé d'accès est la valeur 2, et qu'il n'existe pas de concept dont un des chemins dans cette hiérarchie commence par 3, 4 ou par tout autre entier de valeur supérieure. For example, the absence of entry 3, that is to say of a key whose numerical value is an integer 3, in a hierarchical generic data structure comparable to that represented in FIG. 4a, of course makes it possible to deduce that the last child of the root node or universal concept T is the node G of the trellis of the prior art shown in FIG. la, for which the access key is the value 2, and that there is no concept of which one of the paths in this hierarchy begin with 3, 4, or any higher value integer.

En outre, la structure de données lexicale spécifique permet de connaître rapidement le nombre de chemins que possède un identifiant, ainsi que la taille de chacun des chemins précités. In addition, the specific lexical data structure makes it possible to quickly know the number of paths that an identifier has, as well as the size of each of the aforementioned paths.

Les avantages de la structure de données lexicale spécifique sont les suivants: ^ Avantages inhérents au tableau de tableaux d'entiers: Ce tableau permet de connaître rapidement le nombre de chemins que possède un identifiant, ainsi que la taille de chacun de ces chemins. Ceci permet d'optimiser: les tests de subsomption: si A subsume B alors A ne peut pas avoir plus de chemin dans son identifiant, puisque A transmet tous ses chemins à ses descendants; les calculs de plus petit commun généralisant ppcg: le nombre maximal de chemins appartenant aux ppcg de plusieurs concepts est égal au nombre de chemins de l'identifiant du plus petit. Parcourir le tableau de l'identifiant possédant le moins de chemins suffit donc pour calculer un ppcg. The advantages of the specific lexical data structure are as follows: ^ Advantages inherent in the array of integer arrays: This array allows you to quickly find out the number of paths that an identifier has, as well as the size of each of these paths. This makes it possible to optimize: the subsumption tests: if A subsumes B then A cannot have more path in its identifier, since A transmits all its paths to its descendants; the calculations of least common generalizing ppcg: the maximum number of paths belonging to the ppcg of several concepts is equal to the number of paths of the identifier of the smallest. Browsing the array of the identifier with the fewest paths is therefore sufficient to calculate a ppcg.

^ Avantages inhérents à la carte de hachage constitutive de la structure de données spécifique lexicale: L'information contenue par cette dernière ne doit pas être restreinte aux clés des cartes des tables de hachage. En effet, stocker en sus un concept permet d'utiliser plus largement les propriétés de la structure de données générique hiérarchique pour obtenir facilement les concepts primitifs ou définis pères et les concepts généralisants d'un concept déterminé. ^ Advantages inherent in the hash map constituting the specific lexical data structure: The information contained by the latter must not be restricted to the keys of the maps of the hash tables. In fact, storing a concept in addition makes it possible to use more widely the properties of the hierarchical generic data structure to easily obtain the primitive or defined concepts fathers and the generalizing concepts of a determined concept.

Les gains obtenus avec cette nouvelle table de hachage sont comparables à ceux obtenus avec la structure de données générique hiérarchique. En particulier, il n'est plus nécessaire de parcourir des vecteurs de chaîne ni même des chaînes avant de trouver le préfixe pertinent ou de s'apercevoir que ce dernier n'existe pas. The gains obtained with this new hash table are comparable to those obtained with the hierarchical generic data structure. In particular, it is no longer necessary to iterate through string vectors or even strings before finding the relevant prefix or realizing that it does not exist.

En outre, de nombreux algorithmes récursifs peuvent être appliqués, lesquels se réduisent alors souvent à un test d'existence de clés dans plusieurs cartes de hachage imbriquées. In addition, many recursive algorithms can be applied, which then often boil down to a test for the existence of keys in several nested hash maps.

^ Avantages inhérents à l'utilisation de la table de hachage: Test de subsomption: si un concept A subsume un concept B alors la table de hachage de A est incluse dans la table de hachage de B. Calcul de plus petit commun généralisant ppcg: l'ensemble des feuilles d'une carte obtenue par intersection des cartes des identifiants de plusieurs concepts C forme les plus petits communs généralisants du concept C. Pour l'obtention de la table de hachage et de la structure de données lexicale spécifique, après avoir effectué le premier parcours de l'ensemble des concepts tels que représentés en figure lb, l'on effectue un second parcours de ces derniers pour initialiser la structure de données H{PC,, DCk,h,(C,),ID;} de chacun des concepts, tel que représenté en figure 3 en parcourant alors la structure de données générique hiérarchique. ^ Advantages inherent in the use of the hash table: Subsumption test: if a concept A subsumes a concept B then the hash table of A is included in the hash table of B. Computation of least common generalizing ppcg: the set of sheets of a map obtained by intersection of the maps of the identifiers of several concepts C forms the smallest generalizing commons of the concept C. To obtain the hash table and the specific lexical data structure, after having carried out the first scan of all the concepts such as represented in FIG. 1b, a second scan of the latter is carried out to initialize the data structure H {PC ,, DCk, h, (C,), ID;} of each of the concepts, as represented in FIG. 3, then traversing the hierarchical generic data structure.

Différents exemples d'utilisation de la structure de données générique hiérarchique représentée en figures 2c et 4a et/ou de la structure de données lexicale spécifique représentée en figure 4b seront maintenant donnés, en liaison avec les figures 5a à 5d. Different examples of use of the hierarchical generic data structure represented in FIGS. 2c and 4a and / or of the specific lexical data structure represented in FIG. 4b will now be given, in conjunction with FIGS. 5a to 5d.

En ce qui concerne l'utilisation de la structure de données générique hiérarchique, on rappelle que cette dernière est en mesure de représenter une 5 hiérarchie d'objets quelconques. As regards the use of the hierarchical generic data structure, it will be recalled that the latter is able to represent a hierarchy of any objects.

En référence à la figure 5a, le treillis représente l'organisation de]l'ensemble des mots d'un dictionnaire par exemple, en fonction de la succession de lettres qui composent ce mot. With reference to FIG. 5a, the lattice represents the organization of] all the words of a dictionary for example, as a function of the succession of letters which make up this word.

Les éléments du treillis sont alors des concepts pour lesquels il peut exister 10 plusieurs synonymes, l'élément vide étant noté . The elements of the trellis are then concepts for which there can be several synonyms, the empty element being noted.

L'élément supérieur du treillis, dans cette situation, est le concept universel lequel s'exprime sans aucune lettre et l'élément inférieur du treillis est le concept vide représentant tous les concepts du treillis. Un synonyme est situé dans le treillis grâce à la suite de lettres qui définit un chemin entre l'élément supérieur et le synonyme. Il existe ainsi autant de chemins que le concept a de synonymes. La profondeur des occurrences d'un concept dans le treillis est fixée par le nombre de lettres de chacun de ses synonymes. L'identifiant d'un concept correspond à l'ensemble des successions de lettres qui forment les synonymes de ce concept. The upper element of the lattice, in this situation, is the universal concept which is expressed without any letters and the lower element of the lattice is the empty concept representing all the concepts of the lattice. A synonym is located in the lattice thanks to the series of letters which defines a path between the upper element and the synonym. There are thus as many paths as the concept has synonyms. The depth of the occurrences of a concept in the lattice is fixed by the number of letters of each of its synonyms. The identifier of a concept corresponds to the set of successions of letters which form the synonyms of this concept.

En référence à la figure 5a, on indique que les sous-chemins qui ne correspondent pas à des concepts sont associés à un élément vide noté . With reference to FIG. 5a, it is indicated that the sub-paths which do not correspond to concepts are associated with an empty element noted.

Ainsi, en référence à la figure précitée, il existe quatre concepts différents;les mots "ami", "amis" et "amie" correspondant au même concept B, les mots "âme" et "âmes" correspondant au concept C. Une autre application de la structure numérique hiérarchique représentée en 25 figure 4a est donnée en relation avec la figure 5b. Thus, with reference to the aforementioned figure, there are four different concepts: the words "friend", "friends" and "friend" corresponding to the same concept B, the words "soul" and "souls" corresponding to concept C. Another Application of the hierarchical numerical structure shown in figure 4a is given in relation to figure 5b.

Dans cette situation, le treillis représente l'organisation d'une famille en fonction de la succession de parents qui a engendré un membre de la famille. In this situation, the trellis represents the organization of a family according to the succession of parents that has engendered a family member.

Les membres du treillis sont des individus pour lesquels il peut exister plusieurs parents. L'élément supérieur du treillis représentant le concepteur universel n'est autre que le premier être à l'origine de toute l'humanité, lequel n'a pas de date de - 32 - naissance, et l'élément inférieur représente un descendant hypothétique ou virtuel issu de l'union de tous les humains du treillis. The members of the trellis are individuals for whom there can be several parents. The upper element of the lattice representing the universal designer is none other than the first being at the origin of all mankind, which has no date of birth, and the lower element represents a hypothetical descendant or virtual resulting from the union of all the humans of the lattice.

Un membre de la famille est ainsi représenté dans le treillis grâce à la suite de dates de naissances qui définissent un chemin entre l'élément supérieur et l'individu du treillis. A member of the family is thus represented in the trellis thanks to the series of dates of birth which define a path between the upper element and the individual of the trellis.

Dans le but de conserver la contrainte d'unicité des dates, pour un même parent, il suffit de préciser les heures et les minutes dans la date par exemple. In order to keep the date uniqueness constraint, for the same parent, all you have to do is specify the hours and minutes in the date for example.

Ainsi, il existe autant de chemins que le concept a d'ascendants dans l'arbre généalogique. La profondeur des occurrences d'un individu dans le treillis est fixée par le nombre d'ascendants connus de chacune de ces occurrences. L'identifiant d'un individu correspond à l'ensemble des successions de dates de naissance qui forment les ascendants de cet individu. Thus, there are as many paths as the concept has ascendants in the family tree. The depth of the occurrences of an individual in the lattice is fixed by the number of known ascendants of each of these occurrences. The identifier of an individual corresponds to the set of successions of dates of birth which form the ascendants of this individual.

En référence à la figure 5b, on indique que Marc qui apparaît deux fois comme individu fils de Frédéric respectivement de Sophie est le fils des individus Frédéric et Sophie. With reference to FIG. 5b, it is indicated that Marc, who appears twice as an individual son of Frédéric respectively of Sophie, is the son of individuals Frédéric and Sophie.

Dans le cas où le treillis codé, conformément au procédé objet de l'invention, est un treillis de concepts primitifs et/ou définis et que, en conséquence, les identifiants sont formés par des suites de nombres entiers, ainsi que décrit précédemment dans la description, un exemple d'utilisation de la structure de données générique hiérarchique dans différentes situations sera maintenant donnée en liaison avec les figures 5c et 5d. In the case where the coded trellis, in accordance with the method which is the subject of the invention, is a trellis of primitive and / or defined concepts and that, consequently, the identifiers are formed by series of integers, as described previously in the description, an example of the use of the hierarchical generic data structure in different situations will now be given in connection with FIGS. 5c and 5d.

La figure 5c représente un processus de calcul de chemin actuel pour l'adjonction d'un concept A, fils d'un concept père E, ainsi que représenté par exemple en figure 2a, 2b ou 2c. FIG. 5c represents a current path calculation process for the addition of a concept A, child of a parent concept E, as represented for example in FIG. 2a, 2b or 2c.

On considère a priori le concept E, avant adjonction, comme une feuille du treillis considéré, le chemin d'accès à partir du concept universel T vers le feuille E dont la table de hachage est symbolisée par une croix est donnée par la suite des clés des tables de hachage successives c'est-à-dire le chemin 112 sur la figure 5c. We consider a priori the concept E, before addition, as a leaf of the considered lattice, the access path from the universal concept T to the leaf E whose hash table is symbolized by a cross is given by the series of keys successive hash tables, that is to say the path 112 in FIG. 5c.

L'adjonction du concept fils A du concept père E consiste simplement à ajouter une table de hachage pour le concept fils A, cette table de hachage devenant - 33 - une feuille pour la structure de données générique hiérarchique représentée en figure 5c ou, plus particulièrement, pour la branche de cette dernière. La clé attribuée à la table de hachage du concept fils A est la valeur numérique 1 et le chemin d'accès est alors la concaténation du chemin d'accès précédent du noeud père E et de la clé de valeur 1, le chemin d'accès devenant 1121, ainsi que représenté sur la figure 5c. The addition of the child concept A of the parent concept E simply consists in adding a hash table for the child concept A, this hash table becoming - 33 - a sheet for the hierarchical generic data structure represented in FIG. 5c or, more particularly , for the branch of the latter. The key assigned to the hash table of the child concept A is the numerical value 1 and the access path is then the concatenation of the previous access path of the parent node E and of the key of value 1, the access path becoming 1121, as shown in Figure 5c.

Un autre exemple d'utilisation d'une structure de données générique hiérarchique, ou d'une branche de cette dernière, telle que représentée en figure 2b, 2c ou 4a est illustrée en figure 5d pour l'ajout d'un nouveau chemin avec fusion de deux chemins relatifs à un concept A ajouté. Another example of the use of a hierarchical generic data structure, or of a branch of the latter, as represented in FIG. 2b, 2c or 4a is illustrated in FIG. 5d for the addition of a new path with merging of two paths relating to an added concept A.

En référence à la figure 5d, le concept A associé au noeud correspondant et qui correspond par exemple au noeud N7 {A,h7(1),[ 1111] } et N'7{A,h7(1),[ 1121] } on dispose des tables de hachage successives avant fusion telles que représentées en figure 5d, chacune comportant les clés formées par les entiers 1111 respectivement 1121, ainsi que représenté sur la figure précitée. L'opération de fusion telle que représentée sur la même figure consiste alors à substituer aux deux chemins précités le chemin commun formé par le préfixe 11 des deux chemins auquel, bien entendu, est ajouté chacun des chemins distincts, c'est-à-dire les chemins 11 et 21 ainsi que représenté sur la figure 5d. With reference to FIG. 5d, the concept A associated with the corresponding node and which corresponds for example to node N7 {A, h7 (1), [1111]} and N'7 {A, h7 (1), [1121]} successive hash tables are available before merging as shown in FIG. 5d, each comprising the keys formed by the integers 1111 respectively 1121, as shown in the aforementioned figure. The merger operation as shown in the same figure then consists in substituting for the two aforementioned paths the common path formed by the prefix 11 of the two paths to which, of course, each of the distinct paths is added, that is to say paths 11 and 21 as shown in FIG. 5d.

On comprend ainsi que la fusion des tables de hachage successives, relatives au premier chemin 1111 respectivement au deuxième chemin 1121, permet de reconstituer la structure de données générique hiérarchique telle que représentée en figure 2c et, en particulier, les branches de celle-ci et, bien entendu, l'implémentation de cette structure générique sous forme des tables ou cartes de hachage, telles que représentées en figure 4a et 5d pour la branche considérée. It is thus understood that the merger of the successive hash tables, relating to the first path 1111 respectively to the second path 1121, makes it possible to reconstitute the hierarchical generic data structure as represented in FIG. 2c and, in particular, the branches thereof and , of course, the implementation of this generic structure in the form of hash tables or cards, as represented in FIGS. 4a and 5d for the branch considered.

En ce qui concerne l'utilisation conjointe de la structure de données générique hiérarchique représentée en figure 4a et de la structure de données lexicale spécifique représentée en figure 4b, on indique que, du fait de la duplication des informations précédemment mentionnées dans la description, la manipulation des entités et en particulier des concepts associés au noeud du treillis et de la structure n-aire correspondante est alors grandement facilitée. With regard to the joint use of the hierarchical generic data structure represented in FIG. 4a and of the specific lexical data structure represented in FIG. 4b, it is indicated that, due to the duplication of the information previously mentioned in the description, the manipulation of the entities and in particular of the concepts associated with the node of the lattice and the corresponding n-ary structure is then greatly facilitated.

- 34 - On comprend, en particulier, que l'utilisation précitée peut alors consister de la manière particulièrement avantageuse soit à obtenir directement le concept par la structure de données générique hiérarchique associée au treillis, à partir d'un des chemins d'accès de l'identifiant associé au concept et bien entendu au noeud correspondant, cette structure générique étant représentée en figures 2c et 4a, soit à introduire la dénomination d'un concept pour obtenir directement à partir de la structure de données lexicale spécifique, représentée en figure 4b, lie concept correspondant. - 34 - It is understood, in particular, that the aforementioned use can then consist, in the particularly advantageous manner, of either directly obtaining the concept by the hierarchical generic data structure associated with the trellis, from one of the access paths of the identifier associated with the concept and of course with the corresponding node, this generic structure being shown in Figures 2c and 4a, or to introduce the name of a concept to obtain directly from the specific lexical data structure, shown in Figure 4b , links corresponding concept.

L'utilisation précitée peut en outre consister à obtenir la dénomination d'un concept et/ou son identifiant à partir du concept considéré ou à obtenir un des chemins d'accès au concept à partir de son identifiant à partir de la structure de données lexicale spécifique telle que représentée en figure 4b. The aforementioned use can also consist in obtaining the name of a concept and / or its identifier from the considered concept or in obtaining one of the access paths to the concept from its identifier from the lexical data structure. specific as shown in Figure 4b.

En ce qui concerne la mise en oeuvre des structure de données générique hiérarchique et lexicale spécifique précitées, on indique que ces structures peuvent avantageusement être mises en oeuvre par exemple en langage JAVA par une extension de la classe "Hashmap" du langage précité. Cette extension permet de définir une classe étendue correspondante par exemple. As regards the implementation of the aforementioned specific hierarchical and lexical generic data structures, it is indicated that these structures can advantageously be implemented for example in JAVA language by an extension of the “Hashmap” class of the aforementioned language. This extension makes it possible to define a corresponding extended class for example.

La classe étendue précitée permet la définition de fonctions spécifiques ci-après: Les noeuds de la table de hachage ainsi constitués sont composés d'un objet porteur d'information, c'est-à-dire d'un concept par exemple et d'un pointeur vers une autre table de hachage de la même classe étendue. The aforementioned extended class allows the definition of specific functions below: The nodes of the hash table thus constituted are composed of an object carrying information, that is to say of a concept for example and of a pointer to another hash table of the same extended class.

Deux fonctions d'accès primitives permettent alors de retourner à partir d'une valeur de clé soit l'objet porteur d'informations mémorisées, ou la table de table de hachage suivante par l'intermédiaire du pointeur précité associé à la valeur de clé considérée. Two primitive access functions then make it possible to return from a key value either the object carrying stored information, or the following hash table table via the aforementioned pointer associated with the key value considered. .

Les deux fonctions d'accès permettent de définir les fonctions d'accès successivement à partir d'un chemin ainsi que décrit précédemment dans la description. The two access functions make it possible to define the access functions successively from a path as described previously in the description.

- 35 - D'autres fonctions primitives peuvent être dédiées à des fonctions de modification à partir d'un entier ou d'un chemin, ainsi que décrit précédemment en liaison avec les figures 5b et 5c par exemple. Other primitive functions can be dedicated to modification functions starting from an integer or from a path, as described previously in connection with FIGS. 5b and 5c for example.

Enfin, dans le cadre du langage JAVA précité, la structure de données générique hiérarchique et la structure de données lexicale spécifique peuvent être définies dans une classe "Ontologie" dans laquelle: la structure de données générique hiérarchique est la classe étendue précédemment citée dans laquelle les clés sont des entiers pouvant représenter jusqu'à la valeur 231 et où les objets sont des objets de classe "HashMaptreenode" permettant la récursivité, chaque noeud contenant un concept; la structure de données lexicale spécifique est une table de hachage dans laquelle les clés sont les dénominations des concepts, c'est-à-dire des chaînes de caractères, les objets sont des concepts comprenant au moins un identifiant sous forme de tableau de chemins et un chemin est un tableau d'entiers. Finally, within the framework of the aforementioned JAVA language, the hierarchical generic data structure and the specific lexical data structure can be defined in an "Ontology" class in which: the hierarchical generic data structure is the previously mentioned extended class in which the keys are integers that can represent up to the value 231 and where the objects are objects of the "HashMaptreenode" class allowing recursion, each node containing a concept; the specific lexical data structure is a hash table in which the keys are the denominations of the concepts, i.e. character strings, the objects are concepts comprising at least one identifier in the form of an array of paths and a path is an array of integers.

La mise en oeuvre de la structure de données générique hiérarchique représentée en figure 4a et de la structure de données lexicale objet de l'invention, telle que représentée en figure 4b permet alors d'effectuer des calculs spécifiques particulièrement simplifiés dans les conditions ci-après: Exécution d'un test d'absence de subsomption vérifiant q'un premier concept A ne subsume pas un deuxième concept B: Dans cette hypothèse, l'utilisation des structures de données précitées consiste à vérifier, à partir de la structure de données lexicale spécifique, que le nombre de chemins d'accès de l'identifiant du premier concept A, égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associés au premier concept A, est en fait supérieur au nombre de chemins d'accès de l'identifiant du deuxième concept B, lui-même égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au deuxième concept B. A titre d'exemple, pour la structure de données lexicale spécifique telle que représentée en figure 4b, le calcul de la réponse à la question posée: Est ce que F(1112 1122) subsume G(2) ? consiste alors à consulter le tableau des identifiants tel que représenté en figure 4b. La réponse est donnée par le fait que F ne subsume pas G, car le nombre de chemins de F est supérieur à celui de G. De même, à la question: Est ce que G(2) subsume F(11121122) ? la consultation des tableaux des identifiants, tels que représenté en figure 4b ne permet pas de répondre rapidement non. The implementation of the hierarchical generic data structure represented in FIG. 4a and of the lexical data structure which is the subject of the invention, as represented in FIG. 4b then makes it possible to perform specific calculations which are particularly simplified under the conditions below. : Execution of a test of absence of subsumption verifying that a first concept A does not subsume a second concept B: In this hypothesis, the use of the aforementioned data structures consists in verifying, from the lexical data structure specific, that the number of access paths of the identifier of the first concept A, equal to the number of integer arrays present in the integer array array associated with the first concept A, is in fact greater than the number of paths access of the identifier of the second concept B, itself equal to the number of integer tables present in the integer table table associated with the second concept B By way of example, for the specific lexical data structure as represented in figure 4b, the computation of the answer to the question asked: Does F (1112 1122) subsume G (2)? then consists in consulting the table of identifiers as shown in FIG. 4b. The answer is given by the fact that F does not subsume G, because the number of paths of F is greater than that of G. Likewise, to the question: Does G (2) subsume F (11121122)? consulting the tables of identifiers, as shown in FIG. 4b, does not make it possible to quickly answer no.

Il suffit alors de consulter la structure de données générique hiérarchique représentée en figure 4a pour vérifier que l'unique clé du premier niveau pour le concept G, c'est-à-dire la valeur de clé entier 2, n'apparaît pas dans la carte de l'identifiant de F. En conséquence, G ne subsume pas F. En outre, la structure de données générique hiérarchique peut avantageusement être utilisée pour exécuter un test de subsomption vérifiant qu'un premier concept A subsume un deuxième concept B. Dans cette situation, cette utilisation consiste à vérifier, à partir de la structure de données générique hiérarchique représentée en figure 4a qu'une suite des clés de la table de hachage, obtenue par un des chemins d'accès au premier concept A, constitue un préfixe de l'une des suites de clés de la table de hachage obtenue par un des chemins d'accès au deuxième concept B. A titre d'exemple, en référence aux figures 2a, 2c et 4a par exemple, à la question: Est-ce que A (1111 1121) subsume F (1112 1122) ? la seule consultation des tableaux des identifiants représentés en figure 4b ne permet pas d'apporter rapidement une réponse Non. It is then sufficient to consult the hierarchical generic data structure represented in FIG. 4a to verify that the unique key of the first level for the concept G, that is to say the integer key value 2, does not appear in the map of the identifier of F. Consequently, G does not subsume F. In addition, the hierarchical generic data structure can advantageously be used to perform a subsumption test verifying that a first concept A subsumes a second concept B. In this situation, this use consists in verifying, from the hierarchical generic data structure represented in FIG. 4a, that a series of keys of the hash table, obtained by one of the access paths to the first concept A, constitutes a prefix of one of the series of keys of the hash table obtained by one of the access paths to the second concept B. By way of example, with reference to FIGS. 2a, 2c and 4a for example, to the question: Is- what A (1111 1121) subsumes F (1112 1122) ? simply consulting the tables of identifiers shown in FIG. 4b does not make it possible to provide a quick answer. No.

L'utilisation correspondante consiste alors à consulter les tables de hachage représentées en figure 4a ou en figure 2c. The corresponding use then consists of consulting the hash tables represented in FIG. 4a or in FIG. 2c.

On vérifie alors l'unique clé du premier niveau, c'est-à-dire la valeur 1 laquelle apparaît dans la carte de hachage de l'identifiant de F. - 37 On vérifie alors l'unique clé du 2ème niveau, c'est-à-dire la valeur 1 laquelle apparaît dans la carte de l'identifiant de F. On regarde la première des deux clés du 3ème niveau 1 apparaît dans la carte de l'identifiant de F, alors que l'unique clé du dernier niveau 1 n'apparaît pas dans la carte de l'identifiant de F, en conséquence, le concept A ne subsume le concept F. De même à la question: Est-ce que E (112) subsume A (1111, 1121) ? la consultation de la structure de données lexicale spécifique représentée en figure 4b ne permet pas de répondre Non. We then check the unique key of the first level, i.e. the value 1 which appears in the hash card of the identifier of F. - 37 We then check the unique key of the 2nd level, c ' i.e. the value 1 which appears in the card of the identifier of F. We look at the first of the two keys of the 3rd level 1 appears in the card of the identifier of F, while the only key of the last level 1 does not appear in the identifier map of F, therefore, concept A does not subsume concept F. Similarly to the question: Does E (112) subsume A (1111, 1121)? the consultation of the specific lexical data structure represented in FIG. 4b does not make it possible to answer No.

On procède alors à la consultation de la structure de données représentée en figure 4a ou en figure 2c et on opère de la manière ci- après: on vérifie l'unique clé du 1 er niveau, la valeur 1 apparaît dans la table de hachage de l'identifiant A; - on vérifie l'unique clé du 2ème niveau, la valeur 1 apparaît dans la table de hachage de l'identifiant A; on vérifie l'unique clé du dernier niveau, la valeur 2, laquelle apparaît dans la table de hachage de l'identifiant A. En conséquence le concept E subsume le concept A, car un des chemins d'accès au premier concept E constitue un préfixe de l'une des suites de clé de la table de hachage obtenue par un des chemins d'accès au deuxième concept A. À titre comparatif, on indique que, auparavant, c'est-à-dire dans la manipulation d'ontologies de l'art antérieur, le test de subsomption était exécuté par une recherche d'un nom de concept, c'est-à-dire d'une chaîne de caractères dans une liste de concepts constituant un généralisant, cette liste de concepts de généralisants pouvant s'avérer très large. One then proceeds to the consultation of the data structure represented in figure 4a or in figure 2c and one operates as follows: one checks the single key of the 1st level, the value 1 appears in the hash table of the identifier A; - the unique key of the 2nd level is checked, the value 1 appears in the hash table of the identifier A; we check the unique key of the last level, the value 2, which appears in the hash table of the identifier A. Consequently the concept E subsumes the concept A, because one of the access paths to the first concept E constitutes a prefix of one of the key sequences of the hash table obtained by one of the access paths to the second concept A. By way of comparison, we indicate that, previously, that is to say in the manipulation of ontologies of the prior art, the subsumption test was executed by a search for a concept name, that is to say a character string in a list of concepts constituting a generalizer, this list of generalizer concepts which can be very large.

Grâce à la mise en oeuvre du procédé objet de la présente invention, à partir d'un procédé de codage par numérotation tel qu'indiqué précédemment, et de la structure de données générique hiérarchique représentée en figure 2c et 4a et de la structure de données lexicale spécifique représentée en figure 4b, l'opération correspondante se fait par un simple parcours d'un chemin appartenant au - 38 - généralisant potentiel qui a pour longueur maximale la profondeur de la hiérarchie de concepts. Thanks to the implementation of the method which is the subject of the present invention, from a coding method by numbering as indicated above, and from the hierarchical generic data structure represented in FIGS. 2c and 4a and from the data structure specific lexical represented in figure 4b, the corresponding operation is done by a simple traversal of a path belonging to the potential generalizing which has for maximum length the depth of the hierarchy of concepts.

On comprend, bien sûr, que les opérations précédentes peuvent être exécutées par parcours de la structure arborescente représentée notamment en figure 2c et, en conséquence, par la lecture des clés des tables de hachage représentées en figure 4a pour la branche correspondante par l'intermédiaire des pointeurs associés à ces dernières. It is understood, of course, that the preceding operations can be performed by traversing the tree structure shown in particular in FIG. 2c and, consequently, by reading the keys of the hash tables represented in FIG. 4a for the corresponding branch via pointers associated with them.

Calcul du plus petit commun généralisant d'un ensemble de concepts La structure de données générique hiérarchique représentée en figure 2c et 4a et la structure de données lexicale spécifique représentée en figure 4b, conformes à l'objet de l'invention, permettent de manière particulièrement avantageuse d'exécuter le calcul de l'ensemble des concepts plus petits communs généralisants d'un sous-ensemble de concepts dans des conditions particulièrement avantageuses. Calculation of the least common generalizing of a set of concepts The hierarchical generic data structure represented in FIGS. 2c and 4a and the specific lexical data structure represented in FIG. 4b, in accordance with the object of the invention, particularly allow advantageous to perform the computation of the set of smaller common generalizing concepts of a subset of concepts under particularly advantageous conditions.

Ainsi, pour effectuer un tel calcul, l'utilisation correspondante consiste au moins, à partir de la structure arborescente générique hiérarchique associée à chaque concept successif du sous ensemble de concepts, accessibles par l'intermédiaire de la structure de données lexicale spécifique, à calculer l'intersection des suites de clés des tables de hachage correspondant au chemin d'accès des couples de concepts successifs du sous-ensemble de concepts, pour conserver les chemins d'accès intersection résultant via la structure arborescente hiérarchique, puis, à retenir comme ensemble des plus petit communs généralisants, le ou les concepts obtenus à partir de la structure de données générique hiérarchique associée au treillis, comportant au moins un de ces chemins d'accès égal à au moins un des chemins d'accès intersection calculé. Thus, to perform such a calculation, the corresponding use consists at least, from the generic hierarchical tree structure associated with each successive concept of the subset of concepts, accessible via the specific lexical data structure, to be calculated. the intersection of the sequences of keys of the hash tables corresponding to the access path of the successive pairs of concepts of the subset of concepts, to keep the resulting intersection access paths via the hierarchical tree structure, then, to be retained as a set of the smallest generalizing commons, the concept or concepts obtained from the hierarchical generic data structure associated with the trellis, comprising at least one of these access paths equal to at least one of the calculated intersection access paths.

Le mode opératoire précité sera illustré à partir de deux exemples successifs correspondant aux questions: - 39 - Quel est le plus petit commun généralisant ppcg de A (1111 1121) et F (1112 1122) ? On discrimine alors la partie commune des deux tables de hachage contenant les identifiants correspondant, cette partie commune étant donnée par 111 et 112. The aforementioned operating mode will be illustrated from two successive examples corresponding to the questions: - 39 - What is the least common generalizing ppcg of A (1111 1121) and F (1112 1122)? The common part of the two hash tables containing the corresponding identifiers is then discriminated, this common part being given by 111 and 112.

L'ensemble plus petit commun généralisant ppcg de A et de F est donc formé par les concepts associés aux feuilles de la table de hachage correspondant et l'on obtient, en particulier, la dénomination des concepts B et E sur la structure de données lexicale spécifique représentée en figure 4b. The smallest common set generalizing ppcg of A and F is therefore formed by the concepts associated with the leaves of the corresponding hash table and we obtain, in particular, the denomination of the concepts B and E on the lexical data structure specific shown in Figure 4b.

Quel est le plus petit commun généralisant ppcg des concepts A et F précédemment cités et du concept H (21 113) ? Dans cette situation, dans laquelle vis-à-vis de la situation précédente on a ajouté le concept H, on procède à un mode opératoire semblable pour les intersections de tables de hachage prises deux à deux. What is the least common generalizing ppcg of the concepts A and F previously cited and of the concept H (21 113)? In this situation, in which the concept H has been added to the previous situation, a similar procedure is carried out for the intersections of hash tables taken two by two.

Ainsi, pour les concepts A et F on obtient comme précédemment, pour la discrimination de la partie commune des identifiants (111 112). Thus, for concepts A and F, we obtain, as previously, for the discrimination of the common part of the identifiers (111 112).

En effectuant à nouveau l'intersection des chemins résultants avec le chemin du noeud H, on écarte nécessairement le chemin 21 de ce dernier. En conséquence, l'intersection résultante est donnée par le chemin résultant 11. By again intersecting the resulting paths with the path of node H, path 21 is necessarily removed from the latter. Accordingly, the resulting intersection is given by the resulting path 11.

La consultation de la structure de données lexicale spécifique représentée en figure 4b permet alors de déterminer que le concept généralisant constitutif du ppcg de A, F et H est unique et constitué par le concept C. À titre d'exemple comparatif, on indique que, dans les techniques antérieures, un calcul de plus petit commun généralisant ppcg était effectué par l'intermédiaire d'un calcul de préfixe maximal chemin par chemin, les chemins étant stockés dans des tableaux. Ensuite il était nécessaire de supprimer les éventuels chemins redondants pour ne garder que les plus petits communs généralisants. Grâce à la mise en oeuvre du procédé et des structures de données obtenues Consulting the specific lexical data structure represented in FIG. 4b then makes it possible to determine that the generalizing concept constituting the ppcg of A, F and H is unique and constituted by the concept C. As a comparative example, it is indicated that, in the prior art, a least common computation generalizing ppcg was performed through a path-by-path maximum prefix computation, the paths being stored in arrays. Then it was necessary to remove any redundant paths to keep only the smallest generalizing commons. Thanks to the implementation of the method and the data structures obtained

par le procédé, objets de l'invention, tel que décrit dans la présente demande, le calcul 20 - 40 - du plus petit commun généralisant d'un ensemble de concepts est effectué par une simple intersection des tables de hachage, niveau par niveau, ainsi que décrit précédemment en liaison avec le figures 2c et 4a, 4b. by the method, objects of the invention, as described in the present application, the calculation 20 - 40 - of the least common generalizing of a set of concepts is carried out by a simple intersection of the hash tables, level by level, as described above in connection with FIGS. 2c and 4a, 4b.

Enfin, d'autres utilisations des structure de données hiérarchiques génériques et lexicales spécifiques, conformes à l'objet de la présente invention, peuvent bien entendu être envisagées. Finally, other uses of the hierarchical generic and specific lexical data structures, in accordance with the object of the present invention, can of course be envisaged.

En effet, les structures de données précitées permettent à un utilisateur potentiel d'une ontologie d'effectuer de nombreux calculs rapidement pour proposer en temps réel des explications sur le domaine de l'ontologie et, le cas échéant, lui suggérer des modifications de sa requête. Indeed, the aforementioned data structures allow a potential user of an ontology to perform numerous calculations quickly in order to offer explanations in real time on the field of the ontology and, if necessary, to suggest modifications to his. request.

Les structures de données hiérarchiques génériques et lexicales spécifiques conformes à l'objet de l'invention, permettent ainsi d'effectuer des traitements coopératifs à l'aide de formulations de requêtes. The generic and lexical hierarchical data structures in accordance with the subject of the invention thus make it possible to carry out cooperative processing using formulations of queries.

À titre d'exemple, une requête demandant un voyage en train de Dar Es Salam à la ville de Zanzibar apparaît légitime mais ne peut être satisfaite. For example, a request requesting a train journey from Dar Es Salaam to the city of Zanzibar appears legitimate but cannot be satisfied.

L'explication à présenter à l'utilisateur pourra être obtenue plus rapidement que lors de la manipulation d'ontologies de l'art antérieur, grâce à la mise en oeuvre des structures de données génériques hiérarchiques et lexicale spécifique décrites précédemment dans la description. The explanation to be presented to the user will be able to be obtained more quickly than during the manipulation of ontologies of the prior art, thanks to the implementation of the hierarchical generic data structures and specific lexical described previously in the description.

En effet, l'utilisateur pourra être informé que Dar Es Salam est en Tanzanie, c'est-à-dire sur le continent Africain et que Zanzibar est sur une île au large de l'Afrique et qu'il n'existe donc pas de voie ferrée entre l'île et le continent africain. Indeed, the user may be informed that Dar Es Salaam is in Tanzania, that is to say on the African continent and that Zanzibar is on an island off the coast of Africa and therefore does not exist. of railway line between the island and the African continent.

La requête de ce dernier peut alors être modifiée par un voyage en bateau de Dar Es Salam à la ville de Zanzibar où des voyages en train de Dar Es Salam et d'autres villes du continent. The latter's request can then be changed by a boat trip from Dar Es Salaam to Zanzibar City or train trips from Dar Es Salaam and other mainland cities.

Une description plus détaillée d'un dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 6a. A more detailed description of a device for coding a trellis representative of a hierarchy of elements, in accordance with the subject of the present invention, will now be given in conjunction with FIG. 6a.

D'une manière générale, on indique que le dispositif de codage d'un treillis objet de l'invention, tel que représenté à la figure précitée, permet le codage d'un -41 - treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associé un élément considéré et son identifiant. L'identifiant est formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la bonne borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs. In general, it is indicated that the device for coding a trellis object of the invention, as represented in the aforementioned figure, allows the coding of a -41 - trellis comprising at least a plurality of nodes, to each node of the trellis being associated with an element considered and its identifier. The identifier is formed by at least one series of objects, each series of objects defining an access path between the correct upper bound of the trellis and the element considered via the successive parent elements.

L'identifiant ID, inclut ainsi toutes les suites d'objets définissant chacune un chemin d'accès à l'un des éléments pères de l'élément considéré à la borne supérieure auquel est ajouté un objet représentatif de cet élément considéré, ainsi que décrit en liaison avec les figures 1 a et lb. Dans ce but, outre une unité centrale de traitement, notée CPU, une mémoire de travail, RAM, et un organe d'entrée, sortie FO, le dispositif de codage d'un treillis, objet de l'invention, comporte ainsi un module d'acquisition du treillis soumis au processus de codage, ainsi que décrit précédemment dans la description. The identifier ID thus includes all the sequences of objects each defining an access path to one of the parent elements of the element considered at the upper bound to which is added an object representative of this element considered, as described. in conjunction with Figures 1a and lb. For this purpose, in addition to a central processing unit, denoted CPU, a working memory, RAM, and an input device, FO output, the coding device of a trellis, object of the invention, thus comprises a module acquisition of the trellis subjected to the coding process, as described previously in the description.

Le module d'acquisition du treillis peut être constitué par un module Mo, lequel, par l'intermédiaire de l'unité centrale de traitement et de l'organe d'entrée sortie 1/0, permet d'accéder au treillis considéré fourni par un fournisseur d'ontologie par exemple, le treillis correspondant, tel que représenté par exemple en figure l a ou 2a, étant alors mémorisé en mémoire vive RAM du dispositif ou, le cas échéant, dans une mémoire de stockage spécifique non représentée au dessin. The acquisition module of the trellis can be constituted by a module Mo, which, through the intermediary of the central processing unit and of the input / output member 1/0, allows access to the considered trellis supplied by an ontology provider for example, the corresponding trellis, such as represented for example in FIG. 1a or 2a, then being stored in the random access memory RAM of the device or, where appropriate, in a specific storage memory not represented in the drawing.

Le dispositif objet de l'invention comporte en outre un module MI de calcul d'une structure de données générique hiérarchique par association au treillis acquis d'une structure arborescente n-aire récursive, telle que décrite précédemment dans la description, en liaison avec la figure 2c ou avec la figure 4a. Cette structure est telle qu'à chaque noeud de la structure arborescente est associé un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément. The device which is the subject of the invention further comprises a module MI for calculating a hierarchical generic data structure by association with the acquired trellis of a recursive n-ary tree structure, as described previously in the description, in conjunction with the FIG. 2c or with FIG. 4a. This structure is such that each node of the tree structure is associated with an element and a hash table to which is assigned a key formed by the object representative of this element.

On rappelle, en outre, que cette structure de données arborescente est établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure. Elle permet d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un - 42 - élément et cet élément. Enfin, le dispositif de codage objet de l'invention, comporte un module PM de mémorisation de la structure de données générique hiérarchique précitée. It is also recalled that this tree-based data structure is established in the form of a recursive hash table comprising as many entries as there are successive child nodes under the upper limit. It makes it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and this element. Finally, the coding device which is the subject of the invention comprises a module PM for storing the aforementioned hierarchical generic data structure.

Dans un mode de mise en oeuvre non limitatif préférentiel, le module de mémorisation PM de la structure de données générique hiérarchique est une mémoire programmable non volatile par exemple permettant, non seulement d'effectuer le codage proprement dit et la mémorisation de la structure de données générique hiérarchique précitée mais, également, la mise à jour et/ou la modification de cette dernière. In a preferred non-limiting mode of implementation, the storage module PM of the hierarchical generic data structure is a non-volatile programmable memory for example making it possible not only to perform the actual coding and the storage of the data structure. aforementioned hierarchical generic but also the updating and / or modification of the latter.

En outre, ainsi qu'on l'a également représenté en figure 6a, le dispositif de codage objet de l'invention, permet de coder tout treillis dans lequel les éléments sont issus d'une hiérarchie de concepts appartenant à une ontologie. In addition, as has also been shown in FIG. 6a, the coding device which is the subject of the invention makes it possible to code any trellis in which the elements come from a hierarchy of concepts belonging to an ontology.

Dans cette hypothèse, la hiérarchie de concepts comporte des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis. Les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers ainsi que décrit précédemment dans la description. In this hypothesis, the hierarchy of concepts comprises primitive concepts and at least one defined concept verifying an order relation between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice. The series of objects forming the identifier of a primitive or defined concept are series of integers as described previously in the description.

Dans ce but, le dispositif objet de l'invention comporte en outre un module M2 de calcul d'une structure de données lexicale spécifique formée par association des concepts primitifs ou définis au treillis via une table de hachage dont la clé est la dénomination du concept primitif ou défini dans la structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre le concept et le concept universel, cette table de hachage étant représentée en figure 4b précédemment dans la description. For this purpose, the device which is the subject of the invention further comprises a module M2 for calculating a specific lexical data structure formed by association of the primitive concepts or defined in the trellis via a hash table whose key is the name of the concept. primitive or defined in the hierarchical generic data structure and in which only the access paths between the concept and the universal concept appear, this hash table being represented in FIG. 4b previously in the description.

On comprend, bien entendu, que les modules de calcul M1 et M2 précités permettent ainsi la mise en oeuvre du procédé de codage tel qu'illustré précédemment dans la description en liaison avec les figures lb et 3, et sont avantageusement constitués par des modules de programme d'ordinateurs appelés en mémoire de travail RAM et exécutés par l'unité centrale CPU du dispositif de codage représenté en figure 6a. It is understood, of course, that the aforementioned calculation modules M1 and M2 thus allow the implementation of the coding method as illustrated previously in the description in conjunction with FIGS. 1b and 3, and are advantageously constituted by modules of computer program called up in RAM working memory and executed by the central processing unit CPU of the coding device shown in FIG. 6a.

- 43 - Une description plus détaillée d'un dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments codés sous forme d'au moins une structure de données de représentation codée de ce treillis, formée par une structure de données générique hiérarchique telle que décrite en liaison avec la figures 4a et/ou par une structure de données lexicale spécifique telle que représentée en figure 4b sera maintenant donnée en liaison avec la figure 6b. - 43 - A more detailed description of a device for consulting and interpreting a trellis representative of a hierarchy of coded elements in the form of at least one data structure of coded representation of this trellis, formed by a hierarchical generic data structure as described in connection with FIGS. 4a and / or by a specific lexical data structure as represented in FIG. 4b will now be given in connection with FIG. 6b.

Le dispositif de consultation et d'interprétation précité comporte d[e manière classique, une unité centrale de traitement CPU, une mémoire de travail RAM et une unité d'entrée sortie I/O. The aforementioned consultation and interpretation device conventionally comprises a central processing unit CPU, a RAM working memory and an input output I / O unit.

Le dispositif représenté en figure 6b comporte en outre un module Mo d'acquisition d'une structure de données telle que représentée en figure 4a et un module M3 d'interrogation de la structure de données précitée de représentation codée du treillis permettant d'obtenir directement un concept à partir de la structure de données générique hiérarchique associée au treillis, à partir d'un des chemins d'accès de son identifiant. The device shown in FIG. 6b further comprises a module Mo for acquiring a data structure such as represented in FIG. 4a and a module M3 for interrogating the aforementioned data structure of coded representation of the trellis making it possible to obtain directly a concept from the hierarchical generic data structure associated with the trellis, from one of the access paths of its identifier.

On comprend, en particulier, que le module d'acquisition Mo peut être constitué par un module logiciel permettant d'acquérir auprès du fournisseur d'ontologie, une structure de données générique hiérarchique telle que représentée en figure 4a, cette structure de données ayant été calculée grâce à la mise en oeuvre du dispositif de codage représenté en figure 6a. It is understood, in particular, that the acquisition module Mo can be constituted by a software module making it possible to acquire from the ontology supplier a hierarchical generic data structure such as represented in FIG. 4a, this data structure having been calculated thanks to the implementation of the coding device represented in FIG. 6a.

Le dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments conforme à l'objet de la présente invention inclut en outre un module d'acquisition d'une structure de données lexicale spécifique telle que décrite en liaison avec la figure 4b. Ce module peut être constitué par le module Mo précédemment mentionné. Le module d'acquisition précité peut être constitué par un module de programme exécuté par l'unité centrale CPU du dispositif représenté en figure 6b. The device for consulting and interpreting a trellis representative of a hierarchy of elements in accordance with the object of the present invention further includes a module for acquiring a specific lexical data structure as described in connection with figure 4b. This module can be formed by the previously mentioned Mo module. The aforementioned acquisition module can be constituted by a program module executed by the central unit CPU of the device shown in FIG. 6b.

Le dispositif objet de l'invention représenté sur la figure précitée comporte en outre un module d'interrogation de la structure de données lexicale spécifique mémorisée par exemple en mémoire de travail RAM ou dans une mémoire de - 44 - stockage, non représentée au dessin, permettant d'introduire la dénomination d'un concept pour obtenir directement à partir de cette structure de données lexicale spécifique le concept correspondant, ainsi que décrit précédemment dans la description. The device that is the subject of the invention shown in the aforementioned figure further comprises a module for interrogating the specific lexical data structure stored for example in RAM working memory or in a storage memory, not shown in the drawing, making it possible to introduce the name of a concept to obtain directly from this specific lexical data structure the corresponding concept, as described previously in the description.

Le module d'interrogation porte la référence M4 sur la figure 6b. The interrogation module bears the reference M4 in FIG. 6b.

On comprend, en particulier, que le module M3 précité permettant l'interrogation de la structure de données de représentation codée du treillis permettant d'obtenir directement le concept à partir de la structure de données générique hiérarchique, respectivement le module M4 permettant d'introduire la dénomination d'un concept pour obtenir directement à partir de la structure de données lexicale spécifique le concept correspondant, peuvent être constitués par des modules de programme d'ordinateur exécutés par l'unité centra CPU précitée, après appel de ces derniers dans la mémoire de travail RAM. It is understood, in particular, that the aforementioned module M3 allowing the interrogation of the data structure of coded representation of the trellis making it possible to obtain the concept directly from the hierarchical generic data structure, respectively the module M4 making it possible to introduce the denomination of a concept to obtain directly from the specific lexical data structure the corresponding concept, can be constituted by computer program modules executed by the aforementioned central CPU unit, after calling them in the memory RAM working.

Enfin, le dispositif de consultation et d'interprétation, objet de l'invention, tel que représenté en figure 6b comporte en outre un module M5 d'interrogation croisée de la structure de données, à partir de la structure de données générique hiérarchique respectivement la structure de données lexicale spécifique. Ce module d'interrogation croisée peut avantageusement être formé par un module de programme permettant d'utiliser soit la structure de données générique hiérarchique représentée en figure 4a, soit la structure de données lexicale spécifique représentée en figure 4b, ce module de programme pouvant avantageusement être soit indépendant, soit directement intégré dans un module raisonneur partie intégrante du dispositif de consultation et d'interprétation d'un treillis conforme à l'objet de la présente invention. Finally, the consultation and interpretation device, object of the invention, as represented in FIG. 6b further comprises a module M5 for cross-interrogating the data structure, from the hierarchical generic data structure respectively the specific lexical data structure. This cross interrogation module can advantageously be formed by a program module making it possible to use either the hierarchical generic data structure represented in FIG. 4a, or the specific lexical data structure represented in FIG. 4b, this program module advantageously being able to be used. either independent or directly integrated into a reasoning module which is an integral part of the device for consulting and interpreting a trellis in accordance with the subject of the present invention.

En particulier, le module raisonneur M5 peut comporter au moins un sousmodule sous forme de programme informatique d'exécution de test d'absence de subsomption tel que décrit précédemment dans la description, un sous-module de test de subsomption ainsi que décrit précédemment, et un sous-module de calcul d'un ensemble de concepts plus petits communs généralisants d'un sous-ensemble de concepts tel que décrit précédemment dans la description en liaison avec]les figures 4a et 4b. En outre, on indique que le dispositif objet de l'invention, dispositif de - 45 codage de la figure 6a, et le dispositif de consultation et d'interprétation d'une ontologie, tel que représentée en figure 6b, peuvent être intégrés en un dispositif unique pour former un dispositif de gestion d'ontologies par exemple. In particular, the reasoner module M5 may comprise at least one submodule in the form of a computer program for executing a test for the absence of subsumption as described previously in the description, a subsumption test submodule as described above, and a sub-module for calculating a set of common smaller concepts generalizing a subset of concepts as described previously in the description in conjunction with] FIGS. 4a and 4b. In addition, it is indicated that the device which is the subject of the invention, the coding device of FIG. 6a, and the device for consulting and interpreting an ontology, as represented in FIG. 6b, can be integrated into one. single device to form an ontology management device for example.

On comprend, en particulier, que le dispositif objet de l'invention tel que représenté en figure 6a ou 6b ou le dispositif de gestion d'ontologies comportant les fonctionnalités des deux dispositifs précédents sont mis en oeuvre à partir de programme d'ordinateurs ainsi que mentionné précédemment. It is understood, in particular, that the device which is the subject of the invention as represented in FIG. 6a or 6b or the device for managing ontologies comprising the functionalities of the two preceding devices are implemented from computer programs as well as previously mentioned.

En particulier, l'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, remarquable en ce que lors de l'exécution, ce produit de programme exécute le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, tel que décrit précédemment dans la description en liaison avec les figures lb et 2b, 2c ou 3. Lors de cette exécution, le produit de programme correspondant permet d'établir une structure de données de représentation de ce treillis tel que représenté aux figures 2c et 4a respectivement à la figure 4b. In particular, the invention also covers a computer program product recorded on a storage medium, for execution by the central processing unit of a computer or a dedicated device, remarkable in that during the execution, this program product executes the method of encoding a trellis representative of a hierarchy of elements, as described previously in the description in conjunction with FIGS. 1b and 2b, 2c or 3. During this execution, the corresponding program product makes it possible to establish a data structure representing this trellis as represented in FIGS. 2c and 4a respectively in FIG. 4b.

Enfin, l'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, remarquable en ce que lors de l'exécution ce produit de programme exécute les fonctions de consultation, respectivement d'exécution, d'interprétation, d'interrogation et de test d'un dispositif tel que décrit en liaison avec la figure 6b. Finally, the invention also covers a computer program product recorded on a storage medium, for execution by the central processing unit of a computer or a dedicated device, remarkable in that during execution this program product executes the functions of consultation, respectively execution, interpretation, interrogation and test of a device as described in connection with FIG. 6b.

En particulier, le procédé, les structures de données générique hiérarchique et lexicale spécifique obtenues par la mise en oeuvre du procédé et le dispositif de consultation d'ontologie trouvent pleinement application à leur installation sur des terminaux informatiques, ordinateurs ou terminaux téléphoniques mobiles directement connectés à l'INTERNET, en raison de l'utilisation aisée de ces derniers par tout utilisateur non averti en matière de maniement de description d'ontologies, au moyen des langages classiques tels que OWL. In particular, the method, the generic hierarchical and specific lexical data structures obtained by implementing the method and the ontology consultation device are fully applicable to their installation on computer terminals, computers or mobile telephone terminals directly connected to the device. the INTERNET, because of the ease of use of the latter by any user not familiar with handling the description of ontologies, by means of classical languages such as OWL.

- 46 -- 46 -

Claims (20)

REVENDICATIONS 1. Procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associé un élément considéré et son identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un desdits éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est ajouté un objet représentatif dudit élément considéré, caractérisé en ce que ledit procédé consiste au moins à : établir une structure de données générique hiérarchique par association audit treillis d'une structure arborescente n-aire récursive, à chaque noeud de ladite structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif dudit élément, ladite structure de données arborescente étant établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément. 1. Method for coding a trellis representative of a hierarchy of elements, said trellis comprising at least a plurality of nodes, with each node of the trellis being associated an element considered and its identifier, the identifier being formed by at least a series of objects, each series of objects defining an access path between the upper bound of the trellis and the element considered via the successive parent elements, the identifier including all the series of objects each defining a access path of one of said parent elements of said element considered to said upper bound, to which is added an object representative of said element considered, characterized in that said method consists at least in: establishing a hierarchical generic data structure by association with said lattice of a recursive n-ary tree structure, with each node of said tree structure being associated an element and a hash table to which is assigned a key formed by the object representative of said element, said tree data structure being established in the form of a recursive hash table comprising as many entries as there are successive child nodes under said upper limit and making it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and said element. 2. Procédé de codage selon la revendication 1, caractérisé en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. 2. Coding method according to claim 1, characterized in that said elements coming from a hierarchy of concepts belonging to an ontology, said hierarchy of concepts comprising primitive concepts and at least one defined concept verifying an order relation between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, said series of objects forming the identifier of a primitive or defined concept are series of integers. 3. Procédé de codage selon la revendication 2, caractérisé en ce que ledit procédé consiste en outre à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis audit treillis, via une table de hachage dont la clé est la dénomination dudit concept dans ladite structure de données générique hiérarchique où seuls figurent les chemins d'accès entre ledit concept et le concept universel. 3. Coding method according to claim 2, characterized in that said method further consists in establishing a specific lexical data structure by association of the concepts primitive or defined with said trellis, via a hash table whose key is the name of said concept. in said hierarchical generic data structure where only the access paths between said concept and the universal concept appear. 4. Procédé selon la revendication 1, caractérisé en ce que celui- ci consiste en outre à : former les branches de ladite structure arborescente par les variables d'entrée de chaque table de hachage, chacune desdites branches étant définie par la clé de la table de hachage associée à son noeud père et de la table de hachage permettant d'associer chacune desdites branches avec ses noeuds fils; répertorier lesdits noeuds de ladite structure de données arborescente et lesdits concepts primitifs ou définis associés à ces derniers en niveaux de même profondeur vis-à-vis du noeud racine. 4. Method according to claim 1, characterized in that the latter further consists in: forming the branches of said tree structure by the input variables of each hash table, each of said branches being defined by the key of the table. of hashing associated with its parent node and of the hash table making it possible to associate each of said branches with its child nodes; listing said nodes of said tree data structure and said primitive or defined concepts associated with the latter in levels of the same depth with respect to the root node. 5. Procédé selon l'une des revendications 2, 3 et 4, caractérisé en ce que les variables d'entrée formant la clé de chaque table de hachage sont constituées par des entiers engendrés par ordre croissant au pas de 1, chaque identifiant comportant au moins un chemin d'accès à un noeud de ladite structure arborescente et au concept primitif et/ou défini correspondant, formé par une suite de nombres entiers. 5. Method according to one of claims 2, 3 and 4, characterized in that the input variables forming the key of each hash table consist of integers generated in ascending order in steps of 1, each identifier comprising at least at least one access path to a node of said tree structure and to the corresponding primitive and / or defined concept, formed by a series of integers. 6. Procédé de codage selon la revendication 3, caractérisé en ce que ledit procédé consiste au moins à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis d'une part, audit treillis, d'autre part, à un tableau de tableaux de nombres entiers qui représentent les chemins d'accès entre ledit concept et le concept universel. 6. Coding method according to claim 3, characterized in that said method consists at least in establishing a specific lexical data structure by association of the primitive or defined concepts on the one hand, said trellis, on the other hand, with a table. tables of integers which represent the paths between said concept and the universal concept. 7. Structure de données de représentation codée d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et un identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un desdits éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est - 48 - ajouté un objet représentatif dudit élément considéré, caractérisée en ce que ladite structure de données comprend au moins: une structure de données générique hiérarchique associée audit treillis sous forme d'une structure arborescente n-aire récursive, à chaque noeud de ladite structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif dudit élément, ladite structure de données arborescente étant constituée par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément. 7. Data structure of coded representation of a trellis representative of a hierarchy of elements, said trellis comprising at least a plurality of nodes, with each node of the trellis being associated an element considered and an identifier, the identifier being formed. by at least one series of objects, each series of objects defining an access path between the upper bound of the trellis and the element considered via the successive parent elements, the identifier including all the series of objects each defining an access path from one of said parent elements of said element under consideration to said upper bound, to which is added an object representative of said element under consideration, characterized in that said data structure comprises at least: a structure of generic hierarchical data associated with said trellis in the form of a recursive n-ary tree structure, with each node of said tree structure being associated an element and a hash table to which is assigned a key formed by the object representative of said element, said tree data structure being constituted by a recursive hash table comprising as many entries as there are successive child nodes under said upper limit and allowing to establish a direct correspondence between an access path defined in the identifier associated with an element and said element. 8. Structure de données selon la revendication 7, caractérisée en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, ladite structure de données spécifique lexicale formée par association des concepts primitifs ou définis audit treillis via une table de hachage dont la clé est la dénomination dudit concept dans ladite structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre ledit concept et le concept universel. 8. Data structure according to claim 7, characterized in that said elements being derived from a hierarchy of concepts belonging to an ontology, said hierarchy of concepts comprising primitive concepts and at least one defined concept verifying an order relation between a universal concept, upper bound of the trellis, and an empty concept, lower bound of the trellis, said series of objects forming the identifier of a primitive or defined concept are series of integers, said specific lexical data structure formed by association of the concepts primitive or defined with said trellis via a hash table whose key is the denomination of said concept in said hierarchical generic data structure and in which only the access paths between said concept and the universal concept appear. 9. Utilisation d'une structure de données selon la revendication 8, caractérisée en ce que celle-ci consiste au moins à : obtenir directement le concept par ladite structure de données générique hiérarchique associée audit treillis à partir d'un des chemins d'accès de son identifiant; et/ou introduire la dénomination d'un concept pour obtenir directement, à partir de ladite structure de données lexicale spécifique, le concept correspondant; et/ou 2880715 - 49 - - obtenir la dénomination d'un concept et/ou son identifiant à partir du concept; - obtenir un des chemins d'accès au concept à partir de son identifiant. 9. Use of a data structure according to claim 8, characterized in that it consists at least in: directly obtaining the concept by said generic hierarchical data structure associated with said trellis from one of the access paths its identifier; and / or introduce the name of a concept to obtain directly, from said specific lexical data structure, the corresponding concept; and / or 2880715 - 49 - - obtain the name of a concept and / or its identifier from the concept; - obtain one of the access paths to the concept from its identifier. 10. Utilisation selon la revendication 9, caractérisée en ce que, pour exécuter un test d'absence de subsomption vérifiant qu'un premier concept (A) ne subsume pas un deuxième concept (B), ladite utilisation consiste à vérifier, à partir de ladite structure de données lexicale spécifique, que le nombre de chemins d'accès de l'identifiant du premier concept (A), égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au premier concept (A), est supérieur au nombre de chemins d'accès de l'identifiant du deuxième concept (B) , égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au deuxième concept (B). 10. Use according to claim 9, characterized in that, to perform a test for the absence of subsumption verifying that a first concept (A) does not subsume a second concept (B), said use consists in verifying, from said specific lexical data structure, that the number of access paths of the identifier of the first concept (A), equal to the number of integer arrays present in the integer array array associated with the first concept (A) , is greater than the number of access paths of the identifier of the second concept (B), equal to the number of integer arrays present in the integer array array associated with the second concept (B). 11. Utilisation selon l'une des revendications 9 ou 10, caractéri sée en ce que, pour exécuter un test de subsomption vérifiant qu'un premier concept (A) subsume un deuxième concept (B), ladite utilisation consiste à vérifier à partir de ladite structure de données générique hiérarchique arborescente qu'une suite des clés de la table de hachage obtenue par un des chemins d'accès au premier concept (A) constitue un préfixe de l'une des suites de clés de la table de hachage obtenue par un des chemins d'accès au deuxième concept (B). 11. Use according to one of claims 9 or 10, characterized in that, to perform a subsumption test verifying that a first concept (A) subsumes a second concept (B), said use consists in verifying from said tree hierarchical generic data structure that a series of keys of the hash table obtained by one of the access paths to the first concept (A) constitutes a prefix of one of the series of keys of the hash table obtained by one of the access paths to the second concept (B). 12. Utilisation selon la revendication 9, caractérisée en ce que, pour exécuter le calcul de l'ensemble des concepts plus petits communs généralisants d'un sous ensemble de concepts, celle-ci consiste au moins, à partir de ladite structure arborescente hiérarchique associée à chaque concept successif dudit sous ensemble de concepts, accessible via la structure de données lexicale spécifique, à : calculer l'intersection des suites de clés des tables de hachage correspondant aux chemins d'accès des couples de concepts successifs dudit sous ensemble de concepts pour conserver les chemins d'accès intersection résultants via une structure arborescente hiérarchique; - 50 - retenir comme ensemble des plus petits communs généralisants le ou les concepts, obtenu à partir de la structure de données hiérarchique associée audit treillis, comportant au moins un de ses chemins d'accès égal à au moins un desdits chemins d'accès intersection calculés. 12. Use according to claim 9, characterized in that, in order to perform the calculation of the set of smaller common generalizing concepts of a subset of concepts, it consists at least, from said associated hierarchical tree structure to each successive concept of said subset of concepts, accessible via the specific lexical data structure, to: calculate the intersection of the series of keys of the hash tables corresponding to the paths of the successive pairs of concepts of said subset of concepts for preserve the resulting intersection paths via a hierarchical tree structure; - 50 - retain as a set of the smallest commons generalizing the concept or concepts, obtained from the hierarchical data structure associated with said trellis, comprising at least one of its access paths equal to at least one of said intersection access paths calculated. 13. Dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et son identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, caractérisé en ce que, outre une unité centrale de traitement des organes d'entrée/sortie et une mémoire de travail, ledit dispositif inclut au moins: des moyens d'acquisition dudit treillis; - des moyens de calcul d'une structure de données générique hiérarchique par association à ce treillis d'une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément, ladite structure de données arborescente étant établie sous forme dune table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément; et - des moyens de mémorisation de ladite structure de données générique hiérarchique. 13. Device for coding a trellis representative of a hierarchy of elements, said trellis comprising at least a plurality of nodes, with each node of the trellis being associated a considered element and its identifier, the identifier being formed by at least a series of objects, each series of objects defining an access path between the upper bound of the trellis and the element considered via the successive parent elements, the identifier including all the series of objects each defining a access path from one of the parent elements of said element considered to said upper limit, to which is added an object representative of this element considered, characterized in that, in addition to a central processing unit for input / output devices and a working memory, said device includes at least: means for acquiring said trellis; means for calculating a hierarchical generic data structure by association with this trellis of a recursive n-ary tree structure, with each node of the tree structure being associated an element and a hash table to which a key is assigned formed by the object representative of this element, said tree data structure being established in the form of a recursive hash table comprising as many entries as there are successive child nodes under said upper bound and making it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and said element; and - means for storing said hierarchical generic data structure. 14. Dispositif selon la revendication 13, caractérisé en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, ledit dispositif comporte en outre: des moyens de calcul d'une structure de données lexicale spécifique formée par association des concepts primitifs ou définis audit treillis via une table de hachage dont la clé est la dénomination dudit concept primitif ou défini dans ladite structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre ledit concept et le concept universel. 14. Device according to claim 13, characterized in that said elements coming from a hierarchy of concepts belonging to an ontology, said hierarchy of concepts comprising primitive concepts and at least one defined concept verifying an order relation between a concept. universal, upper bound of the trellis, and an empty concept, lower bound of the trellis, said series of objects forming the identifier of a primitive or defined concept are series of integers, said device further comprises: calculation means a specific lexical data structure formed by association of the primitive concepts or defined with said trellis via a hash table whose key is the name of said primitive concept or defined in said hierarchical generic data structure and in which only the paths of access between said concept and the universal concept. 15. Dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments, caractérisé en ce que ledit dispositif inclut au moins: une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément, ladite structure de données arborescente étant établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément; et des moyens d'acquisition d'une structure de données de représentation codée de ce treillis selon la revendication 7; - des moyens d'interrogation de ladite structure de données de représentation codée de ce treillis permettant d'obtenir directement le concept à partir de ladite structure de données générique hiérarchique associé audit treillis à partir d'un desdits chemins d'accès de son identifiant. 15. Device for consulting and interpreting a trellis representative of a hierarchy of elements, characterized in that said device includes at least: a recursive n-ary tree structure, with each node of the tree structure being associated with a element and a hash table to which is assigned a key formed by the object representative of this element, said tree data structure being established in the form of a recursive hash table comprising as many entries as there are child nodes successive under said upper limit and making it possible to establish a direct correspondence between an access path defined in the identifier associated with an element and said element; and means for acquiring a data structure of coded representation of this trellis according to claim 7; means for interrogating said data structure of coded representation of this trellis making it possible to obtain the concept directly from said generic hierarchical data structure associated with said trellis from one of said access paths of its identifier. 16. Dispositif selon la revendication 15, caractérisé en ce que celui-ci inclut en outre: des moyens d'acquisition d'une structure de données lexicale spécifique, selon la revendication 8; des moyens d'interrogation de ladite structure de données lexicale spécifique permettant d'introduire la dénomination d'un concept pour obtenir directement, à partir de cette structure de données lexicale spécifique le concept correspondant. 16. Device according to claim 15, characterized in that the latter further includes: means for acquiring a specific lexical data structure, according to claim 8; means for interrogating said specific lexical data structure making it possible to introduce the denomination of a concept in order to obtain directly, from this specific lexical data structure, the corresponding concept. - 52 - - 52 - 17. Dispositif selon la revendication 16, caractérisé en ce qu'il comporte en outre des moyens d'interrogation croisée de ladite structure de données à partir de ladite structure de données générique hiérarchique respectivement de ladite structure de données lexicale spécifique, permettant d'obtenir la dénomination d'un concept et/ou son identifiant à partir du concept respectivement l'un des chemins d'accès au concept à partir de son identifiant.17. Device according to claim 16, characterized in that it further comprises means for cross-interrogating said data structure from said hierarchical generic data structure respectively from said specific lexical data structure, making it possible to obtain the name of a concept and / or its identifier from the concept, respectively one of the access paths to the concept from its identifier. 18. Dispositif selon l'une des revendications 16 à 17, caractérisé en ce qu'il comporte en outre un module raisonneur, ledit module raisonneur comportant au moins: un sous-module d'exécution de test d'absence de subsomption selon la revendication 10; un sous-module d'exécution de test de subsomption selon la revendication 11; un sous- module de calcul d'un ensemble de concepts plus petits communs généralisants d'un sous-ensemble de concepts selon la revendication 12. 18. Device according to one of claims 16 to 17, characterized in that it further comprises a reasoner module, said reasoner module comprising at least: a sub-module for executing the absence of subsumption test according to claim 10; a subsumption test execution submodule according to claim 11; a sub-module for calculating a set of common smaller concepts generalizing a subset of concepts according to claim 12. 19. Produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, caractérisé en ce que lors de l'exécution, par ladite unité centrale, ledit produit de programme exécute le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, selon l'une des revendications 1 à 6, et établit une structure de données de représentation de ce treillis selon l'une des revendications 7 ou 8. 19. Computer program product recorded on a storage medium, for execution by the central processing unit of a computer or a dedicated device, characterized in that during execution, by said central unit, said program product executes the method of encoding a trellis representative of a hierarchy of elements, according to one of claims 1 to 6, and establishes a data structure representing this trellis according to one of claims 7 or 8. 20. Produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, caractérisé en ce que lors de l'exécution par ladite unité centrale, ledit produit de programme exécute les fonctions de consultation, d'interprétation, d'interrogation respectivement d'exécution d'un des tests d'un dispositif selon les revendications 15 à 18. 20. Computer program product recorded on a storage medium, for execution by the central processing unit of a computer or of a dedicated device, characterized in that during execution by said central unit, said program product executes the functions of consultation, interpretation, interrogation respectively execution of one of the tests of a device according to claims 15 to 18.
FR0507762A 2005-07-21 2005-07-21 Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice Pending FR2880715A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0507762A FR2880715A1 (en) 2005-07-21 2005-07-21 Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice
PCT/FR2006/001506 WO2007010100A2 (en) 2005-07-21 2006-06-28 Method and system for encoding a lattice representing a hierarchy of elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0507762A FR2880715A1 (en) 2005-07-21 2005-07-21 Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice

Publications (1)

Publication Number Publication Date
FR2880715A1 true FR2880715A1 (en) 2006-07-14

Family

ID=36215619

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0507762A Pending FR2880715A1 (en) 2005-07-21 2005-07-21 Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice

Country Status (2)

Country Link
FR (1) FR2880715A1 (en)
WO (1) WO2007010100A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262012B2 (en) * 2015-08-26 2019-04-16 Oracle International Corporation Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects
US10866963B2 (en) * 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ALAIN BIDAULT: "Affinement de Requêtes Posées à un Mödiateur", THÈSE POUR OBTENIR LE GRADE DE DOCTEUR ÈS SCIENCES DE L'UNIVERSITÉ PARIS XI ORSAY SPÉCIALITÉ INFORMATIQUE - DIAPOS, no. 6932, 8 July 2002 (2002-07-08), XP002379525, Retrieved from the Internet <URL:http://www.lri.fr/~bidault/21.htm> [retrieved on 20060503] *
ANONYME: "General Architecture", PICSEL, 15 October 2004 (2004-10-15), pages 1 - 2, XP002379527, Retrieved from the Internet <URL:http://www.lri.fr/~picsel/> [retrieved on 20060503] *
ANONYME: "Linked Lists, trees, hash Tables (Data Structures)", 31 December 2001 (2001-12-31), XP002379526, Retrieved from the Internet <URL:http://vergil.chemistry.gatech.edu/resources/programming/c-tutorial/lists.html> [retrieved on 20060503] *
BIJAN PARSIA AND EVREN SIRIN: "Pellet: An OWL DL Reasoner", ISWC 2004, 11 November 2004 (2004-11-11), XP002379528, Retrieved from the Internet <URL:http://iswc2004.semanticweb.org/posters/PID-ZWSCSLQK-1090286232.pdf> [retrieved on 20060503] *

Also Published As

Publication number Publication date
WO2007010100A3 (en) 2007-10-18
WO2007010100A2 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
US10496749B2 (en) Unified semantics-focused language processing and zero base knowledge building system
EP1364316A2 (en) Device for retrieving data from a knowledge-based text
Miller et al. Simulation and the semantic web
EP1828941A2 (en) Device for processing formally defined data
EP1635273A1 (en) electronic generation of a lexical tree
FR2880715A1 (en) Element e.g. primitive concept, hierarchy representing lattice coding method for ontology consultation, involves establishing data structure as recursive hash table with entries equivalent to tree structure nodes in upper limit of lattice
FR2902913A1 (en) Semantic and spatial similarity note calculating and encoding method for tourism field, involves calculating and encoding semantic and spatial note by relatively comparing with respective common semantic characteristics
EP3248111A1 (en) Lemmatisation method, and corresponding device and program
FR2901037A1 (en) Reference structural pattern generating method for computer, involves determining reference structural pattern per group of determined primary structural patterns, where reference pattern represents patterns of group
Lafont Signatures and models for syntax and operational semantics in the presence of variable binding
Galitsky et al. Building chatbot thesaurus
Sutii et al. Ontologies in domain specific languages: a systematic literature review
Adolphs et al. Question Answering Biographic Information and Social Network Powered by the Semantic Web.
FR2925721A1 (en) Expressions i.e. XML path language expressions, compiling method for e.g. microcomputer, involves constructing representation such that complied representation of relative expression has link to complied representation of context expression
FR2880714A1 (en) Concepts hierarchy coding method for implementing knowledge bases offering direct/online access services, involves adding integer representing primitive concept to identifier with all sets of integers
Thiéblin Automatic generation of complex ontology alignments
Baget et al. RDF to conceptual graphs translations
Avdeenko et al. Combination of case-based reasoning and data mining through integration with the domain ontology
van Bakel et al. Condorcet annual report
FR2889330A1 (en) Partially saturated ontology encoding and synthetically representing method for Internet, involves encoding concept lattices by assigning identifier to considered concepts and lattice node, and storing lattices encoded as data structure
Catapano et al. Recommendations for the Use of knowledge organisation systems by GBIF
Masmoudi et al. Diserto: Semantics-based tool for automatic and virtual data integration
WO2016124851A1 (en) Method for automatically producing a database from a generic data model and a taxonomy
FR2939538A1 (en) Data sets correspondence searching method for e.g. Google search engine, involves performing iterative comparison of primary set of data with subset of secondary set of data, where comparison step considers similarity graph
OU et al. D4. 4: Linking and Discovering Digital Assets (v1. 0)