Skip To Content

Considérations sur les bases de données Neo4j utilisées comme Data Stores NoSQL

Si vous utilisez des bases de données Neo4j comme Data Stores NoSQL inscrits sur votre site ArcGIS Knowledge, vous devez prendre en compte certains détails pour que vos graphes de connaissances fonctionnent correctement.

Créer un graphe de connaissances

Lors de l'utilisation d'une base de données Neo4j avec votre site ArcGIS Knowledge, la première étape consiste à créer une base de données Neo4j à l'aide des commandes d'administration de Neo4j. Inscrivez la base de données auprès de votre site en tant que data store NoSQL.

Si une base de données Neo4j est inscrite en tant que Data Store NoSQL, elle peut l'être à l'aide du nom de la base de données ou d'un alias qui lui a été affecté. Le nom ou l'alias que vous utilisez doit respecter les restrictions de nommage du graphe de connaissances. Une fois que le Data Store NoSQL a été créé, la base de données ne peut pas être renommée et l'alias ne peut pas être modifié ou supprimé dans Neo4j.

Lorsque vous fournissez des informations d’authentification pour vous connecter à l’instance Neo4j, vérifiez que l’utilisateur ou l’identité qui permet d’accéder à la base de données comporte des privilèges suffisants pour prendre en charge toutes les opérations requises par le graphe de connaissances qui va être créé.

Le niveau d’accès du graphe de connaissances associé au data store NoSQL sera le même que celui associé aux informations d’identification utilisées pour créer le data store NoSQL. Ces informations d’identification sont respectées lorsqu’un client accède au contenu du service de graphe de connaissances. Par exemple, si l’utilisateur peut uniquement accéder à un ensemble d’entités et de relations, seuls ces éléments seront disponibles dans une recherche de projet ArcGIS Pro.

En savoir plus sur l’administration de vos bases de données Neo4j

Gérer les données

Lorsque vous créez un graphe de connaissances utilisant un data store NoSQL, vous devez choisir comment les données stockées dans la base de données Neo4j sont gérées. Ce choix détermine d’autres facteurs concernant la base de données Neo4j.

Par exemple, le graph store associé à votre site ArcGIS Knowledge renferme des informations de structure qui doivent rester synchronisées avec les informations figurant dans les bases de données Neo4j associées à votre site. La méthode utilisée dépend de la manière dont les données de la base de données sont gérées.

Vous devez créer un plan pour sauvegarder et restaurer vos bases de données Neo4j qui soit coordonné avec votre plan prévu pour sauvegarder et restaurer votre déploiement ArcGIS Enterprise et votre graph store ArcGIS Data Store.

Données gérées par ArcGIS

Si un graphe de connaissances est destiné à contenir des données gérées par ArcGIS, la base de données inscrite doit être vide lorsque vous l’ajoutez à votre déploiement ArcGIS Enterprise en tant que data store NoSQL. Si une base de données Neo4j n’est pas entièrement vide, l’opération de création d’un graphe de connaissances avec des données gérées par ArcGIS échouera.

Lorsque vous créez un data store NoSQL qui contiendra les données gérées par ArcGIS, les informations d’identification que vous fournissez pour accéder à la base de données Neo4j doivent disposer des privilèges correspondant à l’architecte de rôle Neo4j intégré.

Vous pouvez uniquement créer un data store NoSQL qui accède à une base de données Neo4j lorsque la base de données contient des données gérées par ArcGIS. De même, vous pouvez uniquement créer un graphe de connaissances qui accède à un data store NoSQL lorsque la base de données contient des données gérées par ArcGIS. Par exemple, vous ne pouvez pas créer un deuxième graphe de connaissances qui accède au même data store NoSQL lorsque vous désignez un data store NoSQL comme contenant des données gérées par l’utilisateur.

Lorsqu’un graphe de connaissances contenant des données gérées par ArcGIS a été créé, les identifiants des entités et relations doivent rester synchronisés entre les bases de données Neo4j et le graph store ArcGIS Knowledge pour que le graphe de connaissances reste opérationnel. Pour garantir l’intégrité des données, les modifications apportées à tous les systèmes associés à un graphe de connaissances ne sont prises en charge que par l’intermédiaire d’opérations et de demandes effectuées dans ArcGIS Pro et ArcGIS Enterprise.

La mise à jour de données et d’autres modifications à la base de données Neo4j ne doivent pas être réalisées en dehors d’ArcGIS. Cela inclut le changement ou la suppression des index associés à la base de données Neo4j, car ils sont nécessaires à la prise en charge des recherches.

Données gérées par l’utilisateur

Si votre base de données Neo4j contient des données, vous pouvez l’inscrire comme data store NoSQL et créer un graphe de connaissances où le data store NoSQL est désigné comme contenant les données gérées par l’utilisateur.

Lorsque vous créez un data store NoSQL qui contiendra les données gérées par l’utilisateur, les informations d’identification que vous fournissez pour accéder à la base de données Neo4j doivent disposer des privilèges correspondant au lecteur de rôle Neo4j intégré. Cependant, si vous activez la recherche lors de la création du graphe de connaissances, l’architecte de rôle intégré doit être activé. Les fonctions de recherche requièrent des privilèges suffisants pour créer des index en texte intégral dans la base de données Neo4j.

Toutes les entités et relations d’un graphe de connaissances doivent comporter un identifiant unique. Lorsque vous créez un graphe de connaissances avec un data store NoSQL géré par l’utilisateur, la base de données doit contenir une propriété qui sert d’identifiant unique. Le nom de propriété de l’identifiant unique doit être le même pour tous les types d’entité et de relation et doit être fourni lorsque vous créez le nouveau graphe de connaissances. La valeur stockée dans la propriété doit être unique parmi tous les types d’entité ou de relation, mais ne doit pas être unique globalement parmi toutes les entités et relations de la base de données.

