2. 2 GraphDB in .NET September 19th 2011 Was ist ein Graph? Knoten + Kanten ungerichteter Graph Beispiel: Strassenkarte Alle Beziehungen sind symetrisch Knoten 1 Knoten 2 Knoten 3 Knoten 4
3. 3 GraphDB in .NET September 19th 2011 Warum ein Graph? Knoten + Kanten ungerichteter Graph Beispiel: Strassenkarte Alle Beziehungen sind symetrisch Knoten 2 Knoten 1 Knoten 3 Knoten 4
4. 4 GraphDB in .NET September 19th 2011 Was ist ein Graph? Knoten + Kanten + Richtung gerichteter Graph Beispiel: Twitter, href-Beziehungen im Web Alle Beziehungen sind asymetrisch „Single Relational Structures“ Knoten 1 Knoten 2 Knoten 3 Knoten 4
5. 5 GraphDB in .NET September 19th 2011 Was ist ein Graph? Knoten 6 „Multiple Relational Structures“ Eine Kante repräsentiert mehr als eine Verbindung: Richtung, Name Typ Mehr Ausdrucksmöglichkeiten Knoten 5 Ist verwandt mit Feind von Knoten 1 Ist verwandt mit Knoten 2 ist Freund von Knoten 4 Knoten 3 ist Freund von
6. 6 GraphDB in .NET September 19th 2011 Was ist ein Graph? Knoten (+Attribute) + Kanten (+Attribute) = Property Graph Beispiel: Social Network der TV-Fernsehserie „Die Simpson“ Knotentypen: Auftritt, SimpsonProfile Name = String Datum = DateTime Sender = SenderType Name = String Gewicht = Integer Alter = Integer S01E01 Name = Homer Simpson Freund Auftritt Feind Name=S01E01 Datum=01.01.1991 Sender=ZDF Alter=40 Gewicht=131
7. 7 GraphDB in .NET September 19th 2011 Was ist ein Graph? Knoten (+Attribute) + (Single-/Multi-/Hyper-)Kanten (+Attribute) = Property Hypergraph Vertex Single Edge Attribute1 Attribute2 . . Vertex Vertex Single-Edge Vertex Multi-Edge Attribute1 Attribute2 . . Vertex Vertex Single-Edge Vertex Single Edge Attribute1 Attribute2 . . Multi-Edge Vertex Vertex Single-Edge Vertex Hyper Edge Attribute1 Attribute2 . . Single Edge Attribute1 Attribute2 . . Vtx Vtx Vertex Single Edge Attribute1 Attribute2 . . Hyper-Edge Vertex Vertex Vtx Vtx Vtx
8. 8 GraphDB in .NET September 19th 2011 sones GraphDB Ablage, Verwaltung, Verknüpfung und Abfrage von Graph-Daten als Hauptaufgabe Projekt gestartet 2007, OpenSource seit 2010 GraphDB von sones: Dual-Lizenzierte vollwertige Graphdatenbank mit dem Property Hypergraph Modell OpenSource (AGPLv3) und Enterprise Edition verfügbar Enterprise Edition = OpenSource + Enterprise-Plug-Ins (z.B. Solr statt Lucene) Schlüsselfeatures: Graph Query Language (GraphQL) Dynamisches Schema Mischbetrieb von schemalos und schemabehafteten Datenmodellen Objektorientierte Knoten und Kantenverwaltung (abstrakte Typen, Vererbung) Umfassende Plug-In Architektur erlaubt hohe Flexibilität (in-Memory vs. On-Disk, GraphQL vs. C# API) vollständig in C# entwickelt (und damit platformunabhängig) REST Service Schnittstelle, Remote API Integrierte Ad-Hoc Query WebShell mit Visualisierungen C#, Java, JavaScript, PHP bindings
9. 9 GraphDB in .NET September 19th 2011 Architektur sones GraphDB