• Neo4j导入RDF文件


    一、背景

    众所周知,Neo4j 本身是不支持导入 RDF 文件的。但我们可以借助 neosemantics 来进行导入。

    neosemantics 简称 n10s ,4.0之前的把呢不能叫 semantics

    现在官网也无法访问 4.0 之前版本的相关文档了。推荐大家使用4.0以上的。

    二、安装插件

    1、下载 neosemantics ,我下载的是 neosemantics-4.1.0.1.jar

    下载地址1

    下载地址2

    2、复制 neosemantics-4.1.0.1.jarneo4j 的安装目录下的 plugins 文件夹中

    (注意:如果你想要支持 JSON-LD 序列化的 RDF,则需要安装 APOC 插件)

    3、修改配置文件

    neo4j/neo4j.conf 文件中添加以下内容:

    dbms.unmanaged_extension_classes=n10s.endpoint=/rdf
    
    • 1
    如果是4.0版本之前的,那么添加下面的内容:
    dbms.unmanaged_extension_classes=semantics.extension=/rdf
    
    • 1

    4、重新启动 neo4j

    ./bin/neo4j restart
    
    • 1

    5、用浏览器访问 neo4j ,并登录,查看现在是否支持导入 RDF

    call dbms.procedures()
    
    • 1

    返回如下信息:
    在这里插入图片描述
    或者:

    :GET http://IP地址:7474/rdf/ping
    
    • 1

    返回信息如下:
    在这里插入图片描述

    三、配置

    1、初始化,设置图形的配置

    CALL n10s.graphconfig.init();
    
    • 1
    如果是4.0版本之前的,那么使用下面的命令:
    CALL semantics.graphconfig.init();
    
    • 1

    返回信息如下:
    在这里插入图片描述

    2、创建唯一性约束

    将数据持久化到Neo4j中的所有方法都有一个模式级的先决条件:这是在带有标签资源的节点的属性URI上存在唯一性约束。

    如果约束还没有出现,需要在neo4j上运行

    CREATE CONSTRAINT n10s_unique_uri ON (r:Resource) ASSERT r.uri IS UNIQUE;
    
    • 1

    否则rdf导入会报错。这个约束的目的是通过URI保证资源的唯一性,并通过将资源添加到索引来加速获取过程。

    此时大功已经告成了。我们可以导入 RDF 文件了。

    四、导入数据

    支持导入的数据:Turtle、N-Triples、JSON-LD、TriG、RDF/XML

    call n10s.rdf.import.fetch("/NLP/KG/Wikidata/Onto/ontology-1.0.owl", "RDF/XML");
    
    • 1
    call n10s.rdf.import.fetch("/NLP/KG/Wikidata/other/nsmntx.ttl", "Turtle");
    
    • 1
    CALL n10s.rdf.import.fetch('/NLP/KG/Wikidata/other/test.nt', 'N-Triples')
    
    • 1

    4.0版本之前使用下面的命令:

    CALL semantics.importRDF(x, x, x)
    
    • 1

    注意:如果是在 Windows 上部署 Neo4j ,需要在路径前面加上file://

    CALL n10s.rdf.import.fetch('file:///C:/NLP/KG/Wikidata/other/test.nt', 'N-Triples')
    
    • 1

    五、删除所有数据

    MATCH (resource:Resource) DETACH DELETE resource;
    
    • 1

    六、bug 详见

    使用过程中遇到的bug,详见汇总:bug汇总地址

  • 相关阅读:
    MySQL 并发事务问题和隔离级别 (事务篇 三)
    甲醇燃料电池(DMFC) 系统
    容器运行时 笔记 / CRI-O / CRI-O 安装说明
    【前端】给第一次找工作的同学一些建议
    14道高频手写JS面试题及答案,巩固你的JS基础
    c#访问sql server数据库登录失败
    阿洛迷茫后的思考
    代码随想录算法训练营第一天|LeetCode704二分查找、LeetCode27移除元素
    C C++ 学习
    中国计量大学2023年工商管理硕士(MBA)招生简章
  • 原文地址:https://blog.csdn.net/qq_45083975/article/details/124935776