2016-12-31 15 views
3

Ich denke über die Verwendung einer Grafik DB IFC Daten zu speichern. Idealerweise sollte die DB eine Möglichkeit bieten, alle im IFC-Schema definierten Regeltypen zu definieren. Ich glaube jedoch nicht, dass es solche Datenbanken gibt, da einige der Regeltypen in IFC sehr komplex sind und eine Abfrage der DB erfordern. Andere sind einfach, wie die Eindeutigkeit der GUID, das Vorhandensein obligatorischer Attribute oder data validation. Neo4j scheint einige Constraint-Erzwingungsmethoden zu haben:Übereinstimmung mit einem Schema in neo4j

Neo4j hilft, die Datenintegrität mit Constraints zu erzwingen. Constraints können auf Knoten oder Beziehungen angewendet werden. Eindeutige Knoteneigenschafteneinschränkungen können ebenso wie Integritätsbedingungen für Knoten- und Beziehungseigenschaften erstellt werden.

Gibt es andere Methoden, die die Übereinstimmung der eingegebenen Daten mit einem vordefinierten Schema sicherstellen können?

Oder gibt es andere Graph-DBs, die für diesen Job besser geeignet sind?

Antwort

1

Hängt davon ab, ob Sie das von der Datenbank selbst erzwungene Schema benötigen oder ob Sie damit einverstanden sind, dass dies auf der Anwendungsebene erfolgt.

Ich habe gerade Restagraph auf den "Arbeitsprototyp" Ebene, und mein nächster Trick ist Dockerizing es. Es ist ein Framework von Arten, mit dem Sie ein Schema definieren können, indem Sie Knoten und Beziehungen in Neo4J mit bestimmten Labels erstellen und dynamisch eine REST-API erstellen, um es zu erzwingen.

Es ist auch in Common Lisp geschrieben, also werde ich verstehen, wenn Sie auf das Docker Bild warten :)

+0

Willkommen bei SO James. Ich bin bereit für Ihre Projektidee. Ich wünschte, ich könnte dazu beitragen, aber ich habe nie Code in Common Lisp oder etwas in der Nähe davon geschrieben. – Thoran

+0

Außerdem mag ich Ihren Github-Workflow. Dokumentieren Sie alles über Probleme. Erstaunliche Arbeit :) – Thoran

+0

Es ist die einzige Möglichkeit, die ich verfolgen kann, aber danke! –

Verwandte Themen