Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE AND METHOD FOR PROCESSING A DIGITAL MODEL OF A SYSTEM
Document Type and Number:
WIPO Patent Application WO/2022/248784
Kind Code:
A1
Abstract:
The invention relates to a method for processing a digital model of a system comprising entities, the digital model comprising a structural graph and an over-graph, the structural graph representing the entities of the system by interconnected nodes, the over-graph corresponding to an abstraction of the structural graph and comprising nodes representing sets; at least one of the nodes of the structural graph being associated with at least one of the nodes of the over-graph; the method comprising the following steps, carried out by an electronic device: - determining (410) a node of the over-graph that is capable of creating an overload as the digital model is run through; and, in response to this determination, - generating (420) an indexing node representing a sub-set of the set represented by the node capable of creating an overload, the sub-set inheriting properties from the set, the sub-set comprising at least one additional characteristic; - associating (430) the indexing node and the node capable of creating an overload; - identifying (440) nodes of the structural graph which are directly associated with the node capable of creating an overload and which share the at least one additional characteristic; and - associating (450) the identified nodes with the indexing node.

Inventors:
PRIVAT GILLES (FR)
PARVERDI RAIPIN PHILIPPE (FR)
HASSAN THOMAS (FR)
COUPAYE THIERRY (FR)
BOLLE SÉBASTIEN (FR)
Application Number:
PCT/FR2022/050631
Publication Date:
December 01, 2022
Filing Date:
April 05, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ORANGE SA (FR)
International Classes:
G06Q10/06
Foreign References:
US20200090085A12020-03-19
Other References:
RENZO ANGLES ET AL: "An introduction to Graph Data Management", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 29 December 2017 (2017-12-29), XP081444766, DOI: 10.1007/978-3-319-96193-4_1
PRIVAT GILLES ET AL: "WoT Graph as Multiscale Digital-Twin for Cyber-Physical Systems-of-Systems", 11 June 2019 (2019-06-11), pages 1 - 6, XP055878336, Retrieved from the Internet [retrieved on 20220112]
MICHAL BACHMAN: "GraphAware: Towards Online Analytical Processing in Graph Databases", 30 September 2013 (2013-09-30), pages 1 - 135, XP055671837, Retrieved from the Internet [retrieved on 20200226]
PRIVAT GILLES: "ETSI White Paper No. 42 Guidelines for Modelling with NGSI-LD Main Author/Editor", 1 March 2021 (2021-03-01), pages 1 - 55, XP055878298, Retrieved from the Internet [retrieved on 20220112]
WANG DAWEI ET AL: "Graph Compression Storage Based on Spatial Cluster Entity Optimization", IEEE ACCESS, IEEE, USA, vol. 8, 4 February 2020 (2020-02-04), pages 29075 - 29088, XP011773218, DOI: 10.1109/ACCESS.2020.2971639
Download PDF:
Claims:
Revendications

[Revendication 1] Procédé de traitement d’un modèle numérique d’un système comprenant des entités, le modèle numérique comprenant un graphe structurel (310) et un sur-graphe (320, 330), le graphe structurel représentant les entités du système par des nœuds liés entre eux ; le sur-graphe correspondant à une abstraction du graphe structurel et comprenant des nœuds représentant des ensembles ; au moins un des nœuds du graphe structurel étant associé à au moins un des nœuds du sur-graphe ; le procédé comprenant les étapes suivantes mises en œuvre par un dispositif électronique:

- détermination (410) d’au moins un nœud du sur-graphe susceptible de créer une surcharge lors du parcours du modèle numérique; et, en réponse à cette détermination,

- génération (420) d’un nœud d’indexation représentant un sous-ensemble de l’ensemble représenté par le nœud susceptible de créer une surcharge, le sous-ensemble héritant de propriétés de l’ensemble, le sous-ensemble comprenant au moins une caractéristique supplémentaire ; association (430) du nœud d’indexation et du nœud susceptible de créer une surcharge ; identification (440) des nœuds du graphe structurel directement associés au nœud susceptible de créer une surcharge et qui partagent la au moins une caractéristique supplémentaire ; et association (450) des nœuds identifiés au nœud d’indexation.

[Revendication 2] Procédé de traitement selon la revendication 1, dans lequel l’étape de détermination comprend une étape de détermination du degré entrant et/ou sortant dudit nœud, et une étape de comparaison du degré déterminé avec une valeur prédéterminée.

[Revendication 3] Procédé de traitement selon la revendication 1 ou 2, dans lequel l’étape de détermination comprend une étape d’analyse de requêtes préalablement reçues par ledit nœud.

[Revendication 4] Procédé de traitement selon l’une quelconque des revendications 1 à 3, comprenant en outre une étape de détermination que plusieurs des entités représentées par des nœuds du graphe structurel associés au nœud du sur-graphe susceptible de créer une surcharge ont une même localisation ; dans lequel le nœud d’indexation généré a comme caractéristique supplémentaire ladite localisation.

[Revendication 5] Procédé de traitement selon l’une quelconque des revendications 1 à 4, le sur-graphe comprenant :

- un graphe sémantique comprenant des nœuds, chaque nœud représentant un ensemble du sur-graphe appelé catégorie sémantique, ces nœuds étant liés entre eux par des arcs représentant une relation de subsomption ou une relation sémantique ; au moins un des nœuds du graphe structurel étant lié à au moins un des nœuds du graphe sémantique par un arc caractérisant que le au moins un des nœuds du graphe structurel représente une instance de la catégorie sémantique représentée par le au moins un nœud du graphe sémantique ; et,

- un graphe hyper-structurel comprenant des hyper-nœuds, chaque hyper- nœud représentant un ensemble du sur-graphe appelé ensemble extensionnel ; un hyper-nœud étant associé à une pluralité de nœuds du graphe structurel ; et, un hyper-nœud étant lié à au moins un autre hyper-nœud ou à au moins un nœud du graphe sémantique. dans lequel le nœud d’indexation appartient au graphe sémantique et/ou au graphe hyper-structurel.

