SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Graphen  auf Linux GraphDB  + Mono  +   Linux  Daniel Kirstenpfad sones GmbH Schillerstrasse 5 04109 Leipzig
Überblick Was ist ein Graph? GraphDB von sones das Mono Projekt Anwendungsfälle Demo 2
Was ist ein Graph? Knoten + Kanten  ungerichteter Graph Beispiel: Strassenkarte Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von Beziehung Alle Beziehungen sind symetrisch 3 Knoten 1 Knoten 2 Knoten 3 Knoten 4
Was ist ein Graph? Gerichtete Kanten ergeben einen gerichteten Graphen Beispiele: Twitter, href-Beziehungen im Web Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von Beziehung Alle Beziehungen sind asymetrisch 4 Knoten 1 Knoten 2 ist Freund von ist Freund von Knoten 3 Knoten 4 ist Freund von
„Single Relational Structures“ Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spricht man von „Single Relational Structures“ 5 Knoten 1 Knoten 2 ist Freund von ist Freund von Knoten 3 Knoten 4 ist Freund von
Property Graph und Ontologien Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde Property Graph Knoten und Kanten haben key/value Properties (Attribute) 6 Name = String Gewicht = Integer Alter = Integer Name = String Datum = DateTime Sender = SenderType befreundet S01E01 Name = Homer Simpson Auftritt Name=S01E01 Datum=01.01.1991 Sender=ZDF Alter=40 Gewicht=131
Warum GraphDB? Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren 7 1 4 XML <graphml>  <graph>    <node id=1 />    <node id=2 />    <node id=3 />    <node id=4 />    <edge source=1 target=4 />    <edge source=1 target=2 />    <edge source=2 target=3 />   </graph> </graphml> 2 3 JSON {   1 : { nach : [4,2] }  2 : { nach : [3] } } SQL
Warum GraphDB? Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren Probleme:  „Teure“ JOINs (was passiert bei Milliarden von Verbindungen?) Index Lookups um herauszufinden welche Knoten verbunden sind 8 1 4 2 3
GraphDB von sones Seit 30.06.2010 OpenSource unter AGPLv3 http://github.com/sones/sones Seit dieser Woche in Version 2.0 verfügbar performante modulare GraphDB Property Graph + minimale Ontologie frei definierbare Attribute an Objekten, Vererbung von Attributen (~OOP) Offene Schnittstellen zur Plug-In Entwicklung SQL ähnliche, einfache Anfragesprache „GQL“ REST Schnittstelle (XML, JSON) leistungsfähige API mit Languagebindings für C#, Java, Javascript, PHP Platformunabhängig dank des Mono Projects 9
das Mono Projekt Open Source Implementierung der CommonLanguage Runtime (CLR) von .NET Binärkompatibel mit Microsoft.NET Open Source Implementierung des größten Teils der .NET Klassenbibliothek .NET 1.1, 2.0, 3.5, 4.0 Platformunabhängig Linux, Windows, Mac OSX, BSD, Solaris,... Unterstützung weiterer Programmiersprachen wie z.B. F# (Funktionale Programmierung) http://www.mono-project.com/ http://github.com/mono 10
GraphDB auf Mono GraphDB stellt hohe Anforderungen an Mono GarbageCollector muss performant und stabil funktionieren Viele parallel laufende Prozesse (Parallel Framework, Lock Free Data Structures,...) 11
Monospace Conference  23. – 25. Juli 2011 Boston, USA http://monospace.us 12
Beispiel: „Wortschatz Leipzig“ Relationale Datenbank vs. GraphDB Über 26 Mio. Rows in 4 Tabellen sind reine Relationendaten 13
Beispiel: „Wortschatz Leipzig“ 14 MySQL Query SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10;
Beispiel: „Wortschatz Leipzig“ 15 MySQL Query SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10; GQL Query FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’;
Demos 16 DEMO Social Network
Vielen Dank! 17 Daniel Kirstenpfad Gründer / CTO Tel.: +49 (0)361/ 3026 250 info@sones.de sones GmbH HQ Schillerstrasse 5 04109 Leipzig Germany Web: www.sones.com Mail: info@sones.de Tel.: +49 (0)341 39 29 68 0 Fax: +49 (0)361/ 2445 008 sones GmbH R&D Eugen-Richter-Straße 44 99085 Erfurt Germany Web: www.sones.com Mail: info@sones.de Tel.: +49 (0)361/ 3026 250 Fax: +49 (0)361/ 2445 008 17

