在这篇文章中,我们将在图形数据库上工作,并设置构建API的所有必要连接。顾名思义,我们将在项目中使用Neo4J数据库。这个项目的整个架构都是这样的,这是对这个主题的(唯一)link提供的:
今天,我们将拆除此图的最右侧部分-Neo4J数据库和模型。基本上,我们正在使用Django框架来提供API URL以及每个URL将使用的内容。步骤如下:
- 下载并安装neo4j
- 下载cypher-shell并更新凭据
- 设置远程数据库连接
- 与django的设置数据库连接
- 操纵OGM
- 迁移数据库
1.下载并安装neo4j
访问neo4j的官方网站并下载桌面应用程序-here,然后注册一个帐户。下载时将为您提供一个激活键,在安装过程中将其复制粘贴。
2.下载cypher-shell并更新凭据
这是一个可选步骤。 Cypher Shell为您提供一个控制台,您可以像Python Shell一样编写CQL或Cypher查询语言。您可以从此处下载 - Official Download Link。
使用密码 neo4j ,免费版本中的默认图形数据库是 neo4j 。您可以使用以下命令更改密码:
ALTER USER neo4j SET PASSWORD '<new-password>';
标记此新密码,因为它需要与数据库建立连接。
3.设置远程数据库连接
-
选择neo4j,现在将显示默认的电影表。
4.与Django的设置数据库连接
首先,创建一个Django项目,然后在API的项目内创建一个应用程序。
django-admin startproject mysite
cd mysite/
python manage.py startapp yourapp
现在转到您的settings.py,然后从neomodel导入配置。使用Django设置我们的数据库是必需的。您的控制台应该看起来像这样:
转到您的设置和各个地方的以下几行:
from neomodel import config
config.DATABASE_URL = 'bolt://username:password@localhost:7687'
# you can either use bolt or neo4j for the connection type but bolt is preferable
用您的用户名和密码替换。
5.操纵OGM
摘自Django的官方文档:“创建数据模型后,Django会自动为您提供数据库abstraction API,使您可以创建,检索,更新,更新和删除对象。” - 这是ORM或对象相关映射层。用更简单的术语将其分解,Django模型就像您数据库的镜子。它使用自己的抽象层对数据库表进行建模。您的API请求通过引擎盖下的这个抽象层传递。
当我们使用图形数据库时,我们有节点而不是表和边缘来捕获关系。 Neo4J通过neo4j-ogm提供OGM或对象图映射库。要使用此信息,请首先导入字段类型并遵循以下代码:
from neomodel import StructuredNode, StringProperty, IntegerProperty,UniqueIdProperty, RelationshipTo, BooleanProperty, EmailProperty, DateTimeProperty, DateProperty, config
class NeoUser(StructuredNode):
uid = UniqueIdProperty()
username = StringProperty()
email = EmailProperty(unique_index=True)
password = StringProperty()
class NeoPosts(StructuredNode):
....
要设计这种关系,您必须像以下内容一样写(请参阅上一个博客文章中的ERD):
# Relations :
post = RelationshipTo(NeoPosts, 'CREATES')
followers = RelationshipTo('NeoUser','FOLLOWERS')
6.迁移数据库
对于Django模型,您应该运行以下命令。
python manage.py makemigrations
python manage.py migrate
但是,由于我们在此模型中制作节点,因此我们需要使用以下命令:
python manage.py install_labels
现在您可以查看创建的模型和节点,如以下图像:
就是这篇文章。在下一篇文章中,我们将学会为建立的模型构建API。我将很快发布下一部分。高度赞赏您的反馈。