[Revendication 6] Procédé de traitement selon la revendication 5, le nœud susceptible de créer une surcharge appartenant au graphe sémantique, respectivement au graphe hyper-structurel, le procédé comprenant en outre une étape de détermination que plusieurs des nœuds du graphe structurel associés au nœud susceptible de créer une surcharge sont également associés à un autre nœud du graphe hyper-structurel, respectivement du graphe sémantique, le nœud susceptible de créer une surcharge représentant un premier ensemble, l’autre nœud représentant un second ensemble, dans lequel le nœud d’indexation généré représente un sous-ensemble des premier et second ensembles.

[Revendication 7] Procédé de traitement selon l’une quelconque des revendications 1 à 6, dans lequel le graphe structurel et au moins une portion du sur-graphe sont stockés au sein d’une architecture matérielle distribuée conforme à l’informatique en périphérie.

[Revendication 8] Modèle numérique d’un système obtenu par le procédé de traitement selon l’une quelconque des revendications 1 à 7.

[Revendication 9] Procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système selon la revendication 8, le procédé comprenant les étapes suivantes mises en œuvre par un dispositif électronique :

- parcours (520) du modèle numérique en vérifiant si une portion du modèle numérique correspond au graphe motif; et si c’est le cas,

- obtention (530) d’une information permettant d’identifier la portion du modèle numérique.

[Revendication 10] Dispositif électronique de traitement d’un modèle numérique d’un système comprenant des entités, le modèle numérique comprenant un graphe structurel et un sur-graphe, le graphe structurel représentant les entités du système par des nœuds liés entre eux ; le sur graphe correspondant à une abstraction du graphe structurel et comprenant des nœuds représentant des ensembles ; au moins un des nœuds du graphe structurel étant associé à au moins un des nœuds du sur-graphe; le dispositif électronique comprenant :

- un module de détermination d’au moins un nœud du sur-graphe susceptible de créer une surcharge lors du parcours du modèle numérique ;

- un module de génération d’un nœud d’indexation représentant un sous- ensemble de l’ensemble représenté par le nœud susceptible de créer une surcharge, le sous-ensemble héritant de propriétés de l’ensemble, le sous- ensemble comprenant au moins une caractéristique supplémentaire ;

- un module d’association du nœud d’indexation et du nœud susceptible de créer une surcharge ;

- un module d’identification des nœuds du graphe structurel directement associés au nœud susceptible de créer une surcharge et qui partagent la au moins une caractéristique supplémentaire ; et,

- un module d’association des nœuds identifiés au nœud d’indexation. [Revendication 11] Dispositif électronique de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système selon la revendication 8, le dispositif électronique comprenant:

- un module de parcours du modèle numérique en vérifiant si une portion du modèle numérique correspond au graphe motif ; et,

- un module d’obtention d’une information permettant d’identifier la portion du modèle numérique.

[Revendication 12] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 7, lorsque ce programme est exécuté par un processeur.

[Revendication 13] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon la revendication 9, lorsque ce programme est exécuté par un processeur.

[Revendication 14] Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes d’un procédé selon l’une quelconque des revendications 1 à 7.

[Revendication 15] Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes d’un procédé selon la revendication 9.

Description:
Description

Titre de l'invention : Dispositif et procédé de traitement d'un modèle numérique d'un système

Domaine Technique

L’invention se rapporte au domaine général du traitement de modèles numériques de systèmes, et concerne plus particulièrement un procédé de traitement d’un modèle numérique d’un système. L’invention concerne également un procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système.

Technique antérieure

Un jumeau numérique (ou « digital twin » en terminologie anglo-saxonne) est un modèle numérique d’un objet ou d’un système qui est alimenté par un flux de données généralement obtenues à l’aide de capteurs numériques. Ce flux de donnés en provenance du monde réel permet au jumeau numérique de maintenir une représentation à jour de l’état du système qu’il représente et, éventuellement, de prédire son état futur. Les jumeaux numériques s’avèrent être particulièrement utiles pour représenter des systèmes complexes. C’est par exemple le cas des villes intelligentes dont un jumeau numérique peut permettre de suivre et prédire le trafic des véhicules, voire de prendre des décisions visant à réguler le trafic.

Le document de brevet US 2020/0090085 divulgue un système de gestion de jumeaux numériques modélisant des objets physiques. Le système est représenté par un graphe de jumeaux numériques, et chaque objet physique du monde réel correspond à un sous-graphe. Le système, qui reflète une réalité physique, est dynamique, et des nœuds et/ou arêtes du graphe peuvent donc apparaître ou disparaître au cours du temps. La représentation du système peut être améliorée en y intégrant des ontologies. Ces ontologies sont intégrées au graphe de jumeaux numériques sous la forme d’un ensemble de nœuds et d’arêtes.

Des requêtes sont réalisées qui interrogent ce modèle orienté graphe, et le modèle est alors parcouru afin de trouver des informations par l’intermédiaire des relations décrites dans le modèle, et de simuler ou de prédire certaines situations. Cependant, lorsqu’un nœud du graphe comprend un nombre significatif d’arcs incidents, cela ralentit considérablement la traversée du graphe de jumeaux numériques, et engendre donc un délai de traitement des requêtes, voire une explosion combinatoire, puisque le temps de calcul augmente de manière exponentielle, ce qui rend impossible en pratique l’obtention d’un résultat. L'invention vise notamment à pallier ces inconvénients.

Exposé de l’invention

Selon un premier aspect, l’invention concerne un procédé de traitement d’un modèle numérique d’un système comprenant des entités, le modèle numérique comprenant un graphe structurel et un sur-graphe, le graphe structurel représentant les entités du système par des nœuds liés entre eux ; le sur-graphe correspondant à une abstraction du graphe structurel et comprenant des nœuds représentant des ensembles ; au moins un des nœuds du graphe structurel étant associé à au moins un des nœuds du sur-graphe ; le procédé comprenant les étapes suivantes mises en œuvre par un dispositif électronique :

- détermination d’un nœud du sur-graphe susceptible de créer une surcharge lors du parcours du modèle numérique ; et, en réponse à cette détermination,

