SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Henning Rauch
                                   Henning@RauchEntwicklung.biz




         Introduction to graph databases




Kickoff research project
TU-Ilmenau 11/2011

                                                             1
Agenda


●   Introduction
●   Graph databases
●   Pros
●   Cons
●   Use cases
●   Sones GraphDB


                           2
Introduction – /me

●   Studied computer science at TU-Ilmenau
●   02/2009 – 11/2010 sones core developer of the
    sones GraphDB
    ●   GraphQL
    ●   Type-Management
●   11/2010 – 11/2011 sones Head of R&D
    ●   Design of v2
    ●   Refactoring of v1 → v2 (de-facto rewrite)
●   11/2011 – now NoSQL freelancer & visiting lecturer


                                                              3
Introduction – Current situation

●   Data-intensive, complex and distributed applications
    ●   Semantic web
    ●   Recommendation systems
    ●   Social networks
●   Similarities
    ●   Strong connected data in large amounts
    ●   Complex structures
    ●   Continuous growth in data volume
    ●   Mix of structured and non-structured (schema-less) data




                                                                  4
Introduction – Example




http://www.facebook.com/press/info.php?statistics



                                                                        5
Introduction – Challenges

●   Recursive connected information as a new design
    goal
●   Simple management of structured, semi-
    structured and unstructured data
●   Replication
●   Versioning
●   Efficient partitioning of data
●   Graph oriented operations


                                                      6
Graph databases – Data model

●   Graph G(V,E)
    ●   V – Vertices
    ●   E – Edges




         Vertex                  Vertex
           0                       1




                                            7
Graph databases – Data model



                  Stuttgart


              m               63
                                 3
           3k                        km
         38



                  260 km
Jena                                      Berlin



                                                   8
Graph databases – Property graph

●   Extension of the graph data model
    ●   Additional properties on vertices and edges
    ●   The properties are key/value pairs (Age:23)
    ●   Keys are specified by the schema of the vertex type



        Name: Alice                              Name: Bob
           ID: 0
                       CommunicatesWith            ID: 1
          Age: 23         Encrypted : true        Age: 42
                           Method : RSA




                                                              9
Graph databases – Property graph

Name: TU                                                                                           Name: Uni
 Ilmenau               StudiesIn                                                                    Stuttgart
                                                  Name: Carol
                       Since: 20
                                 07                  ID: 3
                                                    Age: 18
   Stu ce: 20




                                                                      Co
    Sin




                                                                                                              0
                                                                    En mm




                                                                                                   Since: 201
                                                                                                   StudiesIn
      die




                                       f ter                          cr
                                     eO S i s                            yp uni
         sIn 4




                                  tiv :                                    te c a
                                la ree                                       d:       t
                                                                                fa e s W
              0




                              Re eg                                               ls e
                                D                                                       it   h




         Name: Alice                                                                             Name: Bob
                                                CommunicatesWith
           ID: 0                                                                                   ID: 1
                                                  Encrypted: true
          Age: 23                                                                                 Age: 42
                                                   Method: RSA




                                                                                                                  10
Graph databases – Definition

  A graph database is a database that uses graph
  structures with nodes, edges, and properties to
  represent and store information. General graph
databases that can store any graph are distinct from
 specialized graph databases such as triplestores
              and network databases.
                                 http://en.wikipedia.org/wiki/Graph_database




                                                                               11
Pros – Data model

●   Explicit data model
●   Direct mapping of real world network
    structures




                                           12
Pros – Efficient graph traversal

●   The most important operation of graph
    databases
●   Recursive search for vertices/edges with
    certain properties
●   Finding paths in graphs
●   GraphDB is able to do ~80M vertex-
    traversals per second


                                               13
Pros – Index-free adjacency

●   Relations (edges) are directly modeled on the
    vertex → no need for an additional mapping
●   No need for a global index for relations
●   Data locality → adjacent vertices can be
    persisted "close together" (efficient storage)
