我在想,我們如何防止用戶/開發人員添加不需要的節點/關係/屬性?如何在nodejs中爲neo4j圖形數據庫創建模式?
我讀到的是 - 我們應該在應用程序級強加這些模式。那麼,我們如何在Node.js中做到這一點?
有沒有這方面的例子?或者有人可以在這裏發佈一些代碼?
我在想,我們如何防止用戶/開發人員添加不需要的節點/關係/屬性?如何在nodejs中爲neo4j圖形數據庫創建模式?
我讀到的是 - 我們應該在應用程序級強加這些模式。那麼,我們如何在Node.js中做到這一點?
有沒有這方面的例子?或者有人可以在這裏發佈一些代碼?
這取決於您的應用程序如何工作。
您可以在應用程序中創建自己的驗證,但它取決於應用程序的類型。
更好的選擇是爲Neo4j創建您自己的非託管擴展。您可以使用交易事件API爲 - http://graphaware.com/neo4j/transactions/2014/07/11/neo4j-transaction-event-api.html
GraphAware提供有償擴展執法的模式 - http://graphaware.com/enterprise/
Neo4j的支持一些有限的模式執行。具體做法是:
Uniqueness constraints.指定充當唯一ID的節點與給定的標籤的節點屬性。試圖違反約束的事務將被回滾。唯一性約束使用此語法在Cypher支架創建:
CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE
Property existence constraints.此約束確保定標籤的所有節點包含指定的屬性。任何不指定給定屬性的create語句都會回滾。物業存在約束可以由與此語法創建的:
CREATE CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)
注意財產存在約束在Neo4j的2.3新,並且只能在Neo4j的企業。