Skip To Content

Überlegungen zu Neo4j-Datenbanken, die als NoSQL-Data-Store verwendet werden

Wenn Sie Neo4j-Datenbanken als NoSQL-Data-Store verwenden, die bei Ihrer ArcGIS Knowledge-Site registriert sind, müssen Sie einige Details beachten, damit Ihre Wissensgraphen ordnungsgemäß funktionieren.

Erstellen eines Wissensgraphen

Der erste Schritt bei der Verwendung einer Neo4j-Datenbank in Ihrer ArcGIS Knowledge-Site besteht darin, mithilfe von Neo4j-Verwaltungsbefehlen eine Neo4j-Datenbank zu erstellen. Registrieren Sie die Datenbank in Ihrer Site als NoSQL-Data-Store.

Die Registrierung einer Neo4j-Datenbank als NoSQL-Data-Store kann entweder mit dem Datenbanknamen oder einem ihr zugewiesenen Alias erfolgen. Für den von Ihnen verwendeten Namen oder Alias gelten dieselben Namensbeschränkungen wie beim Wissensgraph. Sobald der NoSQL-Data-Store erstellt wurde, kann die Datenbank in Neo4j nicht umbenannt oder der Alias nicht geändert oder gelöscht werden.

Wenn Sie Authentifizierungsinformationen für die Verbindungsherstellung zur Neo4j-Instanz angeben, müssen Sie sicherstellen, dass der Benutzer oder die Identität, mit dem bzw. der auf die Datenbank zugegriffen wird, für alle Vorgänge des erstellten Wissensgraphen über ausreichende Berechtigungen verfügt.

Der Wissensgraph, der mit dem NoSQL-Data-Store verknüpft ist, besitzt die Zugriffsstufe, die mit den Anmeldeinformationen, die beim Erstellen des NoSQL-Data-Stores verwendet wurden, verknüpft ist. Diese Anmeldeinformationen werden berücksichtigt, wenn ein Client auf den Inhalt des Wissensgraph-Service zugreift. Wenn zum Beispiel der Benutzer nur auf bestimmte Entitäten und Beziehungen zugreifen kann, dann sind nur diese Elemente in der Untersuchung eines ArcGIS Pro-Projektes verfügbar.

Informationen zum Verwalten der Neo4j-Datenbanken

Verwalten von Daten

Beim Erstellen eines Wissensgraphen, für den ein NoSQL-Data-Store verwendet wird, muss festgelegt werden, wie die in der Neo4j-Datenbank gespeicherten Daten verwaltet werden sollen. Diese Entscheidung wirkt sich auf andere Aspekte der Neo4j-Datenbank aus.

Der mit Ihrer ArcGIS Knowledge-Site verknüpfte Graph Store speichert beispielsweise Schemainformationen, die stets mit den Informationen, die in den mit Ihrer Site verknüpften Neo4j-Datenbanken gespeichert sind, synchronisiert werden müssen. Wie dies erzielt wird, hängt von der Datenverwaltung in der Datenbank ab.

Sie müssen einen Plan zum Sichern und Wiederherstellen der Neo4j-Datenbanken erstellen, der mit dem Plan zum Sichern und Wiederherstellen der ArcGIS Enterprise-Bereitstellung und des ArcGIS Data Store Graph Store koordiniert ist.

Von ArcGIS verwaltete Daten

Wenn ein Wissensgraph von ArcGIS verwaltete Daten enthalten soll, muss die registrierte Datenbank leer sein, wenn Sie sie als NoSQL-Data-Store zu Ihrer ArcGIS Enterprise-Bereitstellung hinzufügen. Wenn die Neo4j-Datenbank nicht vollständig leer ist, schlägt die Erstellung eines Wissensgraphen, der von ArcGIS verwaltete Daten enthält, fehl.

Wenn Sie einen NoSQL-Data-Store erstellen, der von ArcGIS verwaltete Daten enthalten soll, müssen die Anmeldeinformationen, die Sie für den Zugriff auf die Neo4j-Datenbank angeben, die Berechtigungen besitzen, die der integrierten Neo4j-Rolle als Architect entsprechen.

Sie können nur einen NoSQL-Data-Store erstellen, der auf eine Neo4j-Datenbank zugreift, wenn die Datenbank von ArcGIS verwaltete Daten enthält. Sie können auch nur einen Wissensgraphen erstellen, der auf einen NoSQL-Data-Store zugreift, wenn die Datenbank von ArcGIS verwaltete Daten enthält. Sie können zum Beispiel keinen zweiten Wissensgraphen erstellen, der auf denselben NoSQL-Data-Store zugreift, wenn Sie festgelegt haben, dass der NoSQL-Data-Store benutzerverwaltete Daten enthält.

