Graph Databases
from a PLM architect
Yoann Maingon
"plm enthousiat"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/842705/Me.png)
- Ingénieur ESIEE - specialized in Microelectronic
- RAKON: Process Engineer
- ACCENTURE : SAP Fi/CO Consultant
- SAGEM D&S: Process Engineer
- Minerva France : CEO & PLM Consultant
"Graphs eat the world"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/852746/neurons-440660_1280.jpg)
Social Networks
Suggest profiles for love, friendly or professional relationships
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853141/linkedin.png)
E-Commerce
Recommand products that people with similar profile have also liked
Send personalized email in a few hours for millions of consumer.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853136/amazon.png)
Path optimization
Help finding the shortest path for traffic, delivery, waste management,...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853168/mapgraph.png)
Graphs & PLM ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/852808/connect-316638_1280.jpg)
Impact Analysis
Allowing impact analysis accross different products, BOMs and multiple production and engineering sites.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853175/usecase-network-color.png)
http://neo4j.com/use-cases/
Permissions & Access rights
Allowing a more manageable granularity for permissions and access rights, with a fast execution by the software for a better user experience.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853186/usecase-iam-color.png)
http://neo4j.com/use-cases/
Multi-BOM
Context
Helps working on multi-BOM situations with a better visibility on data manipulated like in Manufacturing BOMs that are trendy.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853213/multibom.png)
Cypher
Query language for graphs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853453/cypher_pattern_simple.png)
Comparison
Cypher / SQL
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/853456/cyphersqlsample.png)
Navigate the database
MATCH (a:Part) RETURN a
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/865621/1.jpg)
Impact analysis
START a=node() MATCH a-[r]-b RETURN a,r,b
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/865624/2.jpg)
Access Management
MATCH (a:PLMUser),(b:PLMIdentity),(c:Permission) RETURN a,b,c
MATCH (a:PLMUser)-[:isPartOf*]->(b:PLMIdentity)-[:canRead]->(c:Permission)-[:definesAccessTo]->(d:Part) WHERE d.partNumber="X999" RETURN a
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/865627/3.jpg)
For more info :
- contact me
- wikipedia (always a good start)
- Read the Graph databases book
- Download neo4j and learn Cypher (or OrientDB or any other GraphDB solution from the wikipedia list of 38 projects)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/yoannmaingon/images/852851/51PvIGCwzYL.jpg)