Sie können eine Abfrage bei einem Wissensgraphen durchführen, um eine Teilmenge der im Graphen enthaltenen Entitäten und Beziehungen zu suchen und um zu ermitteln, wie verschiedene Entitäten miteinander verbunden sind. Beispiele:
- Mithilfe eines Wissensgraphen, der die Ausbreitung einer Infektionskrankheit darstellt, können Sie mit Menschen und Tieren arbeiten, die durch eine beliebige Beziehung mit einer bestimmten Einrichtung verknüpft sind.
- Mithilfe eines Wissensgraphen, der eine Lieferkette in der Fertigung darstellt, können Sie mit allen Inhalten arbeiten, die mit einem bestimmten Teil, einschließlich Lieferanten, Liefermethoden, Lagern usw., verknüpft sind.
- Mithilfe eines Wissensgraphen, der eine Organisation darstellt, können Sie mit Geräten eines bestimmten Typs arbeiten und deren Eigenschaften, einschließlich der Namen der zuständigen Mitarbeiter, auflisten.
Indem Sie eine Abfrage bei einem Wissensgraphen durchführen, können Sie die Teilmenge der Entitäten und Beziehungen oder deren Eigenschaften identifizieren. Verwenden Sie die Abfragesprache openCypher zum Schreiben von openCypher-Abfragen, um zugehörige Entitäten und ihre Eigenschaften zu ermitteln, und arbeiten Sie mit diesem eingeschränkten Informationssatz im Wissensgraphen, in einer Karte oder einem Verbindungsdiagramm.
Schreiben einer openCypher-Abfrage
openCypher-Abfragen sind für Graph-Datenbanken das, was SQL-Abfragen für relationale Datenbanken sind. Ein einfaches Beispiel wäre ein Graph, der die Produkte und die Produktionseinrichtungen eines Unternehmens beschreibt. Das Automobilunternehmen verfügt über Einrichtungen, die als Entitäten durch die Variable f identifiziert sind. Die vom Unternehmen produzierten Fahrzeugmodelle sind als Entitäten durch die Variable m gekennzeichnet, und es gibt eine Beziehung "HasModel" zwischen der Einrichtung und den von ihr produzierten Modellen mit der Variablen hm.
- Um die ersten zehn Entitäten des Typs "Model" zu finden, können Sie eine Abfrage wie die folgende verwenden: MATCH (m:Model) RETURN m LIMIT 10.
- Um festzustellen, welche Modelle mit welchen Einrichtungen verknüpft sind, können Sie die Entitäten über die Beziehung "HasModel" mit einer Abfrage wie der folgenden abgleichen: MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m.
- Ihre Abfrage kann zusätzlich zum Anzeigenamen oder anstelle des Anzeigenamens bestimmte Eigenschaften einer Entität oder Beziehung zurückgeben. Um beispielsweise sowohl das Fahrzeugmodell als auch die Eigenschaft "Category" des Modells zurückzugeben, könnten Sie die folgende Abfrage verwenden: MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m,m.category.
In einem von Amazon angebotenen Dokument können Sie mehr über die Abfragesprache openCypher erfahren. ArcGIS Knowledge unterstützt nicht alle Aspekte der openCypher-Abfragesprache. So können Abfragen beispielsweise nicht zum Aktualisieren des Wissensgraphen verwendet werden, sondern nur zum Zurückgeben von Werten.
Mehr über openCypher erfahren Sie, indem Sie sich die Abfragen ansehen, mit denen Daten aus einem Wissensgraphen abgerufen und Histogramme erstellt werden. Klicken Sie im Bereich Durchsuchen und Filtern auf der Registerkarte Histogramm auf die Schaltfläche Einstellungen und dann auf Registerkarte "Abfrage" senden. Die Abfrage, mit der Sie Daten für die aktuellen Histogramme abgerufen haben, wird im Textfeld Abfrage angezeigt.
Abfragen des Untersuchungsinhalts
Um eine kleinere Gruppe von Entitäten und Beziehungen in einer Untersuchung zu erkunden, können Sie eine Inhaltsabfrage innerhalb der Untersuchungsansicht durchführen.
- Öffnen Sie eine Untersuchung, und durchsuchen Sie deren Inhalt.
- Klicken Sie oben in der Untersuchungsansicht in das Textfeld "Suchen", oder drücken Sie die Tastenkombination Strg+F.
Die Suchsteuerung wird angezeigt.
- Klicken Sie unten in der Suchsteuerung auf Abfragemodus .
Der Hinweis im Textfeld "Suchen" ändert sich in Graphabfrage für Wissensgraph ausführen, die Schaltfläche Abfragefenster einblenden wird angezeigt, und die Option Suchmodus erscheint unten in der Suchsteuerung.
- Geben Sie eine openCypher-Abfrage in das Textfeld "Suchen" ein.
Bei der Abfrage MATCH (p:Person)-->(v:Vehicle) RETURN p, v würden beispielsweise alle Entitäten des Typs "Person", die in einer Beziehung zur Entität "Vehicle" stehen, sowie die Entität "Person" und die Entität "Vehicle" in den Ergebnissen zurückgegeben.
- Drücken Sie die Eingabetaste.
Die Ergebnisse der Abfrage werden in der Untersuchungsansicht angezeigt.
- Klicken Sie in das Textfeld "Abfrage", um die Abfrage zu ändern, und geben Sie Ihre Änderungen ein.
Ändern Sie beispielsweise die Abfrage in MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) RETURN p, hv, v, um alle Entitäten des Typs "Person", die in einer HasVehicle-Beziehung zu einer Entität "Vehicle" stehen, sowie die Entität "Person", die Beziehung "HasVehicle" und die Entität "Vehicle" in den Ergebnissen zurückzugeben.
- Drücken Sie die Eingabetaste, um die modifizierte Abfrage auszuführen.
Die Ergebnisse der aktualisierten Abfrage werden in der Untersuchungsansicht angezeigt. Die von der Abfrage zurückgegebenen Entitäten und Beziehungen werden durch die entsprechenden Symbole gekennzeichnet.
- Wenn Sie mehr Platz benötigen, um eine längere openCypher-Abfrage zu schreiben, klicken Sie auf die Schaltfläche Abfragefenster einblenden .
Statt direkt im einzeiligen Textfeld oben im Steuerungsbereich wird die aktuelle Abfrage in einem größeren, mehrzeiligen Abfragefeld geöffnet.
- Geben Sie Ihre Änderungen an der Abfrage ein, und verwenden Sie der Klarheit halber so viele Zeilen wie nötig.
Ändern Sie beispielsweise die Abfrage in MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) WHERE hv.acquisitionDate = NULL RETURN p, hv, v, v.make, v.model, v.year, um alle Entitäten des Typs "Person", die in einer HasVehicle-Beziehung zu einer Entität "Vehicle" stehen, zurückzugeben, bei denen die Eigenschaft "acquisitionDate" der HasVehicle-Beziehung einen NULL-Wert aufweist. Geben Sie dieselben Entitäten und Beziehungen wie zuvor zurück, aber beziehen Sie auch Werte der Eigenschaften "Make", "Model" und "Year" der Entität "Vehicle" in die Ergebnisse ein.
Die Ergebnisse der aktualisierten Abfrage werden in der Untersuchungsansicht angezeigt. Die von der Abfrage zurückgegebenen Entitäten und Beziehungen werden durch die entsprechenden Symbole gekennzeichnet.
- Klicken Sie auf die Schaltfläche Abfrage ausführen .
Wenn Sie das erweiterte Abfragefenster verwenden und die Eingabetaste drücken, wird nicht die Abfrage ausführt, sondern der Mauszeiger in eine neue Zeile im mehrzeiligen Textfeld bewegt.
Die Ergebnisse der Abfrage werden in der Untersuchungsansicht angezeigt.
- Klicken Sie im Textfeld "Abfrage" auf die Schaltfläche Suche zurücksetzen , um die Abfrage zu löschen und die Abfrageergebnisse zu entfernen.
Die zuvor in der Untersuchungsansicht aufgelisteten Graph-Elemente werden erneut angezeigt.
- Wenn das Textfeld "Abfrage" leer ist, klicken Sie in das Feld, um die Abfragesteuerung zu öffnen und die letzten drei Abfragen anzuzeigen. Klicken Sie auf eine Abfrage in der Liste, um sie erneut auszuführen.
Die ausgewählte Abfrage wird ausgeführt, und die Abfrageergebnisse werden in der Untersuchung angezeigt.
- Klicken Sie im Textfeld "Abfrage" auf die Schaltfläche Suche zurücksetzen , um die Abfrage aus dem Abfragefeld zu löschen und ihre Ergebnisse aus der Untersuchung zu entfernen. Klicken Sie in das leere Textfeld "Abfrage", um die Abfragesteuerung zu öffnen, und dann für eine bestimmte Abfrage in der Liste auf die Schaltfläche Aus Verlauf entfernen , um diese Abfrage aus dem Verlauf zu entfernen.
Die angegebene Abfrage wird aus der Liste entfernt. Der Abfrageverlauf wird aktualisiert, um die letzten drei Abfragen anzuzeigen.
- Wenn Sie das mehrzeilige Abfragefeld nicht mehr benötigen, klicken Sie auf die Schaltfläche Abfragefenster ausblenden rechts neben dem Abfragefeld.
Wenn Sie eine Abfrage ändern, wird sie direkt im Textfeld "Abfrage" in einer Zeile aktualisiert. Drücken Sie die Eingabetaste, um eine aktualisierte Abfrage auszuführen.
Abfragen eines Wissensgraphen im Bereich "Durchsuchen und Filtern"
Der Bereich Durchsuchen und Filtern kann mit einer Untersuchungsansicht verwendet werden, um die zugehörigen Inhalte abzufragen, mit einer Karte, um die Inhalte eines Wissensgraph-Layers abzufragen, oder mit einem Verbindungsdiagramm, um die zugehörigen Entitäten und Beziehungen abzufragen.
- Öffnen Sie den Bereich Durchsuchen und Filtern mit einer der folgenden Methoden:
- Klicken Sie auf dem Menüband auf der Registerkarte Untersuchung in der Gruppe Suchen auf Durchsuchen und Filtern .
- Klicken Sie im Bereich Inhalt der Karte auf einen Wissensgraph-Layer. Klicken Sie auf die kontextbezogene Registerkarte Wissensgraph-Layer. Klicken Sie in der Gruppe Suchen auf die Schaltfläche Durchsuchen und Filtern .
- Klicken Sie auf dem Menüband auf der Registerkarte Verbindungsdiagramm in der Gruppe Suchen auf Durchsuchen und Filtern .
Der Bereich Durchsuchen und Filtern wird angezeigt.
- Öffnen Sie die Dropdown-Liste Quelle, und klicken Sie auf die Untersuchung, den Karten-Layer oder das Verbindungsdiagramm, dessen bzw. deren Wissensgraphen Sie abfragen möchten.
- Klicken Sie auf die Registerkarte Abfrage .
Wenn Sie ein offene Untersuchung, einen offenen Karten-Layer oder ein offenes Verbindungsdiagramm mit dem Bereich Durchsuchen und Filtern kombinieren, werden alle Abfragen anhand des gesamten Wissensgraphen, der mit der kombinierten Ansicht verknüpft ist, evaluiert. Es wird eine Meldung angezeigt, mit der Sie daran erinnert werden, dass die Abfrage nicht auf den Inhalt der kombinierten Ansicht beschränkt ist.
- Geben Sie eine openCypher-Abfrage in das Textfeld Abfrage ein.
- Klicken Sie auf Übernehmen.
Die Ergebnisse der Abfrage werden in der Liste Ergebnisse angezeigt.
Tipp:
Wissensgraphen können viele Entitäten und Beziehungen darstellen. Der Auslastungsindikator unten im Bereich Durchsuchen und Filtern gibt an, dass die Ergebnisliste generiert wird. Wenn ArcGIS Pro fertig ist, wird der Auslastungsindikator beendet, und es wird die Schaltfläche Ergebnisse aktualisieren angezeigt. Wenn es zu lange dauert, bis die Ergebnisse Ihrer Abfrage zurückgegeben werden, können Sie die Erstellung der Ergebnisliste beenden, indem Sie auf den Auslastungsindikator klicken.
Standardmäßig ist der Bereich Durchsuchen und Filtern möglicherweise zu schmal, um die Abfrageergebnisse zu erkunden. Sie können den Bereich abdocken, um ihn zu vergrößern, ohne die Anordnung der anderen Ansichten und Bereiche im Hauptanwendungsfenster von ArcGIS Pro zu beeinflussen.
Erkunden der Abfrageergebnisse
Eine openCypher-Abfrage kann eine Vielzahl von Ergebnissen zurückgeben. Wenn die Abfrage eine Liste mit Entitäten oder Beziehungen zurückgibt, wird in der Ergebnisliste eine Entität bzw. Beziehung pro Zeile angezeigt. Die von der Abfrage zurückgegebenen Werte werden in Spalten angezeigt, die wie in der Abfrage angegeben beschriftet sind.
Eine openCypher-Abfrage könnte Ergebnisse zurückgeben, die zeigen, welche Entitäten in einer bestimmten Beziehung zu einer anderen Entität stehen. In diesem Fall wird in der Ergebnisliste eine Zeile für jede Dreiergruppe verwendet, wobei eine Dreiergruppe aus der Ursprungsentität, der Beziehung und der Zielentität besteht. Zum Beispiel würde eine Abfrage wie MATCH (p:Person)-[r]->(e) RETURN p,r,e eine Ergebnisliste zurückgeben, in der jede Zeile im Ergebnis eine Person, eine Beziehung zwischen der Person und einer anderen Entität und die Zielentität der Beziehung angeben würde. In diesem Fall würde die Ergebnisliste eine Spalte p für die Person, eine Spalte r für die Beziehung und eine Spalte e für die Zielentität aufweisen.
Wenn die Abfrage stattdessen bestimmte Eigenschaften von Entitäten oder Beziehungen zurückgibt, zeigt die Ergebnisliste die betreffenden Werte in entsprechend der Abfrage bezeichneten Spalten an. Beispielsweise gibt die Abfrage MATCH (p:Person)-[ :HasVehicle]->(v) RETURN p,v,v.year den Anzeigennamen der Entität "Person" in der Spalte p, den Anzeigenahme der Entität "Vehicle" in der Spalte v und den Wert der Eigenschaft "Year" der Entität "Vehicle" in den Spalten v.year zurück. Wenn eine Entität keine Werte für eine bestimmte Eigenschaft aufweist, die von einer Abfrage zurückgegeben wird, wird der Wert NULL angezeigt, um anzugeben, dass kein Wert zum Anzeigen vorhanden ist.
Das Beispiel unten zeigt eine Abfrage, die eine Entität des Typs "Person" und eine Entität des Typs "Vehicle" zurückgibt, wobei zwischen der Person und dem Fahrzeug eine HasVehicle-Beziehung besteht. Die Abfrage gibt außerdem die Eigenschaft "acquisitionDate" der Beziehung "HasVehicle" und die Eigenschaften "Make", "Model" und "Year" der Entität "Vehicle" zurück. Wenn eine Eigenschaft keinen Wert aufweist, wird der Text NULL in einer Spalte angezeigt.
In Spalten, die eine Entität oder eine Beziehung enthalten, wird der Anzeigenamen des Graph-Elements zusammen mit dem Symbol angezeigt. Im Screenshot oben werden die zurückgegebenen Eigenschaften "Person" und "Vehicle" in den Spalten p und v angezeigt. Die Eigenschaft "acquisitionDate" der Beziehung "HasVehicle" wird in der Spalte "hv.acquisitionDate" angezeigt. Werte für die Eigenschaften "Make", "Model" und "Year" der Entitäten des Typs "Vehicle" werden in den Spalten "v.make", "v.model" und "v.year" angezeigt.
Wenn Sie von einer Untersuchung aus eine Abfrage auf einen Wissensgraphen durchführen, sehen Sie im Detailbereich die Eigenschaften der ausgewählten Entität oder Beziehung. Im Detailbereich können Sie weitere Beziehungen und verbundene Entitäten erkunden, die nicht in den Abfrageergebnissen enthalten sind.
Wenn Sie im Bereich Durchsuchen und Filtern eine Abfrage auf einen Wissensgraphen durchführen, können Sie die Ergebnisse auf der Registerkarte Histogramm zusammenfassen und filtern. Der Titel im oberen Bereich der Registerkarte ändert sich in Histogramm – Abfrage; damit wird angegeben, dass in den Diagrammen der Inhalt dargestellt wird, der von der Abfrage auf der Registerkarte Abfrage zurückgegeben wird, und nicht der Inhalt der kombinierten Ansicht. Weil die Abfrage anhand des Wissensgraphen der Ansicht evaluiert wird, wird zudem eine Meldung mit dem Hinweis angezeigt, dass die Histogramme Inhalte aufweisen können, die in der kombinierten Ansicht nicht enthalten sind.
Sie können entweder in einer Untersuchung oder im Bereich Durchsuchen und Filtern Entitäten oder Beziehungen von Interesse auswählen und auf ein ausgewähltes Graph-Element klicken. Fügen Sie die auswählen Graph-Elemente mit den verfügbaren Optionen einer neuen oder vorhandenen Karte oder einem neuen oder vorhandenen Verbindungsdiagramm hinzu, wenn Sie weitere Analysen durchführen möchten. Wählen Sie alternativ die entsprechenden Elemente in einer vorhandenen Untersuchung oder Karte bzw. einem vorhandenen Verbindungsdiagramm aus.