●   → The vertex-traversal performance is
    independent from the size of the graph



                                                     14
Cons

●   In general the import is slower than in
    RDBMS
●   Relatively new technology
●   Lack of standards




                                                 15
Use cases

●   Rating of websites in search engines –
    Page rank
●   Who knows-who in social networks –
    Shortest path
●   Recommendation systems – Bipartite
    matching
●   ...


                                             16
Sones GraphDB – Overview

●   http://www.sones.com
●   Object-oriented graph database
●   Property-Hypergraph data model
●   Written in C# (97%)
●   C# embedded/remote API
●   GraphQL
●   Non-persistent OSE and proprietary persistent
    GraphFS



                                                    17
Sones GraphDB – Architecture




                           18
Sones GraphDB – Architecture




                           19
Sones GraphDB – GraphQL

// define Vertex Type
CREATE VERTEX User
 ADD ATTRIBUTES (String Name, SET<User> Friends)
 INDICES (Name)


// add vertices Alice and Bob
 INSERT INTO User VALUES (Name = "Alice", Age = 23)
 INSERT INTO User VALUES (Name = "Bob", Age = 42)


// add edges between Alice and Bob
 LINK User(Name = ‘Alice') VIA Friends TO User(Name = ‘Bob')
 LINK User(Name = ‘Bob') VIA Friends TO User(Name = ‘Alice‘)

                                                               20
Sones GraphDB – HowTo run it

●   Windows: Install Visual Studio (professional
    and higher) or MonoDevelop
●   Linux: Install mono-complete and MonoDevelop
●   Download the source from
    https://github.com/cosh/sones
●   Open the „CoreDeveloper.sln“
●   Have phun



                                                   21
Sones GraphDB – Documentation
●   Blog: http://developers.sones.de/
●   Wiki: http://developers.sones.de/wiki/doku.php
●   Forum: http://forum.sones.de/
●   BugTracking: http://jira.sones.de/
●   The fastest way to information: /me :)




                                                     22
Graph visualization

●   http://gephi.org/screenshots/
●   http://mbostock.github.com/d3/
●   http://www.fluidops.net/information-workbench/




                                                     23

Contenu connexe

Similaire à Kickoff research project TU Ilmenau

Bekas for cognitive_speaker_series
Bekas for cognitive_speaker_seriesBekas for cognitive_speaker_series
Bekas for cognitive_speaker_seriesdiannepatricia
 
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018Calin Constantinov
 
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data Science
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data ScienceAI, Knowledge Representation and Graph Databases -
 Key Trends in Data Science
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data ScienceOptum
 
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real WorldAchim Friedland
 
The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonKrishna Sankar
 
The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012OSCON Byrum
 
DHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsDHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsdbildh
 
LinkedUp - Linked Data & Education
LinkedUp - Linked Data & EducationLinkedUp - Linked Data & Education
LinkedUp - Linked Data & EducationStefan Dietze
 
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 20072009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007Marc Smith
 
Neo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpNeo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpAdrian Ziegler
 
Descobrindo o tesouro escondido nos seus dados usando grafos.
Descobrindo o tesouro escondido nos seus dados usando grafos.Descobrindo o tesouro escondido nos seus dados usando grafos.
Descobrindo o tesouro escondido nos seus dados usando grafos.Ana Appel
 
Indexing data on the web a comparison of schema level indices for data search
Indexing data on the web a comparison of schema level indices for data searchIndexing data on the web a comparison of schema level indices for data search
Indexing data on the web a comparison of schema level indices for data searchTill Blume
 
Mining Social Graph Data
Mining Social Graph DataMining Social Graph Data
Mining Social Graph DataDrew Conway
 
Knowledge Graph Introduction
Knowledge Graph IntroductionKnowledge Graph Introduction
Knowledge Graph IntroductionSören Auer
 
Big data and SP Theory of Intelligence
Big data and SP Theory of IntelligenceBig data and SP Theory of Intelligence
Big data and SP Theory of IntelligenceVarsha Prabhakar
 

