gpt4 book ai didi

python - 使用 rdflib 获取数据库中的所有关系

转载 作者:可可西里 更新时间:2023-11-01 10:44:07 25 4
gpt4 key购买 nike

假设我在 mongoDB 中有某种集合,我想使用 rdflib 创建具有所有可能关系的图形。例如,如果我的数据库中有 3 个条目:

FIRST{color:red, name:Ben, age: 29}
SECOND{color :blue ,name:David, age:29}
THIRD{color :blue,name:Mark,age:34}

然后 FIRST 将与 SECOND(age) 相关,THIRD 将与 SECOND(color) 相关此外,我如何将结果保存为 rdf 文件并使用一些 rdf 查看器(例如 rdf-gravity)查看它感谢您的帮助。

最佳答案

A graph database对于此应用程序,它可能是比 MongoDB 更好的工具。使用 MongoDB 执行此操作的最简单方法是执行 1+N 次查询:

# Get a cursor for the entire collection
docs = db.collection.find()

for doc in docs:
# Get all documents that have a common element
related_docs = db.collection.find({"$or": [
{"color": doc["color"]},
{"name": doc["name"]},
{"age": doc["age"]},
]})

# Record the relationships in whatever structure you're using
for related_doc in related_docs:
store_relationship(doc, related_doc)

您可以通过跟踪您已经看过的文档对并忽略重复的文档来提高效率。正如所写,您会看到每条边两次。

关于python - 使用 rdflib 获取数据库中的所有关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com