Neosemantics是一個插件抵皱,支持在Neo4j中使用RDF。它能夠以無損的方式在Neo4j中存儲RDF數(shù)據(jù)(導(dǎo)入的RDF隨后可以在導(dǎo)出過程中不丟失任何三元組)叙甸。按需將Neo4j的屬性圖數(shù)據(jù)導(dǎo)出為RDF蚁署。Neosemantics中的其他特性包括Neo4j圖上的模型映射和推理遂赠。
安裝教程
1. 下載Neo4j-community-4.2.3。Neo4j-community-4.2.3(Neo4j-community-4.2.3需要jdk11)
2. 下載Neosemantics-4.2.0.0奸绷。neosemantics-4.2.0.0
3. 解壓neo4j畔派,并將neosemantics-4.2.0.0.jar復(fù)制到neo4j-community-4.2.3/plugins目錄下士嚎,并修改/conf/neo4j.conf配置文件,添加一行:??
dbms.unmanaged_extension_classes=n10s.endpoint=/rdf? (neo4j-3.X版本與4.X版本配置項不同)
4. 啟動neo4j,輸入? ? ? ?call dbms.procedures()? ? ? ? ? ?來檢查是否安裝完成贷笛。
5. 運行? ? ? :GET http://localhost:7474/rdf/ping? ? ? ? ? ?來檢查擴展是否已掛載。至此安裝完成
Neosemantics使用rdf4j來解析和序列化RDF。Eclipse rdf4j是一個用于處理和處理RDF數(shù)據(jù)的強大的Java框架架忌。Rdf4j
配置neo4j使用RDF數(shù)據(jù)
在導(dǎo)入和使用Neo4j中的RDF數(shù)據(jù)之前井仰,需要在圖配置中定義如何處理這些數(shù)據(jù)。圖配置中定義的所有設(shè)置都是全局的踊餐,并且在整個圖的生命周期內(nèi)都是有效的,并且會驅(qū)動n10s中的函數(shù)和過程的行為臀稚。
在neo4j中執(zhí)行? ?CALL n10s.graphconfig.init();? ?可以幫助我們進行這種設(shè)置吝岭。調(diào)用不帶參數(shù)的程序?qū)⒃O(shè)置所有默認值。若更改默認值需要通過map進行修改? ?CALL n10s.graphconfig.init( { handleMultival: "ARRAY" })? ?
在neo4j中執(zhí)行? ?CALL?n10s.graphconfig.drop;? ? 可以刪除圖配置吧寺。
前提條件:創(chuàng)建唯一性約束
將數(shù)據(jù)持久化到Neo4j中的所有方法都有一個模式級的先決條件:這是在帶有標簽資源的節(jié)點的屬性URI上存在唯一性約束窜管。如果約束還沒有出現(xiàn),需要在neo4j上運行? ??
CREATE CONSTRAINT n10s_unique_uri ON (r:Resource) ASSERT r.uri IS UNIQUE;? ? ? ?
否則rdf導(dǎo)入會報錯稚机。這個約束的目的是通過URI保證資源的唯一性幕帆,并通過將資源添加到索引來加速獲取過程。