- génération d’un nœud d’indexation représentant un sous-ensemble de l’ensemble représenté par le nœud susceptible de créer une surcharge, le sous- ensemble héritant de propriétés de l’ensemble, le sous-ensemble comprenant au moins une caractéristique supplémentaire ; association du nœud d’indexation et du nœud susceptible de créer une surcharge ; identification des nœuds du graphe structurel directement associés au nœud susceptible de créer une surcharge et qui partagent la au moins une caractéristique supplémentaire ; et association des nœuds identifiés au nœud d’indexation.

Ainsi, l’invention permet de prévenir un ralentissement voire une explosion combinatoire, en identifiant de manière automatique un nœud du sur-graphe susceptible de créer une surcharge, et en générant un nouveau nœud permettant de réduire la probabilité qu’une telle surcharge survienne. Dans un mode de réalisation particulier, ledit système est un système complexe. Au sens de l’invention, on entend par « système complexe » un ensemble constitué d’une pluralité d’entités dont les interactions locales font émerger des propriétés globales difficilement prédictibles par la seule connaissance des propriétés de ces entités. Une ville intelligente ( « smart city » selon la terminologie anglo-saxonne) est un exemple de système complexe qui utilise différents capteurs numériques qui fournissent des informations permettant de gérer efficacement les ressources de la ville. Cela comprend par exemple des données collectées auprès d’individus, de véhicules, de bâtiments, d’objets connectés à un réseau (et parfois nommés « objets de l’Internet des Objets »), et qui permettent ainsi de gérer efficacement les systèmes de circulation et de transport, les réseaux d'approvisionnement en eau et/ou en énergie, les systèmes d'information, les bâtiments administratifs, etc.

Ainsi, dans un mode de réalisation particulier, le système comprend notamment des entités telles que des capteurs numériques, des objets ou capteurs connectés de l’Internet des Objets, et/ou des dispositifs électroniques tels que des « smartphones ».Dans un mode de réalisation particulier, l’étape de détermination comprend une étape de détermination du degré entrant et/ou sortant du nœud, et une étape de comparaison du degré déterminé avec une valeur prédéterminée.

Dans un mode de réalisation particulier, l’étape de détermination comprend une étape d’analyse de requêtes préalablement reçues par le nœud du sur-graphe susceptible de créer une surcharge.

Dans un mode de réalisation particulier, le procédé comprend une étape de détermination que plusieurs des entités représentées par des nœuds du graphe structurel associés au nœud du sur-graphe susceptible de créer une surcharge ont une même localisation ; et le nœud d’indexation généré a comme caractéristique supplémentaire la localisation.

Dans un mode de réalisation particulier, le sur-graphe comprend :

- un graphe sémantique comprenant des nœuds, chaque nœud représentant un ensemble du sur-graphe appelé catégorie sémantique, ces nœuds étant liés entre eux par des arcs représentant une relation de subsomption ou une relation sémantique ; au moins un des nœuds du graphe structurel étant lié à au moins un des nœuds du graphe sémantique par un arc caractérisant que le au moins un des nœuds du graphe structurel représente une instance de la catégorie sémantique représentée par le au moins un nœud du graphe sémantique; et,

- un graphe hyper-structurel comprenant des hyper-nœuds, chaque hyper-nœud représentant un ensemble du sur-graphe appelé ensemble extensionnel ; un hyper-nœud étant associé à une pluralité de nœuds du graphe structurel ; et, un hyper-nœud étant lié à au moins un autre hyper-nœud ou à au moins un nœud du graphe sémantique, et le nœud d’indexation appartient au graphe sémantique et/ou au graphe hyper- structurel.

Cette organisation multi-niveaux améliore la sémantique associée à chacune des entités représentées par un nœud du graphe structurel, mais également les traitements et/ou les requêtes pouvant être réalisés sur ce modèle numérique.

Dans un mode de réalisation particulier, le nœud susceptible de créer une surcharge appartient au graphe sémantique (respectivement au graphe hyper- structurel), et le procédé comprend une étape de détermination que plusieurs des nœuds du graphe structurel associés au nœud susceptible de créer une surcharge sont également associés à un autre nœud du graphe hyper-structurel (respectivement du graphe sémantique), le nœud susceptible de créer une surcharge représentant un premier ensemble, l’autre nœud représentant un second ensemble, et le nœud d’indexation généré représente un sous-ensemble des premier et second ensembles.

Dans un mode de réalisation particulier, le graphe structurel et au moins une portion du sur-graphe sont stockés au sein d’une architecture matérielle distribuée conforme à l’informatique en périphérie.

Dans un mode particulier de réalisation, les différentes étapes du procédé de traitement d’un modèle numérique d’un système sont déterminées par des instructions de programmes d’ordinateurs.

En conséquence, l’invention vise aussi un programme d’ordinateur sur un support d’informations, ce programme étant susceptible d’être mis en œuvre dans un dispositif électronique de traitement d’un modèle numérique d’un système ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé de traitement d’un modèle numérique d’un système tel que décrit ci-dessus.

Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.

L'invention vise également un modèle numérique d’un système obtenu par le procédé de traitement mentionné ci-dessus.

Selon un second aspect, l’invention concerne un procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système, le procédé comprenant les étapes suivantes mises en œuvre par un dispositif électronique :

- parcours du modèle numérique en vérifiant si une portion du modèle numérique correspond au graphe motif ; et si c’est le cas,

- obtention d’une information permettant d’identifier la portion du modèle numérique.

Dans un mode particulier de réalisation, les différentes étapes du procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système sont déterminées par des instructions de programmes d’ordinateurs.

En conséquence, l’invention vise aussi un programme d’ordinateur sur un support d’informations, ce programme étant susceptible d’être mis en œuvre dans un dispositif électronique de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système, ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système tel que décrit ci-dessus. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.

L’invention vise aussi un support d'informations ou d’enregistrement lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tels que mentionnés ci-dessus.

Le support d'informations ou d’enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM (e.g., une PROM, EPROM, EEPROM), par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.

D'autre part, le support d'informations ou d’enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.

Alternativement, le support d'informations ou d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution d’un des procédés en question.

Brève description des dessins

D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :

[Fig. 1A-1 B] La [Fig. 1A-1 B] représente, de façon schématique, deux exemples d’architecture d’un système dans lequel l’invention peut être mise en œuvre ;