Weitere ähnliche Inhalte

Andere mochten auch

Interaktive Bildungssendungen - Dossenheim zur Kreidezeit
Interaktive Bildungssendungen - Dossenheim zur KreidezeitInteraktive Bildungssendungen - Dossenheim zur Kreidezeit
Interaktive Bildungssendungen - Dossenheim zur KreidezeitFriedrich - A. Ittner
 
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertieb
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und VertiebJeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertieb
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertiebnet-clipping
 
Quietschfidelselig ins Glück
Quietschfidelselig ins Glück Quietschfidelselig ins Glück
Quietschfidelselig ins Glück soundsfoolish
 
Strategisches marketing einführung
Strategisches marketing einführungStrategisches marketing einführung
Strategisches marketing einführungFlodur
 
Service zukunftsfähig machen - Vortrag
Service zukunftsfähig machen - VortragService zukunftsfähig machen - Vortrag
Service zukunftsfähig machen - VortragDirk Zimmermann
 

Andere mochten auch (7)

Interaktive Bildungssendungen - Dossenheim zur Kreidezeit
Interaktive Bildungssendungen - Dossenheim zur KreidezeitInteraktive Bildungssendungen - Dossenheim zur Kreidezeit
Interaktive Bildungssendungen - Dossenheim zur Kreidezeit
 
Verda mppt
Verda mpptVerda mppt
Verda mppt
 
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertieb
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und VertiebJeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertieb
Jeden Tag neue Chancen: Social Media Monitoring für Marketing und Vertieb
 
Quietschfidelselig ins Glück
Quietschfidelselig ins Glück Quietschfidelselig ins Glück
Quietschfidelselig ins Glück
 
Strategisches marketing einführung
Strategisches marketing einführungStrategisches marketing einführung
Strategisches marketing einführung
 
Ana2
Ana2Ana2
Ana2
 
Service zukunftsfähig machen - Vortrag
Service zukunftsfähig machen - VortragService zukunftsfähig machen - Vortrag
Service zukunftsfähig machen - Vortrag
 

Ähnlich wie sones GraphDB + Mono + Linux

Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017
Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017
Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017MongoDB
 
sones graph db in .net .net - usergroup leipzig
sones graph db in .net   .net - usergroup leipzigsones graph db in .net   .net - usergroup leipzig
sones graph db in .net .net - usergroup leipzigDaniel Kirstenpfad
 
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter Daten
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter DatenNoSQL - Neue Ansätze zur Verwaltung unstrukturierter Daten
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter DatenMartin Junghanns
 
Linked Open Data in digitalen Bibliotheken
Linked Open Data in digitalen BibliothekenLinked Open Data in digitalen Bibliotheken
Linked Open Data in digitalen BibliothekenAlexander Haffner
 
Open Source Software zur Verarbeitung und Analyse von Metadatenmanagement
Open Source Software zur Verarbeitung und Analyse von MetadatenmanagementOpen Source Software zur Verarbeitung und Analyse von Metadatenmanagement
Open Source Software zur Verarbeitung und Analyse von MetadatenmanagementMagnus Pfeffer
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open ProjectsKai Eckert
 
20110505 linked openeuropeanalswt2011
20110505 linked openeuropeanalswt201120110505 linked openeuropeanalswt2011
20110505 linked openeuropeanalswt2011Stefan Gradmann
 
