首页 > 其他分享 >Neo4j导入RDF文件之neosemantics安装

Neo4j导入RDF文件之neosemantics安装

时间:2023-06-01 23:11:57浏览次数:60  
标签:rdf 导入 n10s neo4j neosemantics RDF Neo4j

一、背景

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

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

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

虽然我用的是3.5.5

二、安装插件

1、下载 neosemantics ,4.0以上下载的是 neosemantics-4.1.0.1.jar

下载链接

3.5.5版本的下载Neosemantics Release 3.5.0.1 for Neo4j 3.5.x
https://github.com/neo4j-labs/neosemantics/releases/tag/3.5.0.1

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

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

3、修改配置文件

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

dbms.unmanaged_extension_classes=n10s.endpoint=/rdf

如果是4.0版本之前的,那么添加下面的内容:

dbms.unmanaged_extension_classes=semantics.extension=/rdf

4、重新启动 neo4j

./bin/neo4j restart

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

call dbms.procedures()

返回如下信息:
image

三、配置

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

CALL n10s.graphconfig.init();

如果是4.0版本之前的,那么依次执行下面的命令:

CREATE INDEX ON: Resource(uri)
CREATE INDEX ON: URI(uri)
CREATE INDEX ON: BNode(uri)
CREATE INDEX ON: Class(uri)

返回信息如下:
image

2、创建唯一性约束

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

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

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

否则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");
call n10s.rdf.import.fetch("/NLP/KG/Wikidata/other/nsmntx.ttl", "Turtle");
CALL n10s.rdf.import.fetch('/NLP/KG/Wikidata/other/test.nt', 'N-Triples')

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

CALL semantics.importRDF(x, x, x)

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

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

五、删除所有数据

MATCH (resource:Resource) DETACH DELETE resource;

标签:rdf,导入,n10s,neo4j,neosemantics,RDF,Neo4j
From: https://www.cnblogs.com/java-six/p/17450493.html

相关文章

  • python neo4j将新节点连接到旧标签
    要在Python中使用py2neo将新节点连接到已存在的节点标签,你可以执行以下步骤:导入所需的类和函数:frompy2neoimportGraph,Node,Relationship连接到Neo4j数据库:graph=Graph("bolt://localhost:7687",auth=("username","password"))确保将"username"和&q......
  • neo4j,python,批量建立节点时,会重复建立相同名称节点。去重。
    前提经过度娘得知,可以使用第三方包去重,但只管去重,你后面关系乱了人家第三方包不管。=-=或者直接在neo4j里面使用数据库语言去重,但关系还是得重新建立。况且,我想用python去重。干货来了后来,我换了个思路,那么就是合并节点。(虽然跟去重差不多)但总归总做出来了使用NodeMatcher......
  • 什么是neo4j
    Neo4j是一个高性能、开源的图数据库管理系统,用于存储、管理和查询具有复杂关系的数据。它是构建在图论原理之上的数据库系统,旨在提供一种优雅和高效地处理图数据的方式。与传统的关系型数据库不同,Neo4j将数据存储为节点(Node)和关系(Relationship)的集合,通过这些节点和关系来构建图(Gr......
  • 一款基于java开发的智能化系统(es+neo4j+activiti)
    一、项目介绍一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,一款让企业知识变为实打实的数字财富的系统,应用在需要进行文档整理、分类、归集、检索、分析的场景。获取方式+q:262086839为什么建立知识库平台?助力企业知识资产有效沉淀和利用,避免随文档负责人变动......
  • Python操作Neo4j数据库使用案例
    Python操作Neo4j数据库使用案例一、数据结构二、上传数据三、清空数据库项目数据和代码  Neo4j是一个世界领先的开源的基于图的数据库。其语言操作简单直观,本文假设你已经安装好Neo4j数据库,并对知识图谱有一定的了解。Neo4j数据库的查询语言为CQL,其代表Cypher查询语言。像Orac......
  • lammps的rerun命令使用——通过读取已跑完的轨迹文件,补充新的或者漏算的计算(rdf、msd
    一、参考资料:1. lammps已跑完,不想重跑,如何补充新的计算 (来自小马老师,https://mp.weixin.qq.com/s/pDWaxcdq75hmMOdbG9hSNQ )2.lammps通过rerun进行rdf分析,来自: https://zhuanlan.zhihu.com/p/524055663 二、自己的算例当lammps计算完后,我们发现遇到如下问题时:(1)有些性质......
  • 自动旋转ROS小车(rviz+urdf+xacro)(附加python操作键盘控制小车运动)
    自动旋转ROS小车(rviz+urdf+xacro)(附加python操作键盘控制小车运动)成果图STEP1创建工作空间mkdir-pcar_ws/srccdcar_wscatkin_makeSTEP2在vscode中准备需要的文件夹右键src,点击CreateCatkinPackage再跳出的输入框中:先输入包名:car再输入依赖工具:urdfx......
  • WD-RDFMF21调频雷达物位计
    WD-RDFMF21调频雷达物位计测量介质:固体测量范围:0.3m~150m过程连接:法兰≥DN80过程温度:-40~110℃过程压力:-0.1~0.3MPa天线尺寸:78mm透镜天线+吹扫(或不带吹扫)天线材......
  • Linux安装Neo4j图数据库
    1、安装说明centos7安装Neo4j图数据库,用于构建知识图谱,linux/mac环境步骤基本相同,noe4j是基于java开发的程序,安装前确保服务器已安装jdk17(新版本neo4j-4.1.1最低要求jdk11),......
  • Neo4j入门
    1、图数据库Neo4j简介1.1什么是图数据库图数据库:是基于图论实现的一种NoSQL数据库,其数据结构是和查询方式是以图论为基础的,图数据库主要用于存储更多的连接数据。图论......