Nachdem ein Wissensgraph mit von ArcGIS verwalteten Daten erstellt wurde, müssen die Kennungen für Entitäten und Beziehungen in der Neo4j-Datenbank und im ArcGIS Knowledge-Graph-Store synchron gehalten werden, damit der Wissensgraph funktionsfähig bleibt. Um die Datenintegrität sicherzustellen, werden Änderungen an allen Systemen, die mit dem Wissensgraphen verbunden sind, nur mit Operationen und Anforderungen in ArcGIS Pro und ArcGIS Enterprise durchgeführt.

Datenänderungen und andere Änderungen an der Neo4j-Datenbank dürfen nicht außerhalb von ArcGIS erfolgen. Dazu zählen das Ändern oder Löschen von Indizes, die mit der Neo4j-Datenbank verknüpft sind. Grund hierfür ist, dass sie zur Unterstützung der Suche erforderlich sind.

Benutzerverwaltete Daten

Wenn die Neo4j-Datenbank Daten enthält, können Sie die Datenbank als NoSQL-Data-Store registrieren und einen Wissensgraphen erstellen, wenn festgelegt wurde, dass der NoSQL-Data-Store benutzerverwaltete Daten enthält.

Wenn Sie einen NoSQL-Data-Store erstellen, der benutzerverwaltete Daten enthalten soll, müssen die Anmeldeinformationen, die Sie für den Zugriff auf die Neo4j-Datenbank angeben, die Berechtigungen besitzen, die der integrierten Neo4j-Rolle als Reader entsprechen. Wenn Sie jedoch beim Erstellen des Wissensgraphen die Suche aktiviert haben, muss die integrierte Rolle als Architect verwendet werden. Suchfunktionen benötigen ausreichende Berechtigungen zum Erstellen von Volltextindizes in der Neo4j-Datenbank.

Alle Entitäten und Beziehungen in einem Wissensgraphen müssen über eine eindeutige Kennung verfügen. Wenn Sie einen Wissensgraphen mit einem benutzerverwalteten NoSQL-Data-Store erstellen, muss die Datenbank eine Eigenschaft enthalten, die als eindeutige Kennung dient. Der Name der Eigenschaft für die eindeutige Kennung muss für alle Entitäts- und Beziehungstypen identisch sein. Zudem muss er beim Erstellen des Wissensgraphen angegeben werden.‎ Der in der Eigenschaft gespeicherte Wert muss für alle Entitäts- oder Beziehungstypen eindeutig sein, jedoch muss er nicht global für alle Entitäten und Beziehungen in der Datenbank eindeutig sein.

Wenn die Suche für einen Wissensgraphen aktiviert ist, werden von ArcGIS Knowledge Volltextindizes in der Neo4j-Datenbank erstellt, um die Suche zu unterstützen. Diese Indizes dürfen außerhalb von ArcGIS Knowledge weder aktualisiert noch gelöscht werden. Indexnamen beginnen mit esri__.

Damit die Wissensgraph-Daten durchsucht und zu Verbindungsdiagrammen oder -karten hinzugefügt werden können, müssen Sie das Datenmodell der Neo4j-Datenbank mit dem ArcGIS Knowledge-Graph-Store synchronisieren. Wenn ein Knoten oder eine Beziehung in der Neo4j-Datenbank mehrere Beschriftungen aufweist, schlägt die Synchronisierung des Datenmodells fehl. Beim Auftritt dieses Fehlers ist der Zugriff auf Daten, die mit zuvor synchronisierten Datenmodellinformationen verknüpft sind, möglich, jedoch können keine Daten zu Verbindungsdiagrammen oder -karten hinzugefügt werden, die mit nicht synchronisierten Teilen des Datenmodells verknüpft sind. Sie müssen das Datenmodell bei jeder Änderung des Neo4j-Datenbankschemas synchronisieren.

Sie können mehrere NoSQL-Data-Stores erstellen, die auf dieselbe Neo4j-Datenbank zugreifen, solange diese Datenbank keine von ArcGIS verwalteten Daten enthält, die durch einen anderen Wissensgraphen erstellt wurden, und jeder Data Store mit anderen Anmeldeinformationen auf diese Datenbank zugreift. Sie können auch mehrere Wissensgraphen erstellen, die auf denselben NoSQL-Data-Store zugreifen, wenn festgelegt wurde, dass er benutzerverwaltete Daten enthält. Mit beiden Methoden können mehrere Wissensgraphen erstellt werden, die auf dieselbe zugrunde liegende Neo4j-Datenbank zugreifen. Verwenden Sie das ArcGIS Enterprise-Portal, um zu steuern, wer auf einen Wissensgraphen zugreifen kann.

