书籍管理图
目标
该 graphgist 的目的是对书籍信息进行排序。这个想法可以被书籍管理系统、内容推荐系统等使用。首先,介绍了设计的數據模型。接下来,加载示例数据并运行示例 Cypher 查询以展示该模型的应用。
数据模型
Book
概念是模型的核心,其他实体及其关系描述了它。该模型包含以下域和关系
域 | 属性 | 示例 |
---|---|---|
Book |
title - 原始 |
哈利·波特与魔法石 |
Book Series |
title |
哈利·波特 |
Keyword |
name |
魔法,学生 |
Genre |
name |
奇幻,神秘 |
Person |
name, surname |
J. K. 罗琳 |
Translation |
title - 翻译 |
哈利·波特与魔法石 |
Language |
name |
英语,法语 |
EBook |
link |
linkToHarryPotterEBook |
Review |
link |
linkToReview1, linkToReview2 |
Movie |
title |
哈利·波特与魔法石 |
Time |
世纪,年,季节,日期 |
1997, |
Place |
洲,国家,城市名称,地址 |
美国,英国 |
Publishing House |
name |
布鲁姆斯伯里出版社,亚瑟·A·莱文图书 |
起始节点 | 关系 | 结束节点 | 示例 |
---|---|---|---|
Book |
IS_PART_OF |
Book Series |
哈利·波特与魔法石 IS_PART_OF (顺序号:1) 哈利·波特 |
Book |
DESCRIBED_BY |
Keyword |
哈利·波特与魔法石 DESCRIBED_BY 魔法 |
Book |
OF_TYPE |
Genre |
哈利·波特与魔法石 OF_TYPE 奇幻 |
Book |
WRITTEN_BY |
Person |
哈利·波特与魔法石 WRITTEN_BY J. K. 罗琳 |
Book |
TRANSLATED_TO |
Translation |
哈利·波特与魔法石 TRANSLATED_TO 哈利·波特与魔法石 |
Book |
HAS_ORIGINAL_LANGUAGE |
Language |
哈利·波特与魔法石 HAS_ORIGINAL_LANGUAGE 英语 |
Translation |
OF_LANGUAGE |
Language |
哈利·波特与魔法石 OF_LANGUAGE 法语 |
Translation |
MADE_BY |
Person |
哈利·波特与魔法石 MADE_BY 让-弗朗索瓦·梅纳德 |
Book |
HAS_E_VERSION |
EBook |
哈利·波特与魔法石 HAS_E_VERSION eHarryPotter |
Translation |
HAS_E_VERSION |
EBook |
哈利·波特与魔法石 HAS_E_VERSION eHarryPotterInFrench |
Book |
HAS_REVIEW |
Review |
哈利·波特与魔法石 HAS_REVIEW review1 |
Book |
MADE_INTO |
Movie |
哈利·波特与魔法石 MADE_INTO 哈利·波特与魔法石 |
Book |
WHEN_ACTION |
Time |
哈利·波特与魔法石 WHEN_ACTION XX 世纪 |
Book |
WHEN_PUBLISHED |
Time |
哈利·波特与魔法石 WHEN_PUBLISHED 1997 |
Book |
WHERE_ACTION |
Place |
哈利·波特与魔法石 WHERE_ACTION 伦敦 |
Book |
WHERE_PUBLISHED |
Place |
哈利·波特与魔法石 WHERE_PUBLISHED 英国 |
Book |
PUBLISHED_BY |
Publishing House |
哈利·波特与魔法石 PUBLISHED_BY 布鲁姆斯伯里出版社 |
图数据上传
首先,测试数据被添加到数据库中。
上传的数据包含以下书籍及其相关信息
-
哈利·波特与魔法石 由 J. K. 罗琳用英语创作,是哈利·波特系列的一部分。它于 1997 年由布鲁姆斯伯里出版社和亚瑟·A·莱文图书出版。这本书被翻译成多种语言,包括法语。此外,还有一部根据这本书改编的电影。故事发生在当代的伦敦。描述这部电影的关键词:魔法,学生。
-
偷书贼 由马库斯·祖萨克用英语创作。它于 2005 年首次由澳大利亚的皮卡多出版社出版。故事发生在 20 世纪的纳粹德国。此外,还有一部根据这本书改编的电影。描述这部电影的关键词:死亡,学生,犹太教。
-
汤姆·索亚历险记 由马克·吐温用英语创作。它于 1876 年在美国由美国出版公司出版。故事发生在美国。描述这部电影的关键词:男孩,儿童小说,变化,心理学。
应用程序
下面的数据模型和查询能够根据多种标准检索书籍信息。
查找类型为“小说”的书籍
MATCH (b:Book)-[:OF_TYPE]->(:Genre{name:'novel'}),
b-[:DESCRIBED_BY]->(k:Keyword)
RETURN b.title AS book, collect(k.name) as keywords
ORDER BY b.title
查找由“布鲁姆斯伯里出版社”出版的书籍
MATCH (b:Book)-[:PUBLISHED_BY]->(:PublishingHouse{name:'Bloomsbury Publishing'}),
b-[:WHEN_PUBLISHED]->(t:Time),
b-[:WHERE_PUBLISHED]->(p:Place)
RETURN b.title AS book, t.year as time, p.country as place
ORDER BY t DESC, b.title
查找故事发生在“德国”20 世纪的书籍
MATCH (b:Book)-[:WHERE_ACTION]->(:Place{country:'Germany'}),
b-[:WHEN_ACTION]->(:Time{century:'XX'})
RETURN b.title AS book
ORDER BY b.title
总结
所呈现的模型是可扩展的:可以添加关于其他内容的信息,例如,与特定书籍相对应的电影、有声读物、电脑游戏。这些排序信息构成了关于书籍的知识库,可用于搜索特定内容或内容推荐。可以添加一个以经典社交网络形式存在的额外层,以实现根据个人阅读口味对个人进行画像、寻找相似的人(根据其阅读口味)等功能。该模型也可以用于证明对该领域进行图模型和查询比使用关系型数据库要容易得多。
此页面是否有帮助?