[Fig. 2] La figure 2 représente, de manière schématique, un dispositif électronique selon un exemple de mode de réalisation de l’invention ; [Fig. 3] La figure 3 illustre un exemple d’une portion de modèle numérique 300 d’un système (ici un bâtiment) pouvant être traité lors d’une mise en œuvre du procédé de la figure 4 ou du procédé de la figure 5 ;

[Fig. 4] La figure 4 représente, sous forme d’organigramme, les principales étapes d’un procédé de traitement d’un modèle numérique d’un modèle numérique d’un système, selon un exemple de mode de réalisation de l’invention ;

[Fig. 5] La figure 5 représente, sous forme d’organigramme, les principales étapes d’un procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système, selon un exemple de mode de réalisation de l’invention ; et,

[Fig. 6A-6B] La [Fig. 6A-6B] illustre, de façon schématique, un exemple de requête orientée graphe appliqué sur le modèle numérique de la figure 3 (Fig. 6A), et le résultat de cette requête (Fig. 6B).

Description des modes de réalisation

La [Fig. 1 A-1 B] représente, de façon schématique, deux exemples d’architecture d’un système dans lequel l’invention est mise en œuvre. Le système 100 comprend un serveur 110 qui héberge une base de données orientée graphes 111. Cette base de données suit par exemple le modèle dit des « graphes à propriétés » (« property graphs » selon la terminologie anglo-saxonne), dans lequel un nœud correspond à une « entité » (e.g., une entité d’un graphe structurel ou un ensemble d’un sur-graphe dont les rôles seront décrits ci-après en référence à la figure 3), un arc correspond à une relation, et une « propriété » correspond à une caractéristique spécifique d’une entité, d’un ensemble ou d’une relation. Ce modèle permet d’exploiter les données dont un exemple de représentation est illustré en figure 3 au travers de requêtes dites orientées graphes. Le modèle d’information NGSI-LD est un exemple de spécification formelle du modèle des « graphes à propriétés » récemment publié par l’ETSI.

La figure 1 A illustre une architecture entièrement centralisée, et un serveur dédié est alors utilisé pour héberger la base de données 111. Des entités 120 (e.g., des capteurs numériques) sont connectées au serveur 110 au travers d’un réseau de télécommunications 130, par exemple un réseau Internet, un réseau Wifi, un réseau Bluetooth, ou un réseau de téléphonie fixe ou mobile. De manière optionnelle, un client 140 est connecté au serveur 110 au travers d’un réseau de télécommunication 145, par exemple un réseau Internet, un réseau Wifi, un réseau Bluetooth, ou un réseau de téléphonie fixe ou mobile. Les réseaux de télécommunication 130 et 145 peuvent être distincts ou ne constituer qu’un seul et même réseau.

La figure 1B illustre une architecture répondant aux principes de l’informatique en périphérie (« edge cloud » selon la terminologie anglo-saxonne). Les données sont réparties sur le serveur 110, et sur plusieurs serveurs dits répartis 115, chacun hébergeant une base de données 1151. Des entités 120 (e.g., des capteurs numériques) sont connectées aux serveurs répartis 115 au travers d’un réseau de télécommunications 130. Les serveurs répartis 115 sont connectés à un serveur 110 au travers d’un réseau de télécommunication 135. De manière optionnelle, un client 140 est connecté au serveur 110 au travers d’un réseau de télécommunication 145. Les réseaux de télécommunication 130, 135 et 145 peuvent être distincts ou ne constituer qu’un seul et même réseau.

La figure 2 représente, de manière schématique, un exemple de dispositif électronique selon un mode de réalisation de l’invention. Ce dispositif électronique correspond par exemple au serveur 110 ou à l’un des serveurs répartis 115.

Le dispositif électronique comporte notamment un processeur 200, une mémoire morte 202 (de type « ROM »), une mémoire non volatile réinscriptible 204 (de type « EEPROM » ou « Flash NAND » par exemple), une mémoire volatile réinscriptible 206 (de type « RAM »), et une interface de communication 208.

La mémoire non volatile réinscriptible 204 du dispositif électronique constitue un support d’enregistrement conforme à un exemple de mode de réalisation de l’invention, lisible par le processeur 200 et sur lequel est enregistré un programme d’ordinateur P1 conforme à un exemple de mode de réalisation de l’invention. En variante, le programme d’ordinateur P1 est stocké dans la mémoire morte 202.

Le programme d’ordinateur P1 peut permettre au dispositif électronique de mettre en œuvre un procédé de traitement pour optimiser le parcours d’un modèle numérique d’un système.

Ce programme d’ordinateur P1 peut ainsi définir des modules fonctionnels et logiciels, configurés pour mettre en œuvre les étapes d’un procédé de traitement conforme à un exemple de mode de réalisation de l’invention, ou au moins une partie de ces étapes. Ces modules fonctionnels s’appuient sur ou commandent les éléments matériels 200, 202, 204, 206 et 208 du dispositif électronique cités précédemment. Ils peuvent comprendre notamment ici un module de détermination, un module de génération, un module d’association, et un module d’identification.

La mémoire non volatile réinscriptible 204 du dispositif électronique peut également comprendre un second programme d’ordinateur P2 conforme à un exemple de mode de réalisation de l’invention. En variante, le second programme d’ordinateur P2 est stocké dans la mémoire morte 202. Le programme d’ordinateur P2 peut permettre au dispositif électronique de mettre en œuvre un procédé de recherche d’une information représentée par un graphe motif dans un modèle numérique d’un système.

Ce second programme d’ordinateur P2 peut définir des modules fonctionnels et logiciels, configurés pour mettre en œuvre les étapes d’un procédé de recherche conforme à un exemple de mode de réalisation de l’invention, ou au moins une partie de ces étapes. Ils peuvent comprendre notamment ici un module de parcours et un module d’obtention.

La mémoire non volatile réinscriptible 204 peut stocker un modèle numérique 300 comprenant un graphe structurel 310 ainsi qu’un sur-graphe, dont les rôles seront décrits ci-après en référence à la figure 3.

