On Mon, Jul 09, 2012 at 09:53:38AM +0200, Rainer Kluge wrote:
> On 09.07.2012 08:49, Jochen Topf wrote:
> >Ich sehe das anders. Relationen haben zu wenig Struktur, um Daten sinnvoll
> >zu halten und effizient verarbeitbar zu machen. Und sie modellieren die Welt
> >auf der falschen Ebene. Menschen denken nunmal nicht in Verbindungen zwischen
> >Objekten in der Art und Weise, wie Relationen das tun.
> 
> Menschen denken durchaus in Relationen. Wenn jemand sagt, dass der
> Laden X in der Hauptstrasse 47 liegt, dann meint er nichts anderes
> als: das Shop-Objekt mit name=X ist Mitglied der Building-Relation
> mit addr:street=Hauptstrasse und addr:housenumber=47.
> Nichtsdestotrotz, da gebe ich dir recht, haben die meisten Menschen
> Probleme, wenn es darum geht, diese Denkweise in Datenstrukturen
> umzusetzen.
> 
> Relationen sind eine effiziente Methode der Datenmodellierung. Sie
> vermeiden Redundanz, sind änderungsfreundlich und für Anwendungen
> einfach zu verarbeiten. Nicht umsonst sind relationale Datenbanken
> seit Jahrzehnten beliebt und verbreitet. Die Alternative zu

Die Relationen, die wir bei OSM haben, haben NICHTS mit den Relationen
zu tun, wie man sie von relationalen Datenbanken kennt. Die Relationen
bei OSM sind eben keine effiziente Methode der Datenmodellierung, sie
sind nicht änderungsfreundlich und sie sind nicht einfach zu verarbeiten.

> Relationen ist ein Bottom-Up-Ansatz, bei dem die gemeinsamen
> Eigenschaften an jedes Element gehängt werden und die Elemente über
> eine gemeinsame Kennung zusammengefasst werden. Darüber, dass wir
> das nicht wollen, herrscht sicher Konsens.

Die Alternative zu Relationen sind neue Datenstrukturen, die genau das
machen, was wir wollen.

> >Wir haben halt keine Multipolygon-Objekte, oder Site-Objekte, oder 
> >ÖPNV-Linien-Objekte.
> 
> Das sind nichts anderes als Relationen mit fest vorgegebenen
> Eigenschaften und Regeln. So etwas kann und soll man in den Editoren
> realisieren. In der Datenbank sollten wir uns die Flexibilität des
> Relationskonzepts erhalten.

Wie ich beschrieben habe, funktioniert dieser Ansatz nicht. Du kannst nicht
sicherstellen, dass alle Editoren die Daten immer in gültiger Weise editieren,
solange das die zentrale Datenbank nicht macht. Dadurch wird jeder Editor und
jeder User dieser Editoren aber immer mit der Möglichkeit konfrontiert, dass
die Daten ungültig sind, was diese "fest vorgegebenen Eigenschaften und Regeln"
angeht. Und damit sind die dann eben nicht "fest vorgegebenen". Und damit haben
wir das durcheinander, dass wir jetzt haben.

Jochen
-- 
Jochen Topf  joc...@remote.org  http://www.remote.org/jochen/  +49-721-388298


_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an