Similaire à Kickoff research project TU Ilmenau (18)

Bekas for cognitive_speaker_series
Bekas for cognitive_speaker_seriesBekas for cognitive_speaker_series
Bekas for cognitive_speaker_series
 
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
 
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data Science
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data ScienceAI, Knowledge Representation and Graph Databases -
 Key Trends in Data Science
AI, Knowledge Representation and Graph Databases -
 Key Trends in Data Science
 
NISO Forum, Denver, Sept. 24, 2012: Opening Keynote: The Many and the One: BC...
NISO Forum, Denver, Sept. 24, 2012: Opening Keynote: The Many and the One: BC...NISO Forum, Denver, Sept. 24, 2012: Opening Keynote: The Many and the One: BC...
NISO Forum, Denver, Sept. 24, 2012: Opening Keynote: The Many and the One: BC...
 
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
 
The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & Python
 
The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012
 
DHHT - Modeling beyond plain graphs
DHHT - Modeling beyond plain graphsDHHT - Modeling beyond plain graphs
DHHT - Modeling beyond plain graphs
 
DHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsDHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphs
 
LinkedUp - Linked Data & Education
LinkedUp - Linked Data & EducationLinkedUp - Linked Data & Education
LinkedUp - Linked Data & Education
 
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 20072009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
 
Neo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpNeo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExp
 
Descobrindo o tesouro escondido nos seus dados usando grafos.
Descobrindo o tesouro escondido nos seus dados usando grafos.Descobrindo o tesouro escondido nos seus dados usando grafos.
Descobrindo o tesouro escondido nos seus dados usando grafos.
 
Indexing data on the web a comparison of schema level indices for data search
Indexing data on the web a comparison of schema level indices for data searchIndexing data on the web a comparison of schema level indices for data search
Indexing data on the web a comparison of schema level indices for data search
 
Mining Social Graph Data
Mining Social Graph DataMining Social Graph Data
Mining Social Graph Data
 
Knowledge Graph Introduction
Knowledge Graph IntroductionKnowledge Graph Introduction
Knowledge Graph Introduction
 
Big data and SP Theory of Intelligence
Big data and SP Theory of IntelligenceBig data and SP Theory of Intelligence
Big data and SP Theory of Intelligence
 
"Graph Convolution for Multimodal Information Extraction from Visually Rich D...
"Graph Convolution for Multimodal Information Extraction from Visually Rich D..."Graph Convolution for Multimodal Information Extraction from Visually Rich D...
"Graph Convolution for Multimodal Information Extraction from Visually Rich D...
 

