據(jù)導入全攻略:從CSV到知識圖譜只需3步)
kglab數(shù)據(jù)導入全攻略從CSV到知識圖譜只需3步【免費下載鏈接】kglabGraph Data Science: an abstraction layer in Python for building knowledge graphs, integrated with popular graph libraries – atop Pandas, NetworkX, RAPIDS, RDFlib, pySHACL, PyVis, morph-kgc, pslpython, pyarrow, etc.項目地址: https://gitcode.com/gh_mirrors/kg/kglabkglab是一個基于 Python 的知識圖譜構(gòu)建抽象層庫它能讓你用極簡的代碼把 CSV、JSON、數(shù)據(jù)庫等普通數(shù)據(jù)一步步轉(zhuǎn)成標準的知識圖譜Knowledge Graph。本教程將帶你用 3 個步驟完成 kglab 數(shù)據(jù)導入從零構(gòu)建屬于自己的知識圖譜全程幾乎不用手寫復雜的 RDF 三元組。圖kglab 知識圖譜生態(tài)中涉及的技術(shù)棧從數(shù)據(jù)工程到圖算法一應(yīng)俱全為什么用 kglab 做知識圖譜數(shù)據(jù)導入傳統(tǒng)方式構(gòu)建知識圖譜需要你直接操作 RDF 三元組主語-謂語-賓語對新手極不友好。而kglab在底層封裝了 RDFLib、Pandas、NetworkX 等流行庫讓你? 用一行代碼加載多種格式Turtle、JSON-LD、Parquet、CSV? 借助 Morph-KGC 把關(guān)系型數(shù)據(jù)庫SQLite、MySQL 等映射成圖譜? 無縫銜接圖算法、可視化與 SHACL 校驗官方示例全部存放在 examples/ 目錄下其中 ex0_0.ipynb 和 ex2_0.ipynb 正是從 CSV 構(gòu)建知識圖譜的完整演示。第 1 步安裝 kglab 并創(chuàng)建知識圖譜對象 ??kglab 數(shù)據(jù)導入的第一步是搭好環(huán)境并創(chuàng)建一個圖譜容器。pip install kglab然后創(chuàng)建核心對象KnowledgeGraph它定義在 kglab/kglab.py 中是貫穿全流程的主戰(zhàn)場import kglab kg kglab.KnowledgeGraph( name my first KG, base_uri https://example.com/, )創(chuàng)建對象時你可以通過namespaces參數(shù)注入自定義的命名空間前綴如wtm:、ind:讓后續(xù)生成的三元組語義更清晰。第 2 步三種主流數(shù)據(jù)導入方式 kglab 數(shù)據(jù)導入的核心方法都集中在 kglab/serde.py 中按數(shù)據(jù)源不同可分為三類。方式一直接加載 RDF 文件最快上手如果你手里已有.ttl、.rdf或.xml格式的圖譜文件直接用load_rdf即可定義見 kglab/serde.pykg.load_rdf(data/recipes.ttl, formatttl)項目自帶的 dat/recipes.ttl 就是一個已構(gòu)建好的菜譜知識圖譜示例加載后即可查詢和分析。方式二從 CSV 文件導入本教程主角CSV 是日常數(shù)據(jù)最常見的格式。kglab 的load_csv方法見 kglab/serde.py會把 CSV 自動轉(zhuǎn)換為 RDF 并合并進當前圖譜kg.load_csv(data/recipes.csv)配合 Pandas 先行預覽數(shù)據(jù)參考 ex2_0.ipynb你就能把任意結(jié)構(gòu)化表格變成實體與關(guān)系import pandas as pd df pd.read_csv(dat/recipes.csv) df.head()方式三用 Morph-KGC 映射數(shù)據(jù)庫進階?如果你的數(shù)據(jù)在 SQLite、MySQL 等數(shù)據(jù)庫里可以借助 R2RML/RML 映射語言通過 Morph-KGC 引擎完成 kglab 數(shù)據(jù)導入。項目為此提供了完整的示例數(shù)據(jù)庫dat/student_sport.db映射文件dat/student_sport.r2rml.ttl演示教程ex2_1.ipynb映射邏輯寫在配置中然后用materialize()一鍵物化成圖譜相關(guān)說明見 morph_kgc.mdkg.materialize(config)第 3 步保存與導出知識圖譜 數(shù)據(jù)導入完成后最后一步是把內(nèi)存中的圖譜持久化方便后續(xù)復用。kglab 提供了多種序列化方式均定義在 kglab/serde.py 中方法輸出格式適用場景save_rdf_text()Turtle 文本快速預覽、調(diào)試save_rdf()任意 RDF 格式保存為 .ttl/.rdf 文件save_jsonld()JSON-LDWeb 端交換數(shù)據(jù)save_parquet()Parquet大數(shù)據(jù) / GPU 加速場景# 保存為 Turtle 文件 kg.save_rdf(output.ttl) # 以 JSON-LD 輸出給 Web 應(yīng)用 kg.save_jsonld(output.jsonld)一圖看懂 kglab 數(shù)據(jù)導入完整流程 圖kglab 從概念學習到動手實踐的數(shù)據(jù)流知識圖譜構(gòu)建是其中關(guān)鍵一環(huán)整個流程可以概括為創(chuàng)建對象 → 加載數(shù)據(jù) → 保存導出。如果你的數(shù)據(jù)量較大還可以通過use_gpusTrue參數(shù)啟用 RAPIDS 的 GPU 加速讓大規(guī)模圖譜構(gòu)建快人一步。小結(jié)3 步完成 kglab 數(shù)據(jù)導入 準備環(huán)境pip install kglab創(chuàng)建KnowledgeGraph對象導入數(shù)據(jù)RDF 文件用load_rdfCSV 用load_csv數(shù)據(jù)庫用 Morph-KGC保存導出用save_rdf/save_jsonld/save_parquet持久化成果從 dat/recipes.csv 到完整的知識圖譜全程只需這 3 步。想要深入練習直接打開 examples/ex0_0.ipynb 邊看邊跑你也能快速上手知識圖譜的構(gòu)建【免費下載鏈接】kglabGraph Data Science: an abstraction layer in Python for building knowledge graphs, integrated with popular graph libraries – atop Pandas, NetworkX, RAPIDS, RDFlib, pySHACL, PyVis, morph-kgc, pslpython, pyarrow, etc.項目地址: https://gitcode.com/gh_mirrors/kg/kglab創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考