En outre, le client 140 peut aussi présenter l'architecture conventionnelle d'un ordinateur, et peut comporter notamment un processeur, une mémoire morte (de type « ROM »), une mémoire non volatile réinscriptible (de type « EEPROM » ou « Flash NAND » par exemple), une mémoire volatile réinscriptible (de type « RAM »), et une interface de communication.

Chaque mémoire non volatile réinscriptible peut constituer un support d’enregistrement conforme à un exemple de mode de réalisation de l’invention, lisible par le processeur associé et sur lequel est enregistré un programme d’ordinateur conforme à un exemple de mode de réalisation de l’invention. En variante, le programme d’ordinateur est stocké dans la mémoire morte associée. Le programme d’ordinateur peut permettre la mise en œuvre d’au moins une partie du procédé de traitement et/ou du procédé de recherche conforme à un exemple de mode de réalisation de l’invention.

La figure 3 illustre un exemple d’une portion de modèle numérique 300 d’un système (ici un bâtiment) pouvant être traité lors d’une mise en œuvre du procédé de la figure 4 ou du procédé de la figure 5. Le modèle permet également de représenter un système complet, comme par exemple une ville, et qui comprend des capteurs numériques, des objets ou capteurs connectés de l’Internet des Objets, des dispositifs électroniques tels que des « smartphones », des objets physiques (non connectés) et/ou des sous-systèmes hétérogènes qui composent le système représenté.

Les sous-systèmes sont hétérogènes dans le sens où chaque sous-système est capable de manipuler des données qui sont potentiellement de nature différente de celles d’un autre sous-sytème du modèle.

Le modèle numérique selon l’invention comprend un graphe structurel 310. Lorsque le système à représenter est complexe, plusieurs graphes structurels (i.e., qui ne sont pas directement liés entre eux) peuvent être nécessaires pour le décrire. Un graphe structurel comprend des nœuds représentant les entités (i.e., des instances identifiables de manière unique) du système, et des arcs (c’est-à-dire des arêtes orientées) liant les nœuds, chaque arc reliant deux nœuds différents. Une entité peut être un objet physique, un dispositif électronique (e.g., un capteur, une caméra de vidéo-surveillance, un terminal mobile), mais elle peut également correspondre à un lieu (e.g., une place de parking, une pièce d’un bâtiment, le bâtiment lui-même, un quartier, une ville). Un arc entre deux nœuds décrit une relation entre deux entités et peut par exemple représenter une relation d’inclusion (e.g., isContainedin 317) afin de spécifier qu’une entité est physiquement ou logiquement contenue dans une autre entité, une relation afin de spécifier qu’une entité correspond à une partie d’une autre entité (e.g., hasPart 312), une relation de commande ou de supervision (e.g., monitors 318 ou actuates 319) (par exemple, une caméra de vidéo-surveillance surveille un bâtiment, une serrure électronique actionne l’ouverture d’une porte), ou une relation d’adjacence (e.g., isAdjacentTo 316).

Une ou plusieurs propriétés peuvent être associées à une entité ou à une relation (un arc) du graphe structurel.

La figure 3 illustre à titre d’exemple qu’une pièce B1/R1 311 correspond à une partie 312 d’un bâtiment B1 314. Le bâtiment B1 314 pourrait être caractérisé par une propriété « adresse » (non représentée) qui aurait par exemple pour valeur « Rennes ».

Selon un mode de réalisation particulier, lorsque le système est dynamique et comprend des entités qui apparaissent, disparaissent, ou qui ont des propriétés qui évoluent au cours du temps, le graphe structurel est automatiquement mis-à-jour de sorte à pouvoir refléter au mieux l’état du système qu’il représente.

De cette manière, les informations capturées par les entités du système (e.g., les images d’une caméra de vidéo-surveillance ou les données d’autres capteurs) sont analysées, et lorsqu’une nouvelle entité est par exemple identifiée, un nouveau nœud représentant cette nouvelle entité est ajouté au graphe structurel.

Selon l’invention, un modèle tel que le modèle 300 comprend également un sur graphe qui correspond à une abstraction du graphe structurel. Le sur-graphe correspond soit à un graphe sémantique 320, soit à un graphe hyper-structurel 330, soit à la combinaison des deux. Le sur-graphe comprend des nœuds, chacun représentant un ensemble correspondant soit à une catégorie sémantique du graphe sémantique 320, soit à un ensemble dit extensionnel du graphe hyper-structurel 330. Le graphe sémantique 320 est composé de nœuds représentant des catégories sémantiques. Ces catégories sémantiques sont issues d’ontologies. En informatique et en science de l'information, une ontologie est un ensemble structuré de catégories sémantiques et de relations entre ces catégories, dans un domaine particulier. Par relation, on entend des relations de subsomption ou d’autres relations sémantiques entre les catégories, par exemple pour spécifier qu’elles sont disjointes. Une ontologie permet à différents acteurs d’un même domaine de collaborer ensemble par l'intermédiaire d'une représentation commune des informations d’un domaine. Généralement, une ontologie comprend des capacités de raisonnement de sorte à pouvoir inférer de nouvelles connaissances.

De préférence, un graphe sémantique tel que le graphe 300 comprend des catégories sémantiques définies par plusieurs ontologies. L’ontologie définissant une catégorie sémantique du graphe sémantique est identifiée par un espace de nommage préfixé à la dénomination de la catégorie sémantique. Ainsi, la catégorie « Objet physique » 321 (PhysicalObject selon la terminologie anglo-saxonne) est définie par l’ontologie DUL, une version particulière de l’ontologie de haut niveau DOLCE (pour «Descriptive Ontology for Linguistic and Cognitive Engineering ») qui définit des concepts communs à tous les domaines. Aussi, la catégorie « Objet physique » 321 est identifiée DUL :PhysicalObject en figure 3. De manière similaire, la catégorie « Dispositif » 322 (Device selon la terminologie anglo-saxonne) est définie par l’ontologie OneM2M qui est spécifique au domaine de l’Internet des Objets et de la communication de machine à machine. Aussi la catégorie « Dispositif » 322 est identifiée OneM2M:Device en figure 3.