Die freie Programmiersprache Python
Die freie Programmiersprache Python Die freie Programmiersprache Python
Die freie Programmiersprache Python Andreas Schreiber
 
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...flimm
 
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...flimm
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Jakob .
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine ÜbersichtJürgen Gutsch
 
GraphTalk - Semantische Netze mit structr
GraphTalk - Semantische Netze mit structrGraphTalk - Semantische Netze mit structr
GraphTalk - Semantische Netze mit structrNeo4j
 
Swissbib lausanne
Swissbib lausanneSwissbib lausanne
Swissbib lausanneSchaad
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinAndreas Jung
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...Robin Sedlaczek
 

Ähnlich wie sones GraphDB + Mono + Linux (20)

Linked Library Data & RDA
Linked Library Data & RDALinked Library Data & RDA
Linked Library Data & RDA
 
Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017
Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017
Back to Basics Webinar-1 Einführung in NoSQL Deutsch 2017
 
sones graph db in .net .net - usergroup leipzig
sones graph db in .net   .net - usergroup leipzigsones graph db in .net   .net - usergroup leipzig
sones graph db in .net .net - usergroup leipzig
 
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter Daten
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter DatenNoSQL - Neue Ansätze zur Verwaltung unstrukturierter Daten
NoSQL - Neue Ansätze zur Verwaltung unstrukturierter Daten
 
Linked Open Data in digitalen Bibliotheken
Linked Open Data in digitalen BibliothekenLinked Open Data in digitalen Bibliotheken
Linked Open Data in digitalen Bibliotheken
 
Open Source Software zur Verarbeitung und Analyse von Metadatenmanagement
Open Source Software zur Verarbeitung und Analyse von MetadatenmanagementOpen Source Software zur Verarbeitung und Analyse von Metadatenmanagement
Open Source Software zur Verarbeitung und Analyse von Metadatenmanagement
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open Projects
 
20110505 linked openeuropeanalswt2011
20110505 linked openeuropeanalswt201120110505 linked openeuropeanalswt2011
20110505 linked openeuropeanalswt2011
 
Die freie Programmiersprache Python
Die freie Programmiersprache Python Die freie Programmiersprache Python
Die freie Programmiersprache Python
 
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...
Der Kölner UniversitätsGesamtkatalog - Praktischer Einsatz des KUG mit OpenBi...
 
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...
Linked Open Data und die Open Library - Möglichkeiten der Zusammenarbeit und ...
 
Ia 2009
Ia 2009Ia 2009
Ia 2009
 
Ia 2009
Ia 2009Ia 2009
Ia 2009
 
User Interface Patterns at IA09 Conference
User Interface Patterns at IA09 Conference User Interface Patterns at IA09 Conference
User Interface Patterns at IA09 Conference
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
 
GraphTalk - Semantische Netze mit structr
GraphTalk - Semantische Netze mit structrGraphTalk - Semantische Netze mit structr
GraphTalk - Semantische Netze mit structr
 
Swissbib lausanne
Swissbib lausanneSwissbib lausanne
Swissbib lausanne
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
 