Wenn zum Beispiel zwei Wissensgraphen vorhanden sind, die jeweils mit einem anderen NoSQL-Data-Store verknüpft sind, und jeder NoSQL-Data-Store mit anderen Anmeldeinformationen auf die Neo4j-Datenbank zugreift, dann müssen Sie sicherstellen, dass jeder Wissensgraph für die richtige Benutzergruppe im ArcGIS Enterprise-Portal freigegeben ist. Geben Sie jeden Wissensgraphen für eine andere Portalgruppe frei. Richten Sie für jede Portalgruppe die Mitgliedschaft so ein, dass jeder Portal-Benutzer mit dem richtigen Wissensgraphen auf die richtigen Inhalte zugreifen kann.

Sie können auch zwei Wissensgraphen erstellen, die mit Anmeldeinformationen, die den vollständigen Zugriff auf eine Neo4j-Datenbank ermöglichen, auf denselben NoSQL-Data-Store zugreifen. Sie können jedoch steuern, wofür die verschiedenen Portal-Benutzer die verfügbaren Informationen verwenden können, indem Sie die Wissensgraphen im ArcGIS Enterprise-Portal unterschiedlich freigeben. Der eine Wissensgraph kann für eine Gruppe freigegeben werden, deren Mitglieder schreibgeschützten Zugriff auf die Inhalte besitzen, da ihnen die Rolle als Viewer zugewiesen ist. Der andere Wissensgraph kann für eine andere Gruppe freigegeben werden, deren Mitglieder Entitäten und Beziehungen und deren Eigenschaften bearbeiten können, da sie die Rolle als Editor besitzen.

Wissensgraphen, die auf benutzerverwaltete Daten in einer Neo4j-Datenbank zugreifen, sind schreibgeschützt, wenn in einem ArcGIS Pro-Projekt auf sie zugegriffen wird. Wenn Sie auf denselben Wissensgraphen mit einer ArcGIS Enterprise-Entwickler-API zugreifen, können Sie Entitäten und Beziehungen sowie die Werte ihrer Eigenschaften bearbeiten. Das Datenmodell für den Wissensgraphen ist jedoch weiterhin schreibgeschützt. Das heißt, Sie können keine neuen Entitäts- und Beziehungstypen hinzufügen oder neue Eigenschaften zu vorhandenen Typen hinzufügen.

Löschen der Datenbank

Wenn Sie einen Wissensgraphen nicht mehr benötigen, können Sie ihn im Enterprise-Portal löschen. Daten für den Wissensgraphen werden automatisch aus dem Graph Store gelöscht. Wenn der Wissensgraph jedoch auf einen NoSQL-Data-Store verweist, werden der Datenspeicher und die zugehörige Neo4j-Datenbank nicht automatisch gelöscht.

Wenn der Wissensgraph von ArcGIS verwaltete Daten enthielt, können Sie aus demselben NoSQL-Data-Store keinen weiteren Wissensgraphen mit von ArcGIS verwalteten Daten erstellen, da die Neo4j-Datenbank nicht leer ist. Wenn der Wissensgraph hingegen benutzerverwaltete Daten enthielt, können Sie einen neuen Wissensgraphen erstellen, der auf Daten im vorhandenen NoSQL-Data-Store zugreift.

Wenn Sie eine Neo4j-Datenbank nicht mehr für ArcGIS Knowledge verwenden möchten, können Sie im Enterprise-Portal den NoSQL-Data-Store löschen. Dadurch wird die verknüpfte Neo4j-Datenbank nicht gelöscht. Bevor Sie das NoSQL-Data-Store-Element löschen, prüfen Sie dessen Einstellungen, und notieren Sie sich, auf welche Neo4j-Datenbank es verweist. Sie können dann Schritte unternehmen, um die Daten zu archivieren und die Neo4j-Datenbank mithilfe von Neo4j-Dienstprogrammen und -Verwaltungsbefehlen zu löschen. Beachten Sie dabei die Richtlinien Ihrer Organisation.

Hinweis:

Sobald ein Wissensgraph aus dem Enterprise-Portal gelöscht wurde, ist es Ihnen nicht mehr möglich, in Ihren ArcGIS Pro-Projekten oder Wissensgraph-Layern in einer Karte oder einem Verbindungsdiagramm gespeicherte Untersuchungen, die auf den ursprünglichen Wissensgraphen verweisen, zu verwenden.

Wenn der Wissensgraph in eine neue Enterprise-Bereitstellung übertragen wurde, dann können vorhandene Wissensgraph-Layer in einer Karte oder einem Verbindungsdiagramm so aktualisiert werden, dass der neue Wissensgraph verwendet wird. Sie können auch eine vorhandende Untersuchung aktualisieren, um den neuen Wissensgraphen zu verwenden.

Wenn die Daten des ursprünglichen Wissensgraphen nicht mehr verfügbar sind, löschen Sie Untersuchungen, Layer und Verbindungsdiagramme, die auf den gelöschten Wissensgraphen verweisen, aus allen Projekten, in denen sie vorhanden sind, oder löschen Sie die ggf. die Projekte.