Enfin, la catégorie « Capteur » (Sensor selon la terminologie anglo-saxonne) est définie par l’ontologie SOSA (pour « Sensor, Observation, Sample, and Actuator Ontology »), définie par le W3C, et qui vise à décrire le domaine des capteurs et de leurs observations. Aussi la catégorie « Capteur » 323 est identifiée SOSA:Sensor en figure 3.

Ces catégories sémantiques sont par exemple reliées entre elles par la relation de subsomption « est une sous-classe de » 324 (e.g., RDFS :SubciassOf). Cette relation est transitive. Ainsi, la catégorie sémantique Capteur 323 est une sous-classe de Dispositif 322 et d’Objet Physique 312, et la catégorie Dispositif 322 est elle-même une sous-classe d’Objet Physique 312.

Selon un mode de réalisation particulier, une ou plusieurs propriétés (ou contraintes) sont associées à une catégorie sémantique. De préférence, les arcs du graphe sémantique sont définis dans le cadre du méta-modèle RDF/RDFS/OWL (e.g., rdf:type, rdfs:subClassOf, rdfs:domain, rdfs:range).

Les nœuds du graphe structurel peuvent être associés à ceux du graphe sémantique, par exemple au travers d’une relation rdf:type 325 caractérisant qu’une entité correspond à une instance de d’une catégorie sémantique. Cette association offre l’avantage de fournir une représentation et une sémantique commune aux entités du système. Ainsi, la caméra de vidéo-surveillance C1 315 est par exemple associé à la catégorie SOSA:Sensor 323 au travers d’une relation rdf:type 325 caractérisant que l’entité « caméra de vidéo-surveillance C1 » 315 correspond à une instance de la catégorie sémantique SOSA:Sensor 323.

Un graphe hyper-structurel tel que le graphe 330 est composé d’hyper-nœuds, chacun représentant un ensemble extensionnel ayant une fonction qui résulte de l’interaction de plusieurs entités du graphe structurel entre-elles. Deux hyper-nœuds peuvent être liés entre eux par un arc caractérisant la relation « est un sous graphe de » 334 (e.g., NGSI-LD : isSubGraphOf ). Un hyper-nœud peut également être associé à une catégorie sémantique du graphe sémantique, e.g., par un arc caractérisant la relation rdf:type 325. Enfin, un nœud du graphe structurel peut être lié à un hyper-nœud par un arc caractérisant la relation « est un nœud du graphe » 332 (e.g., NGSI-LD : isNodeOfGraph).

Une ou plusieurs propriétés peuvent être associées à un hyper-nœud, et une ou plusieurs propriétés peuvent également être associées à une relation du graphe hyper-structurel.

Un hyper-nœud correspond à l’association de plusieurs nœuds du graphe structurel. Ce niveau de représentation permet par exemple de caractériser en tant que tels des systèmes connectés physiquement mais répartis à grande échelle (e.g., l’infrastructure physique d’un réseau de télécommunications ou un réseau de distribution d’énergie) ; des systèmes dont les connections sont indirectement physiques ou purement informationnelles (e.g., un systèmes de collecte de déchets, une chaîne d’approvisionnement, une plateforme de partage de vélos) ; des « systèmes de systèmes » dont les systèmes composants n’ont en général pas été conçus pour fonctionner ensemble, et qui sont fonctionnellement indépendants (e.g., une ville, l’Internet).

Ainsi, dans l’exemple de la figure 3, l’ensemble de nœuds (représenté de manière schématique par la boîte 335) « caméra de video-surveillance C1 »

(surveillanceCameraCl), « serrure électronique LB1 » (electronicLockLBl) et « serrure électronique LR1 » (electronicLockLRi) forment un hyper-nœud « Security System Graph» 331 représentant un système de sécurité. Cet hyper- nœud 331 est associé à un autre hyper-nœud 333 représentant le bâtiment B1

« Building B1 Graph» par une relation (e.g., NGSI-LD : isNodeOfGraph ou NGSI-LD : isNodeOfGraph).

Les hyper-nœuds 333 et 331 constituent des instances de la catégorie sémantique « NGSI-LD:graph » représentée par le nœud 326, et sont donc liés au nœud 326 par des arcs représentant la relation rdf:type 325.

Dans le cas d’une architecture centralisée telle que celle représentée en figure 1A, le graphe structurel et le sur-graphe sont stockés sur le serveur 110. Dans le cas d’une architecture répondant aux principes de l’informatique en périphérie (figure 1B), le graphe sémantique est enregistré sur le serveur 110, le graphe structurel est enregistré sur les serveurs répartis 115, et le graphe hyper-structurel est enregistré sur le serveur 110 ou sur les serveurs répartis 115. De manière encore plus préférentielle, les sous-graphes structurels qui représentent un objet ou une partie d’un système sont enregistrés par un serveur réparti 115 localisé à proximité de l’objet ou de la partie du système représenté. Ceci présente l’avantage de permettre un délai de traitement réduit au minimum, en permettant une analyse au plus près des sources de données.

La figure 4 représente un procédé de traitement d’un modèle numérique d’un système comprenant des entités, selon un exemple de mode de réalisation de l’invention. Le procédé permet typiquement d’optimiser le parcours dans un modèle numérique, et plus particulièrement d’optimiser la répartition de la charge d’un nœud du modèle en évitant une explosion combinatoire qui rendrait impossible l’obtention d’un résultat de recherche.

Le procédé est mis en œuvre par un dispositif électronique, par exemple le serveur 110 du système 100. Ce procédé peut être déclenché à intervalles de temps réguliers, sur réception d’une requête du client 140 par le serveur 110, ou en réponse à un évènement particulier, par exemple un temps de réponse supérieur à un délai prédéterminé.

Le procédé comprend une première étape 410 visant à déterminer qu’un nœud d’un sur-graphe d’un modèle numérique, tel que celui de la figure 3 est susceptible de créer une surcharge lors du parcours du modèle numérique.