Si la recherche est activée pour un graphe de connaissances, des index de texte intégral sont créés dans la base de données Neo4j par ArcGIS Knowledge pour prendre en charge les recherches. Ces index ne doivent pas être mis à jour ou supprimés en dehors de ArcGIS Knowledge. Les noms d’index commencent par esri__.

Pour rechercher les données d’un graphe de connaissances et les ajouter à un diagramme de liens ou à une carte, vous devez synchroniser le modèle de données de la base de données Neo4j avec le graph store ArcGIS Knowledge. Si un nœud ou une relation dans la base de données Neo4j comporte plusieurs étiquettes, la synchronisation du modèle de données échoue. En cas d’échec, les données associées aux informations du modèle de données précédemment synchronisé sont accessibles, mais vous ne pouvez pas ajouter de données à un diagramme de liens ou à une carte associés à des parties du modèle de données non synchronisées. Vous devez synchroniser le modèle de données dès que la structure change dans la base de données Neo4j.

Vous pouvez créer de nombreux data stores NoSQL qui accèdent à la même base de données Neo4j tant que la base de données ne contient pas de données gérées par ArcGIS créées par un graphe de connaissances différent, et chaque data store accède à la même base de données avec des informations d’identification différentes. Vous pouvez également créer de nombreux graphes de connaissances qui accèdent à un seul data store NoSQL désigné comme contenant des données gérées par l’utilisateur. Ces deux méthodes peuvent générer de nombreux graphes de connaissances qui accèdent à la même base de données Neo4j sous-jacente. Utilisez le portail ArcGIS Enterprise pour contrôler qui peut accéder à chaque graphe de connaissances.

Par exemple, si vous avez deux graphes de connaissances, que chacun est associé à un data store NoSQL différent et que chaque data store NoSQL accède à la base de données Neo4j à l’aide d’informations d’identification différentes, assurez-vous que chaque graphe de connaissances est partagé avec le bon groupe d’utilisateurs sur le portail ArcGIS Enterprise. Partagez chaque graphe de connaissances avec un groupe distinct du portail. Définissez l’appartenance pour chaque groupe de portail de manière à ce que chaque utilisateur du portail ait accès au bon contenu à l’aide du graphe de connaissances adéquat.

De même, vous pouvez créer deux graphes de connaissances qui accèdent au même data store NoSQL à l’aide d’informations d’identification qui offrent un accès complet à une base de données Neo4j. Cependant, vous pouvez contrôler ce que les différents utilisateurs du portail peuvent faire avec les informations disponibles en partageant les graphes de connaissances différemment sur le portail ArcGIS Enterprise. Un graphe de connaissances peut être partagé avec un groupe dont tous les membres se sont vus attribuer le rôle de consultation et disposent donc d’un accès en lecture seule au contenu. L’autre graphe de connaissances peut être partagé avec un autre groupe dont les membres disposent du rôle d’édition et peuvent donc modifier les entités et les relations, ainsi que leurs propriétés.

Les graphes de connaissances qui accèdent aux données gérées par l’utilisateur dans une base de données Neo4j sont en lecture seule lorsqu’un utilisateur y accède dans un projet ArcGIS Pro. Si vous accédez au même graphe de connaissances à l’aide d’une API de développement ArcGIS Enterprise, vous pouvez modifier des entités et des relations, ainsi que les valeurs de leurs propriétés. Cependant, le modèle de données du graphe de connaissances reste en lecture seule. Cela signifie que vous ne pouvez pas ajouter de nouveaux types d’entités et de relations, ni ajouter de nouvelles propriétés aux types existants.

Supprimer la base de données

Si vous n'avez plus besoin d'un graphe de connaissances, vous pouvez le supprimer dans le portail Enterprise. Les données du graphe de connaissances sont supprimées automatiquement du graph store. Toutefois, si le graphe de connaissances fait référence à un Data Store NoSQL, ce dernier et la base de données Neo4j associée ne sont pas supprimés automatiquement.

Si le graphe de connaissances contenait des données gérées par ArcGIS, vous ne pouvez pas créer un autre graphe de connaissances géré par à partir du même data store NoSQL parce que la base de données Neo4j n’est pas vide. Toutefois, si le graphe de connaissances contenait des données gérées par l’utilisateur, vous pouvez créer un nouveau graphe de connaissances qui accède aux données dans le data store NoSQL existant.

Si vous ne prévoyez plus d’utiliser une base de données Neo4j avec ArcGIS Knowledge, vous pouvez supprimer le data store NoSQL dans le portail Enterprise. Cette opération ne supprime pas la base de données Neo4j associée. Avant de supprimer l’élément de data store NoSQL, vérifiez ses paramètres et notez la base de données Neo4j à laquelle il fait référence. Vous pouvez alors passer à la procédure d’archivage des données et supprimer la base de données Neo4j à l’aide des utilitaires et commandes d’administration de Neo4j conformément aux directives de votre organisation.

Remarque :

Une fois qu’un graphe de connaissances a été supprimé du portail Enterprise, vous ne pouvez plus utiliser les enquêtes stockées dans vos projets ArcGIS Pro et qui faisaient référence au graphe de connaissances supprimé. Une enquête existante ne peut pas être associée à un autre graphe de connaissances. Vous devez supprimer les enquêtes qui font référence au graphe de connaissances supprimé de tous les projets dans lesquels elles existent ou supprimer les projets eux-mêmes, si besoin est.

Si le graphe de connaissances a été transféré vers un nouveau déploiement Enterprise, les couches du graphe de connaissances existantes sur une carte ou un diagramme de liens peuvent être mises à jour pour utiliser le nouveau graphe de connaissances, même si la recherche doit être supprimée.