MySQL - ungerichteten Graph modellieren

Sturmrider

Erfahrenes Mitglied
Hallo zusammen :)

Ich möchte gerne einen ungerichteten Graphen mit mehreren Mio. gewichteten Kanten modellieren. Vorzugsweise in MySQL. Später möchte ich dann Beziehungen durch Kantengewichtungen untersuchen. (evtl. auch Dijkstra, Zyklensuche in Teilgraphen usw. betreiben)
Wir hatten darüber viel in der Uni, jedoch konnte mir bisher leider noch kein Prof. Auskunft darüber geben, wie man solche Dinge in Datenbanken effektiv modelliert. Auch habe ich in unserer Bib leider kein passendes Material gefunden. Darum wollte ich euch einmal fragen, ob mir hier nicht jemand evtl. Buchtipps, Skripte aus Vorlesungen, Uniseiten o.ä. empfehlen kann. (gerne auch auf Englisch - deutsche Literatur wird man hier wohl kaum finden)

Um es kurz zu machen, ich möchte eine Datenbank mit Worten und deren semantischer Beziehungen aufbauen, um dies mit einer Webseite zu verbinden. Verhaltensweisen der Benutzer sollen, die Datenbank mit Informationen versorgen. Erste Ansätze kann man Beispielsweise bei Amazon finden, wo einem angemeldeten Benutzer Artikel aufgeführt werden, die Personen gekauft haben, welche zuvor nach den selben Artikeln gesucht haben.
Oder gibt es evtl. schon irgendwie semantische Datenbanken zum downloaden? (Meine Suche nach sogenannten Tag-Maps ergab bisher leider keine Ergebnisse.)
 
Zuletzt bearbeitet:
Hi,

hab das mit den Graphen schon wieder alles vergessen.

Aber schauen wir mal:

Du hast bei nem Graph meistens einen Vorgänger und meistens einen Nachfolger.

Gibt eine Tabelle Graph mit ID, Vorgänger ID (NULL möglich) und Nachfolger ID (NULL möglich).

Dann können zwei Graphen beliebig viele gewichtete Kanten haben:

Tabelle Kanten mit ID, Start Graph und Endgraph.

Sind auch Kanten auf den selben Graphen möglich (Selfjoin)?

Chris
 
Hab nen fehler gemacht.

Du brauchst noch ne Hilfstabelle für die Graphen. Jeder graph kann ja mehre Beziehungen zu anderen Graphen haben. Das mit Vor und Nachfolger ist quatsch.

Also ich denke so sollt es gehen:

--
Tabelle Graph
ID
Name
ID Graph Beziehungen
--
Tabelle Graph-Beziehungen
ID
ID Graph
--
Tabelle Kanten
ID
ID Graphi 1
ID Graph 2

Beispiel: Graph A hat die ID 1 und eine Beziehung zu Graph B mit der ID 2.


Chris
 
Zurück