Comme décrit ci-après, une information recherchée (ou requête) peut être formalisée par un graphe appelé « graphe motif », et le graphe représentant le modèle numérique est alors parcouru, par exemple de proche en proche à partir d’un nœud initial. Si le nombre de possibilités à vérifier pour identifier la ou les portions du modèle numérique qui sont associées à un nœud donné et qui correspondent à l’information recherchée est trop important, ceci risque d’engendrer une surcharge ou une explosion combinatoire pour le nœud donné, et donc d’avoir un effet négatif sur les temps de traitement et de réponse.

L’étape 410 est par exemple mise en œuvre en analysant le sur-graphe, notamment en déterminant le degré entrant ou sortant d’au moins un de ses nœuds, et en le comparant à une valeur prédéterminée. Le degré entrant est défini comme le nombre d’arcs qui pointent vers un nœud. Le degré sortant est défini comme le nombre d’arcs qui sortent d’un nœud. Si le degré entrant ou sortant est supérieur à une valeur prédéterminée, cela signifie que ce nœud est susceptible de créer une surcharge lors du parcours du modèle numérique. Cette valeur peut être prédéterminée en calculant la moyenne des degrés entrants ou sortants des nœuds du sur-graphe qui sont les voisins immédiats du nœud considéré.

En variante, l’étape 410 peut être mise en œuvre en analysant les requêtes préalablement exécutées.

En parcourant le graphe représentant le modèle numérique, il est possible de déterminer si le graphe motif correspond à un sous-graphe du graphe représentant le modèle numérique. Â chaque nœud du sur-graphe, est associé un compteur qui est incrémenté à chaque fois que le nœud est accédé. Ainsi, en comparant la valeur du compteur associé à un nœud à une valeur prédéterminée, ou en comparant la valeur du compteur associé à un nœud à la valeur du compteur associé à d’autres nœuds du sur-graphe, il est possible de déterminer le(s) nœud(s) susceptible(s) de créer une surcharge. Cette valeur peut être prédéterminée ou régulièrement mise à jour, par exemple en calculant la moyenne des valeurs des compteurs des nœuds du sur graphe qui sont des voisins immédiats du nœud considéré.

En variante, l’étape 410 peut être mise en œuvre en analysant le sur-graphe, notamment en comparant le degré entrant ou sortant d’au moins un de ses nœuds à une valeur prédéterminée, et en analysant les requêtes préalablement exécutées. Lorsqu’un nœud du sur-graphe susceptible de créer une surcharge est identifié, un nœud d’indexation représentant un sous-ensemble héritant des propriétés de l’ensemble représenté par le nœud identifié est généré (étape 420). Le sous-ensemble est plus spécifique que l’ensemble représentée par le nœud susceptible de créer une surcharge, et comprend donc au moins une caractéristique supplémentaire pouvant correspondre soit à une propriété supplémentaire, soit à une instanciation d’au moins une des propriétés, soit à l’instanciation d’une propriété supplémentaire.

Lors d’une étape 430, le nœud d’indexation et le nœud susceptible de créer une surcharge sont liés par un arc représentant une relation caractérisant le fait que le nœud d’indexation représente un ensemble plus spécifique que celui du nœud susceptible de créer une surcharge. Si le nœud susceptible de créer une surcharge est un nœud du graphe sémantique, le nœud d’indexation est associé au nœud susceptible de créer une surcharge par la relation « est une sous-classe de » 324 (e.g., RDFS : SubciassOf ), et le nœud d’indexation appartient alors au graphe sémantique. Si le nœud susceptible de créer une surcharge correspond à un nœud du graphe hyper-structurel, le nœud d’indexation est associé au nœud susceptible de créer une surcharge par la relation « est un sous-graphe de » 334 (e.g., NGSL- LD : isSubGraphOf ), et le nœud d’indexation appartient alors au graphe hyper- structurel.

Lors d’une étape 440, un sous-ensemble de nœuds du graphe structurel initialement liés au nœud susceptible de créer une surcharge et qui partagent la caractéristique supplémentaire, est identifié. L’association (directe) entre les nœuds du sous- ensemble et le nœud susceptible de créer une surcharge est supprimée, et les nœuds du sous-ensemble sont associés au nœud d’indexation (étape 450), par exemple par la relation NGSL-LD :type (341 ).

Selon un mode de réalisation particulier, lorsqu’un nœud du sur-graphe susceptible de créer une surcharge est identifié (410), les propriétés des entités représentées par les nœuds du graphe structurel liés au nœud identifié sont analysées. S’il est déterminé que plusieurs des entités ont une propriété ayant une même valeur, par exemple une même localisation, un nœud d’indexation est généré qui a comme caractéristique supplémentaire ladite localisation (420). Typiquement, la localisation est une localisation géographique.

De retour à la figure 3, les nœuds Room BI/RI 311 et Room B1/R2313 représentent tous les deux les pièces d’un bâtiment, et pourraient être associés à la catégorie sémantique SAREF : Room 327 qui caractérise les pièces d’un bâtiment. Si un nombre significatif de bâtiments B1 ,...,Bn (e.g., n=100) est représenté par le modèle 300, chaque nœud représentant une pièce devrait être associé à cette catégorie sémantique 327. Après l’application de l’étape 410 du procédé, le nœud représentant cette catégorie sémantique pourrait être considéré comme susceptible de créer une surcharge, et un nœud représentant un sous-ensemble 340 (e.g.,

BuildingBi : Rooms), par exemple associée à chacun des n bâtiments d’une ville, pourrait être généré, par application des étapes 420, 430, 440 et 450 du procédé. Selon un autre mode de réalisation, lorsqu’un nœud du graphe sémantique (resp. du graphe hyper-structurel) susceptible de créer une surcharge est identifié (410), les nœuds du graphe structurel liés au nœud identifié sont analysés. S’il est déterminé qu’un nombre prédéterminé de nœuds analysés sont également associés à un autre nœud du graphe hyper-structurel (resp. du graphe sémantique), le nœud susceptible de créer une surcharge représentant un premier ensemble, l’autre nœud représentant un second ensemble, un nœud d’indexation est généré (420) qui représente un sous- ensemble des premier et second ensembles.

