
rmlio/rmlmapper-javaRMLMapper 是一个执行 RML 规则以生成关联数据(Linked Data)的 Java 库,提供命令行界面(CLI)和 Docker 镜像形式供使用。它能够加载多种本地和远程数据源,根据 RML 映射规则将数据转换为关联数据。需注意的是,RMLMapper 会将所有数据加载到内存中,因此处理大型数据集时需谨慎。
@ 可用于选择当前对象)适用于需要通过 RML 映射规则将多种数据源(如数据库、CSV、JSON、XML 等)转换为关联数据的场景,可用于语义网项目、数据集成、知识图谱构建等领域。
每个版本的 Docker 镜像会自动发布到 Docker Hub,可直接使用:rmlio/rmlmapper-java。
bashdocker build -t rmlmapper .
Docker 容器支持与 CLI 相同的参数,RMLMapper 在容器内的 /data 目录中执行。基本用法如下:
bashdocker run --rm -v $(pwd):/data rmlmapper -m mapping.ttl
-v $(pwd):/data:将当前目录挂载到容器内的 /data 目录,以便访问本地映射文件和数据-m mapping.ttl:指定 RML 映射文件(位于当前目录,即容器内的 /data/mapping.ttl)指定输出文件和格式:
bashdocker run --rm -v $(pwd):/data rmlmapper -m mapping.ttl -o output.nq -s nquads
-o output.nq:输出文件路径(容器内 /data/output.nq,对应本地当前目录的 output.nq)-s nquads:指定输出格式为 nquads(默认)生成元数据:
bashdocker run --rm -v $(pwd):/data rmlmapper -m mapping.ttl -e metadata.ttl -l dataset
-e metadata.ttl:元数据输出文件-l dataset:元数据详细级别(dataset/triple/term)包含自定义函数:
bashdocker run --rm -v $(pwd):/data rmlmapper -m mapping.ttl -f functions.ttl
-f functions.ttl:指定函数描述 Turtle 文件Docker 容器支持所有 CLI 参数,执行以下命令查看完整选项:
bashdocker run --rm rmlmapper --help
主要参数包括:
-m, --mapping <arg>:一个或多个映射文件路径(多个值将被连接)-o, --output <arg>:输出文件路径-s, --serialization <arg>:输出格式(nquads、turtle、trig、trix、jsonld、hdt)-e, --metadatafile <arg>:元数据输出文件路径-l, --metadataDetailLevel <arg>:元数据详细级别(dataset/triple/term)-f, --functionfile <arg>:函数描述 Turtle 文件路径--duplicates:移除输出中的重复三元组(适用于 N-Triples、N-Quads、HDT)RMLMapper 将所有数据加载到内存中,处理大型数据集时可能需要调整 Docker 容器的内存限制(如 --memory=4g)。
XML 解析使用 javax.xml.parsers 以支持完整 XPath,可能导致内存消耗较大(高达原始 XML 文件大小的 10 倍)。
启用重复数据移除(--duplicates)和选择不同输出格式可能影响性能,建议根据使用场景测试优化配置。
可通过动态加载(指定函数描述 Turtle 文件和 jar)、预加载(代码注册并重新构建)或添加依赖(作为库使用时)三种方式包含自定义函数,详情参见项目文档。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务