sones GraphDB + Mono + Linux

  • 1. Graphen auf Linux GraphDB + Mono + Linux Daniel Kirstenpfad sones GmbH Schillerstrasse 5 04109 Leipzig
  • 2. Überblick Was ist ein Graph? GraphDB von sones das Mono Projekt Anwendungsfälle Demo 2
  • 3. Was ist ein Graph? Knoten + Kanten  ungerichteter Graph Beispiel: Strassenkarte Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von Beziehung Alle Beziehungen sind symetrisch 3 Knoten 1 Knoten 2 Knoten 3 Knoten 4
  • 4. Was ist ein Graph? Gerichtete Kanten ergeben einen gerichteten Graphen Beispiele: Twitter, href-Beziehungen im Web Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von Beziehung Alle Beziehungen sind asymetrisch 4 Knoten 1 Knoten 2 ist Freund von ist Freund von Knoten 3 Knoten 4 ist Freund von
  • 5. „Single Relational Structures“ Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spricht man von „Single Relational Structures“ 5 Knoten 1 Knoten 2 ist Freund von ist Freund von Knoten 3 Knoten 4 ist Freund von
  • 6. Property Graph und Ontologien Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde Property Graph Knoten und Kanten haben key/value Properties (Attribute) 6 Name = String Gewicht = Integer Alter = Integer Name = String Datum = DateTime Sender = SenderType befreundet S01E01 Name = Homer Simpson Auftritt Name=S01E01 Datum=01.01.1991 Sender=ZDF Alter=40 Gewicht=131
  • 7. Warum GraphDB? Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren 7 1 4 XML <graphml> <graph> <node id=1 /> <node id=2 /> <node id=3 /> <node id=4 /> <edge source=1 target=4 /> <edge source=1 target=2 /> <edge source=2 target=3 /> </graph> </graphml> 2 3 JSON { 1 : { nach : [4,2] } 2 : { nach : [3] } } SQL
  • 8. Warum GraphDB? Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren Probleme: „Teure“ JOINs (was passiert bei Milliarden von Verbindungen?) Index Lookups um herauszufinden welche Knoten verbunden sind 8 1 4 2 3
  • 9. GraphDB von sones Seit 30.06.2010 OpenSource unter AGPLv3 http://github.com/sones/sones Seit dieser Woche in Version 2.0 verfügbar performante modulare GraphDB Property Graph + minimale Ontologie frei definierbare Attribute an Objekten, Vererbung von Attributen (~OOP) Offene Schnittstellen zur Plug-In Entwicklung SQL ähnliche, einfache Anfragesprache „GQL“ REST Schnittstelle (XML, JSON) leistungsfähige API mit Languagebindings für C#, Java, Javascript, PHP Platformunabhängig dank des Mono Projects 9
  • 10. das Mono Projekt Open Source Implementierung der CommonLanguage Runtime (CLR) von .NET Binärkompatibel mit Microsoft.NET Open Source Implementierung des größten Teils der .NET Klassenbibliothek .NET 1.1, 2.0, 3.5, 4.0 Platformunabhängig Linux, Windows, Mac OSX, BSD, Solaris,... Unterstützung weiterer Programmiersprachen wie z.B. F# (Funktionale Programmierung) http://www.mono-project.com/ http://github.com/mono 10
  • 11. GraphDB auf Mono GraphDB stellt hohe Anforderungen an Mono GarbageCollector muss performant und stabil funktionieren Viele parallel laufende Prozesse (Parallel Framework, Lock Free Data Structures,...) 11
  • 12. Monospace Conference 23. – 25. Juli 2011 Boston, USA http://monospace.us 12
  • 13. Beispiel: „Wortschatz Leipzig“ Relationale Datenbank vs. GraphDB Über 26 Mio. Rows in 4 Tabellen sind reine Relationendaten 13
  • 14. Beispiel: „Wortschatz Leipzig“ 14 MySQL Query SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10;
  • 15. Beispiel: „Wortschatz Leipzig“ 15 MySQL Query SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10; GQL Query FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’;
  • 16. Demos 16 DEMO Social Network
  • 17. Vielen Dank! 17 Daniel Kirstenpfad Gründer / CTO Tel.: +49 (0)361/ 3026 250 info@sones.de sones GmbH HQ Schillerstrasse 5 04109 Leipzig Germany Web: www.sones.com Mail: info@sones.de Tel.: +49 (0)341 39 29 68 0 Fax: +49 (0)361/ 2445 008 sones GmbH R&D Eugen-Richter-Straße 44 99085 Erfurt Germany Web: www.sones.com Mail: info@sones.de Tel.: +49 (0)361/ 3026 250 Fax: +49 (0)361/ 2445 008 17