De retour à la figure 3, après avoir déterminé que le nœud représentant la catégorie sémantique SAREF:Room 327 du graphe sémantique est susceptible de créer une surcharge par application de l’étape 410, un ensemble de nœuds qui pointent vers cette catégorie sémantique SAREF:Room 327 est identifié. Les relations des nœuds de cet ensemble sont analysées, et un sous-ensemble de nœuds (dudit ensemble de nœuds) qui pointent également vers un nœud du graphe hyper-structurel est identifié. Lorsque plusieurs sous-ensembles sont identifiés, l’un des sous-ensembles ayant un nombre de nœuds inclus dans un intervalle prédéterminé est sélectionné (par exemple sélection d’un sous-ensemble ayant un nombre de nœuds compris entre 20 et 30% du nombre de nœuds de l’ensemble). Plus précisément, l’analyse permet de déterminer que les nœuds Room BI/RI 311 et Room B1/R2313 sont également associés à l’ensemble fonctionnel Building BI Graph 333. Par application de l’étape 420, un nœud d’indexation BuildingBi:Rooms 340 est généré qui représente un sous-ensemble de la catégorie sémantique représentée par le nœud susceptible de créer une surcharge SAREF:Room 327, et de l’ensemble fonctionnel Building B1 Graph 333.

La figure 5 représente un procédé de recherche d’une information représentée par un graphe motif (« pattern » selon la terminologie anglo-saxonne) dans un modèle numérique d’un système tel que le modèle numérique traité selon la figure 4. Le procédé est mis en œuvre par un dispositif électronique, par exemple le serveur 110 du système 100. Ce procédé ou plus généralement le parcours d’un modèle numérique orienté graphe peut également être peut être déclenché à intervalles de temps réguliers, sur réception d’une requête du client 140 par le serveur 110, ou en réponse à un évènement particulier, par exemple la réception, en provenance d’entités physiques tels que des capteurs numériques, des objets ou capteurs connectés de l’Internet des Objets, ou des dispositifs électroniques tels que des « smartphones », de données de mise-à-jour. En réponse à la réception de telles données, ledit dispositif électronique est alors configuré pour rechercher des propriétés des nœuds ou des relations entre ces nœuds, puis pour mettre à jour le modèle. Cette mise-à- jour correspond par exemple à la mise-à-jour de valeurs de ces propriétés, ou à la création/suppression d’arcs et/ou de de nœuds du modèle.

Le procédé de recherche ou plus généralement le parcours d’un modèle numérique orienté graphe peut également être mis en œuvre pour prédire de nouvelles informations (i.e., de nouvelles valeurs de propriétés, un nouveau nœud, et/ou un nouvel arc représentant une nouvelle relation) qui ne sont pas représentées par le modèle numérique, pour prédire un état futur du système qu’il représente, voire pour prendre des décisions visant par exemple à limiter l’impact de cet état futur.

Ainsi, dans le cas où le modèle numérique est un jumeau numérique d’une ville intelligente, ledit modèle peut être utilisé pour suivre le trafic des véhicules, prédire des zones géographiques dans lesquelles une congestion est susceptible de se produire, voire pour prendre des décisions visant à réguler le trafic.

Le procédé comprend une première étape 510 visant à obtenir un graphe motif qui représente l’information à rechercher. Dans une seconde étape 520, le modèle numérique est parcouru, en vérifiant s’il contient le graphe motif comme sous-graphe. En informatique théorique, cette étape correspond à la résolution du problème de l’isomorphisme de sous-graphes, et il est connu d’utiliser des algorithmes qui résolvent ce problème NP-complet. Enfin, lors de l’étape 530, une information permettant d’identifier la portion du modèle numérique correspondant au graphe cible est obtenue.

La [Fig. 6A-6B] illustre, de façon schématique, un exemple de requête orientée graphe appliqué sur le modèle numérique de la figure 3 (Fig. 6A), et le résultat de l’application de cette requête sur le modèle numérique représenté par la figure 3 (Fig. 6B).

La figure 6A illustre un graphe motif représentant une information à rechercher, ici un dispositif de sécurité indirectement lié par au moins une entité (structurelle) au bâtiment B1 . Le graphe motif comprend un nœud 601 qui est l’objet principal de la requête, le reste du graphe motif spécifiant les conditions de satisfiabilité. Le nœud 601 représente une entité qui est un dispositif (relation 605 entre le nœud 601 et le nœud 322 représentant la catégorie sémantique OneM2M:Device), qui appartient à un système de sécurité (relation entre le nœud 601 et l’hyper-nœud 331 représentant système de sécurité sous la forme d’un graphe). Le nœud 601 est lié par une relation 603 à un nœud 602 appartenant au graphe structurel, mais le type de relation 603 et de l’entité représentée par le nœud 602 ne sont pas spécifiées. Ce nœud et cette relation sont parfois qualifiés de « joker » (« wildcard » selon la teminologie anglo- saxonne), puisque le motif recherché doit comprendre ce nœud 602 lié par une relation 603 au nœud 601 , mais peu importe le type de la relation ou de l’entité. De la même manière, les relations 604 et 605 sont des relations « joker » puisque le type de ces relations n’est pas explicité dans le graphe motif / dans la requête.

Un arc du graphe motif qui relie deux nœuds peut être caractérisé par un nombre maximal de « sauts » (« hops » selon la terminologie anglo-saxonne), le nombre de sauts dépendant d’un nombre de nœuds intermédiaires entre lesdits nœuds dans le modèle numérique.

La présence de nœuds et/ou arcs « jokers » dans un graphe motif élargit considérablement l’espace de recherche, en particulier lorsqu’il s’agit d’un modèle numérique ayant un nombre de nœuds significatifs, puisque toutes les combinaisons possibles doivent être considérées. Sans cette invention, une telle recherche s’avère impossible en pratique puisqu’elle engendre une explosion combinatoire qui rend impossible l’obtention d’un résultat.

L’invention vise à pallier cet inconvénient, en créant notamment des nœuds d’indexation qui appartiennent au graphe structurel en tant que tel. L’application de l’invention permet donc d’enrichir le graphe structurel avec de nouveaux nœuds et de nouvelles relations. Enfin, l’invention permet à un système réalisant des requêtes sur un modèle numérique d’utiliser si besoin les catégories représentées par ces nœuds d’indexation pour générer leur requête.