本文介绍如何将RDF文件导入嬴图数据库。
嬴图Transporter支持导入的RDF文件格式包括
N-triples
、Turtle
和RDF/XML
。
以下步骤均在Windows系统上PowerShell中演示。
准备RDF文件
点击下载.ttl
格式的示例RDF文件:
生成配置文件
打开终端程序,导航至ultipa-importer
所在文件夹。执行以下命令,选择rdf
,为导入RDF文件生成样本配置文件:
./ultipa-importer --sample
执行命令后,会在ultipa-importer
所在目录下生成配置文件import.sample.rdf.yml
。如果目录下已有该文件,数据将被覆盖。
修改配置文件
根据实际使用场景修改import.sample.rdf.yml
文件。该文件包含以下部分:
mode
:设置为rdf
。rdf
:指定RDF文件路径及文件格式。server
:提供嬴图服务器信息,并为数据导入指定目标图(新图或已有图)。settings
:为数据导入设置全局参数和偏好。
# 导入模式:csv/json/jsonl/rdf/graphml/bigQuery/sql/kafka/neo4j/salesforce
mode: rdf
# RDF配置
rdf:
# 本地计算机上的文件路径
file: "./UltipaGraph.ttl"
# RDF格式:ntriples/turtle/rdfxml
format: "turtle"
# 嬴图服务器配置
server:
# 主机IP/URI和端口;若为集群,使用英文逗号分隔
host: "10.11.22.33:1234"
username: "admin"
password: "admin12345"
# 目标图(新图或已有图)
graphset: "myGraph"
# 若上图为新图,指定图所在分片
shards: "1,2,3"
# 若上图为新图,指定分片分区算法(Crc32/Crc64WE/Crc64XZ/CityHash64)
partitionBy: "Crc32"
# TLS加密证书文件路径
crt: ""
# 全局设置
settings:
# 日志文件路径
logPath: "./logs"
# 每批次导入的点或边的数量
batchSize: 10000
# 插入模式:upsert
importMode: upsert
# 插入边时,自动创建缺失端点
createNodeIfNotExist: false
# 报错时停止数据导入
stopWhenError: false
# 设置为true时,自动创建新的图、schema和属性
yes: true
# 最大线程数
threads: 32
# RPC最大消息传输量(单位:MB)
maxPacketSize: 40
# 时间戳对应时区
# 默认时区:"+0200"
# 时间戳单位,支持毫秒(ms)或秒(s)
timestampUnit: s
执行导入
使用--config
标志指定配置文件,执行数据导入:
./ultipa-importer --config import.sample.rdf.yml


映射规则
- 所有主语映射为点。
- 谓词的映射规则:
- 对象为文本值时,谓词映射为点属性名称。
- 对象在其他三元组中充当主语时,谓词映射为边。
- 对象在其他三元组中不充当主语时,将映射为属性值。
- 点schema根据主语前缀设置,并遵循以下规则:
- 空主语将被视作空点,插入default schema中。
- 缺少前缀的主语,其schema名称将从
ns0
开始生成,依次递增(如ns1
,ns2
等)。
- 缺少前缀的主语,其schema名称将从
- 空主语将被视作空点,插入default schema中。
- 边schema根据谓词前缀设置。
- 若schema名称少于2字符,系统在创建schema时会重复其名称(如,名为a的schema会更名为aa)。