Dernier

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Dernier (20)

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Kickoff research project TU Ilmenau

  • 1. Henning Rauch Henning@RauchEntwicklung.biz Introduction to graph databases Kickoff research project TU-Ilmenau 11/2011 1
  • 2. Agenda ● Introduction ● Graph databases ● Pros ● Cons ● Use cases ● Sones GraphDB 2
  • 3. Introduction – /me ● Studied computer science at TU-Ilmenau ● 02/2009 – 11/2010 sones core developer of the sones GraphDB ● GraphQL ● Type-Management ● 11/2010 – 11/2011 sones Head of R&D ● Design of v2 ● Refactoring of v1 → v2 (de-facto rewrite) ● 11/2011 – now NoSQL freelancer & visiting lecturer 3
  • 4. Introduction – Current situation ● Data-intensive, complex and distributed applications ● Semantic web ● Recommendation systems ● Social networks ● Similarities ● Strong connected data in large amounts ● Complex structures ● Continuous growth in data volume ● Mix of structured and non-structured (schema-less) data 4
  • 6. Introduction – Challenges ● Recursive connected information as a new design goal ● Simple management of structured, semi- structured and unstructured data ● Replication ● Versioning ● Efficient partitioning of data ● Graph oriented operations 6
  • 7. Graph databases – Data model ● Graph G(V,E) ● V – Vertices ● E – Edges Vertex Vertex 0 1 7
  • 8. Graph databases – Data model Stuttgart m 63 3 3k km 38 260 km Jena Berlin 8
  • 9. Graph databases – Property graph ● Extension of the graph data model ● Additional properties on vertices and edges ● The properties are key/value pairs (Age:23) ● Keys are specified by the schema of the vertex type Name: Alice Name: Bob ID: 0 CommunicatesWith ID: 1 Age: 23 Encrypted : true Age: 42 Method : RSA 9
  • 10. Graph databases – Property graph Name: TU Name: Uni Ilmenau StudiesIn Stuttgart Name: Carol Since: 20 07 ID: 3 Age: 18 Stu ce: 20 Co Sin 0 En mm Since: 201 StudiesIn die f ter cr eO S i s yp uni sIn 4 tiv : te c a la ree d: t fa e s W 0 Re eg ls e D it h Name: Alice Name: Bob CommunicatesWith ID: 0 ID: 1 Encrypted: true Age: 23 Age: 42 Method: RSA 10
  • 11. Graph databases – Definition A graph database is a database that uses graph structures with nodes, edges, and properties to represent and store information. General graph databases that can store any graph are distinct from specialized graph databases such as triplestores and network databases. http://en.wikipedia.org/wiki/Graph_database 11
  • 12. Pros – Data model ● Explicit data model ● Direct mapping of real world network structures 12
  • 13. Pros – Efficient graph traversal ● The most important operation of graph databases ● Recursive search for vertices/edges with certain properties ● Finding paths in graphs ● GraphDB is able to do ~80M vertex- traversals per second 13
  • 14. Pros – Index-free adjacency ● Relations (edges) are directly modeled on the vertex → no need for an additional mapping ● No need for a global index for relations ● Data locality → adjacent vertices can be persisted "close together" (efficient storage) ● → The vertex-traversal performance is independent from the size of the graph 14
  • 15. Cons ● In general the import is slower than in RDBMS ● Relatively new technology ● Lack of standards 15
  • 16. Use cases ● Rating of websites in search engines – Page rank ● Who knows-who in social networks – Shortest path ● Recommendation systems – Bipartite matching ● ... 16
  • 17. Sones GraphDB – Overview ● http://www.sones.com ● Object-oriented graph database ● Property-Hypergraph data model ● Written in C# (97%) ● C# embedded/remote API ● GraphQL ● Non-persistent OSE and proprietary persistent GraphFS 17
  • 18. Sones GraphDB – Architecture 18
  • 19. Sones GraphDB – Architecture 19
  • 20. Sones GraphDB – GraphQL // define Vertex Type CREATE VERTEX User ADD ATTRIBUTES (String Name, SET<User> Friends) INDICES (Name) // add vertices Alice and Bob INSERT INTO User VALUES (Name = "Alice", Age = 23) INSERT INTO User VALUES (Name = "Bob", Age = 42) // add edges between Alice and Bob LINK User(Name = ‘Alice') VIA Friends TO User(Name = ‘Bob') LINK User(Name = ‘Bob') VIA Friends TO User(Name = ‘Alice‘) 20
  • 21. Sones GraphDB – HowTo run it ● Windows: Install Visual Studio (professional and higher) or MonoDevelop ● Linux: Install mono-complete and MonoDevelop ● Download the source from https://github.com/cosh/sones ● Open the „CoreDeveloper.sln“ ● Have phun 21
  • 22. Sones GraphDB – Documentation ● Blog: http://developers.sones.de/ ● Wiki: http://developers.sones.de/wiki/doku.php ● Forum: http://forum.sones.de/ ● BugTracking: http://jira.sones.de/ ● The fastest way to information: /me :) 22
  • 23. Graph visualization ● http://gephi.org/screenshots/ ● http://mbostock.github.com/d3/ ● http://www.fluidops.net/information-workbench/ 23