Vous pouvez interroger un graphe de connaissances pour rechercher un sous-ensemble des entités et des relations qu’il contient et voir comment différentes entités sont connectées les unes aux autres. Consultez les exemples ci-dessous :
- À partir d’un graphe de connaissances représentant la propagation d’une maladie infectieuse, examinez les personnes et les animaux associés via une relation avec une ressource donnée.
- À partir d’un graphe de connaissances représentant une chaîne d’approvisionnement de fabrication, examinez le contenu associé à un composant spécifique, y compris les fournisseurs, les moyens de livraison, les entrepôts, etc.
- À partir d’un graphe de connaissances représentant une organisation, examinez les appareils d’un type donné et répertoriez-en les propriétés, y compris le nom de l’employé responsable.
Vous pouvez identifier le sous-ensemble d’entités et de relations, ou leurs propriétés, en interrogeant le graphe de connaissances. Utilisez le langage de requête openCypher pour écrire des requêtes openCypher afin de découvrir les entités associées et leurs propriétés et utilisez cet ensemble restreint d’informations dans le graphe de connaissances, une carte ou un diagramme de liens.
Écrire une requête openCypher
Les requêtes openCypher sont aux bases de données orientées graphe ce que les requêtes SQL sont aux bases de données relationnelles. Voici un exemple de base : imaginez un diagramme décrivant les produits d’une entreprise et les usines dans lesquelles ces produits sont fabriqués. Le constructeur automobile possède des usines qui sont des entités, identifiées par la variable f ; les modèles de véhicule qu’il fabrique sont des entités m et il existe une relation HasModel (Possède un modèle) entre l’usine et les modèles qu’elle fabrique, hm.
- Pour trouver les dix premières entités de type modèle, vous pouvez utiliser une requête telle que MATCH (m:Model) RETURN m LIMIT 10
- Pour savoir quels modèles sont associés à quelles usines, vous pouvez appairer les entités via la relation HasModel (Possède un modèle) à l’aide d’une requête telle que MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m.
- Votre requête peut renvoyer des propriétés spécifiques d’une entité ou d’une relation en plus ou à la place de son nom d’affichage. Par exemple, pour renvoyer le modèle de véhicule ainsi que la propriété de catégorie du modèle, vous pouvez utiliser une requête telle que MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m,m.category.
Vous en saurez plus sur le langage de requête openCypher dans un document fourni par Amazon. ArcGIS Knowledge ne prend pas en charge tous les aspects du langage de requête openCypher. Par exemple, les requêtes ne peuvent pas être utilisées pour mettre à jour le graphe de connaissances, mais uniquement pour renvoyer des valeurs.
Pour en savoir plus sur openCypher, consultez les requêtes qui récupèrent des données à partir d’un graphe de connaissances pour générer des histogrammes. Dans la fenêtre Search And Filter (Rechercher et filtrer), dans l’onglet Histogram (Histogramme) , cliquez sur le bouton Settings (Paramètres) , puis sur Send query to Query tab (Envoyer la requête dans l’onglet Requête). La requête utilisée pour récupérer des données pour l’ensemble d’histogrammes actuel apparaît dans la zone de texte Query (Requête).
Interroger le contenu de l’enquête
Vous pouvez explorer un ensemble plus petit d’entités et de relations dans une enquête en interrogeant son contenu dans la vue de l’enquête.
- Ouvrez une enquête et parcourez son contenu.
- En haut de la vue de l’enquête, cliquez sur la zone de texte de recherche ou appuyez sur Ctrl+F.
Le contrôle de recherche apparaît.
- Cliquez sur Query Mode (Mode de requête) en bas du contrôle de recherche.
La légende affichée dans la zone de texte de recherche est remplacée par Run graph query on knowledge graph (Exécuter la requête de graphe sur le graphe de connaissances), le bouton Expand Query Window (Développer la fenêtre de requête) s’affiche et le mode Search Mode (Mode de recherche) apparaît en bas du contrôle de recherche.
- Saisissez une requête openCypher dans la zone de texte de recherche.
Par exemple, une requête telle que MATCH (p:Person)-->(v:Vehicle) RETURN p, v renvoie toutes les entités Person (Personne) ayant un type de relation quelconque avec une entité Vehicle (Véhicule), et renvoie les entités Person (Personne) et Vehicle (Véhicule) dans les résultats.
- Appuyez sur la touche Entrée.
Les résultats de la requête apparaissent dans la vue de l’enquête.
- Cliquez sur la zone de texte de requête pour modifier la requête et saisir vos modifications.
Par exemple, redéfinissez la requête sur MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) RETURN p, hv, v pour renvoyer toutes les entités Person (Personne) ayant la relation HasVehicle (Possède un véhicule) avec une entité Vehicle (Véhicule), et renvoyer l’entité Person (Personne), la relation HasVehicle (Possède un véhicule) et l’entité Vehicle (Véhicule) dans les résultats.
- Appuyez sur Entrée pour exécuter la requête modifiée.
Les résultats de la requête mise à jour apparaissent dans la vue de l’enquête. Les entités et les relations renvoyées par la requête sont identifiées par les icônes appropriées.
- Si vous avez besoin de plus d’espace pour écrire une requête openCypher plus longue, cliquez sur le bouton Expand Query Window (Développer la fenêtre de requête) .
La requête actuelle s’ouvre dans une zone de texte de requête multiligne plus grande au lieu de figurer directement dans la zone de texte à une seule ligne située en haut du contrôle.
- Saisissez les modifications à apporter à la requête en utilisant autant de lignes que nécessaire pour la clarté.
Par exemple, redéfinissez la requête sur MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) WHERE hv.acquisitionDate = NULL RETURN p, hv, v, v.make, v.model, v.year pour renvoyer toutes les entités Person (Personne) ayant la relation HasVehicle (Possède un véhicule) avec une entité Vehicle (Véhicule) où la propriété acquisitionDate (Date d’acquisition) de la relation HasVehicle (Possède un véhicule) possède une valeur nulle. Renvoyez les mêmes entités et relations que précédemment, mais incluez également des valeurs issues des propriétés make (marque), model (modèle) et year (année) de l’entité Vehicle (Véhicule) dans les résultats.
Les résultats de la requête mise à jour apparaissent dans la vue de l’enquête. Les entités et les relations renvoyées par la requête sont identifiées par les icônes appropriées.
- Cliquez sur le bouton Run Query (Exécuter la requête) .
Lorsque vous utilisez la fenêtre de requête développée, appuyer sur la touche Entrée a pour effet de déplacer le pointeur vers une nouvelle ligne dans la zone de texte multiligne au lieu d’exécuter la requête.
Les résultats de la requête apparaissent dans la vue de l’enquête.
- Cliquez sur le bouton Reset Search (Réinitialiser la recherche) dans la zone de texte de requête pour effacer la requête et en supprimer les résultats.
Les éléments graphiques qui étaient précédemment répertoriés dans la vue de l’enquête réapparaissent.
- Lorsque la zone de texte de requête est vide, cliquez dessus pour ouvrir le contrôle de requête et répertorier les trois dernières requêtes. Cliquez sur une requête dans la liste pour l’exécuter de nouveau.
La requête sélectionnée est exécutée et les résultats de la requête apparaissent dans l’enquête.
- Cliquez sur le bouton Reset Search (Réinitialiser la recherche) dans la zone de texte de requête pour effacer la requête et supprimer ses résultats de l’enquête. Cliquez sur la zone de texte de requête vide pour ouvrir le contrôle de requête, puis cliquez sur le bouton Remove From History (Supprimer de l’historique) d’une requête spécifique dans la liste pour la supprimer de l’historique.
La requête spécifiée est supprimée de la liste. Votre historique récent est mis à jour pour afficher les trois dernières requêtes.
- Si vous n’avez plus besoin de la zone de texte de requête multiligne, cliquez sur le bouton Collapse Query Window (Réduire la fenêtre de requête) situé à droite de la zone de texte de requête.
Lorsque vous modifiez une requête, elle est mise à jour directement dans la zone de texte de requête sur une ligne. Appuyez sur Entrée pour exécuter une requête mise à jour.
Interroger un graphe de connaissances dans la fenêtre Search And Filter (Rechercher et filtrer)
La fenêtre Search And Filter (Rechercher et filtrer) peut être utilisée avec une vue d’enquête pour en interroger le contenu, avec une carte pour interroger le contenu d’une couche de graphe de connaissances ou avec un diagramme de liens pour interroger les entités et les relations qu’elle décrit.
- Ouvrez la fenêtre Search And Filter (Rechercher et filtrer) en procédant de l’une des manières suivantes :
- Dans l’onglet Investigation (Enquête) du ruban, dans le groupe Search (Rechercher), cliquez sur Search And Filter (Rechercher et filtrer) .
- Cliquez sur une couche de graphe de connaissances dans la fenêtre Contents (Contenu) de la carte. Cliquez sur l’onglet contextuel Knowledge Graph Layer (Couche de graphe de connaissances). Dans le groupe Search (Rechercher), cliquez sur le bouton Search And Filter (Rechercher et filtrer) .
- Dans l’onglet Link Chart (Diagramme de liens) du ruban, dans le groupe Search (Rechercher), cliquez sur Search And Filter (Rechercher et filtrer) .
La fenêtre Search And Filter (Rechercher et filtrer) apparaît.
- Cliquez sur la liste déroulante Source puis sur l’enquête, la couche de carte ou le diagramme de liens dont vous souhaitez interroger le graphe de connaissances.
- Cliquez sur l’onglet Query (Requête) .
Lorsque vous couplez une enquête, une couche de carte ou un diagramme de liens ouvert à la fenêtre Search And Filter (Rechercher et filtrer), toutes les requêtes sont évaluées par rapport à l’intégralité du graphe de connaissances associé à la vue couplée. Un message apparaît pour vous rappeler que la requête ne se limite pas au contenu disponible dans la vue couplée.
- Saisissez une requête openCypher dans la zone de texte Query (Requête).
- Cliquez sur Apply (Appliquer).
Les résultats de la requête sont affichés dans la liste Results (Résultats).
Conseil :
Les graphes de connaissances peuvent représenter de nombreuses entités et relations. L’indicateur occupé en bas de la fenêtre Search And Filter (Rechercher et filtrer) indique que la génération de la liste de résultats est en cours. Une fois que ArcGIS Pro a terminé, l’indicateur occupé s’arrête et le bouton Refresh Results (Actualiser les résultats) apparaît. Si le renvoi des résultats de votre requête prend trop de temps, vous pouvez arrêter de générer la liste de résultats en cliquant sur l’indicateur occupé.
Par défaut, la fenêtre Search And Filter (Rechercher et filtrer) peut être trop étroite pour explorer les résultats de la requête. Vous pouvez la détacher afin de l’élargir sans affecter la disposition des autres vues et fenêtres dans la fenêtre principale de ArcGIS Pro.
Explorer les résultats de requête
Une requête openCypher peut renvoyer une variété de résultats. Lorsque la requête renvoie une liste d’entités ou de relations, celles-ci sont affichées dans la liste des résultats avec une entité ou relation par ligne. Les valeurs renvoyées par la requête apparaissent dans des colonnes étiquetées comme indiqué dans la requête elle-même.
Une requête openCypher peut renvoyer des résultats indiquant quelles entités ont une relation donnée avec une autre entité. Dans ce cas, la liste des résultats comporte une ligne pour chaque triple, un triple étant constitué de l’origine de l’entité, de la relation et de l’entité cible. Par exemple, une requête telle que MATCH (p:Person)-[r]->(e) RETURN p,r,e renvoie une liste de résultats où chaque ligne de résultat représente une personne, une relation entre cette personne et une autre entité et l’entité cible de la relation. Dans ce cas, la liste des résultats comporte une colonne pour la personne intitulée p, une colonne pour la relation intitulée r et une colonne pour l’entité cible intitulée e.
Si à la place la requête renvoie des propriétés spécifiques d’entité ou de relation, la liste des résultats affiche ces valeurs dans des colonnes nommées de manière appropriée selon la requête. Par exemple, une requête telle que MATCH (p:Person)-[ :HasVehicle]->(v) RETURN p,v,v.year renvoie le nom d’affichage de l’entité Person (Personne) dans la colonne p, le nom d’affichage de l’entité Vehicle (Véhicule) dans la colonne v et la valeur de la propriété year (année) de l’entité Vehicle (Véhicule) dans les colonnes v.year. Si une entité ne possède pas de valeur pour une propriété spécifique renvoyée par une requête, la valeur nulle indique qu’il n’y a aucune valeur à afficher.
L’exemple ci-dessous illustre une requête qui renvoie une entité Person (Personne) et une entité Vehicle (Véhicule), où la personne participe dans une relation HasVehicule (Possède un véhicule) avec le véhicule. La requête renvoie également la propriété acquisitionDate (Date d’acquisition) de la relation HasVehicle (Possède un véhicule) et les propriétés make (marque), model (modèle) et year (année) de l’entité Vehicle (Véhicule). Si une propriété ne possède pas de valeur, le texte null (nulle) apparaît dans une colonne.
Les colonnes contenant une entité ou une relation affichent le nom d’affichage de l’élément graphique avec son icône. Dans la capture d’écran ci-dessus, les propriétés Person (Personne) et Vehicle (Véhicule) renvoyées apparaissent dans les colonnes p et v, respectivement. La propriété acquisitionDate (Date d’acquisition) de la relation HasVehicle (Possède un véhicule) est affichée dans la colonne hv.acquisitionDate. Les valeurs des propriétés make (marque), model (modèle) et year (année) des entités Vehicle (Véhicule) apparaissent dans les colonnes v.make, v.model et v.year, respectivement.
Si vous interrogez un graphe de connaissances à partir d’une enquête, utilisez le volet des détails pour consulter les propriétés de l’entité ou de la relation sélectionnée. Dans le volet des détails, vous pouvez explorer les autres relations et les entités liées qui ne sont pas incluses dans les résultats de la requête.
Si vous interrogez un graphe de connaissance à partir de la fenêtre Search And Filter (Rechercher et filtrer), utilisez l’onglet Histogram (Histogramme) pour récapituler et filtrer les résultats. Le titre en haut de l’onglet devient Histogram - Query (Histogramme - Requête) pour indiquer que les diagrammes présentés correspondent au contenu renvoyé par la requête dans Query (Requête) et non au contenu de la vue couplée. De plus, dans la mesure où la requête est évaluée par rapport au graphe de connaissances de la vue, un message apparaît pour indiquer que les histogrammes peuvent inclure du contenu qui n’est pas disponible dans la vue couplée.
À partir d’une enquête ou de la fenêtre Search And Filter (Rechercher et filtrer), vous pouvez sélectionner les entités ou les relations qui vous intéressent, puis cliquer avec le bouton droit sur un élément graphique sélectionné. Utilisez les options disponibles pour ajouter les éléments graphiques sélectionnés à une carte ou un diagramme de liens nouveau ou existant, pour analyse. Vous pouvez également sélectionner les éléments correspondants dans une enquête, une carte ou un diagramme de liens existant.
Rubriques connexes
- Afficher les détails des entités et des relations
- Explorer un graphe de connaissances avec des histogrammes
- Sélectionner et filtrer du contenu à l’aide d’histogrammes
- Afficher les entités et les relations sélectionnées dans une autre vue
- Ajouter des entités et des relations à un diagramme de liens existant
Vous avez un commentaire à formuler concernant cette rubrique ?