本文转载自:https://blog.csdn.net/u013710265/article/details/72802802
<https://blog.csdn.net/u013710265/article/details/72802802>
            http://www.cnblogs.com/gardenofsjw/p/6921212.html
<http://www.cnblogs.com/gardenofsjw/p/6921212.html>  
一、图数据模型
(1)图的概念
G=(V,E):V为顶点的集合,E为边的集合。
有向图:边有方向
无向图:边没有方向;可以用有向图表达无向图:每条无向边->2条有向边。
(2)图数据存储系统

存储图顶点和边,提供顶点和边的查询。


二、Neo4j
(1)概念
Native graph database:采用自定义的结构在本地硬盘存储图,而不是存在数据库关系型表中。
开源Java实现。
(2)Neo4j存储
顶点:称为node
边:称为relationship
顶点和边上可以存储多个key-value值,称为property。
(3)Neo4j使用
Cypher:Declarative query language
Traversal:Embedded Java lib
(4)Cypher用法
Node:
 
Relationship:
 
Create:
 
Match:
 
(5)文件存储

  +Node.Relationship.Property 都放在一起存储,有unique id

  +relationship 同一个node的relationship是双向链表,指针为relationship id,node
存储第一个的id,每个relationship可能有多个     property。

  +Property 是单项链表,链表第一个存在与对应的node/relationship中

 
+Neo4j对node.relathionship.property缓冲,property以key-value形式附加在node/relationship上

ACID:

  定义了transaction概念,采用类似snapshot
isolation机制,一个transaction首先保存起来,直到transaction.finish()尝试真正修    
改。采用多副本,主副本把transaction log发送到从副本,从副本replay log执行同样操作。 

  






 

三、RDF和Sparql 

  Resource Description Framework:w3c标准,广泛用于语义网络。每个RDF记录是三元组(subject,
predicate, object)。



  Sparql 是RDF的查询语言  ?前缀代表变量,注意“.”





友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信