Hallo zusammen
Gerade im Wiki drüber gestolpert: wie benenne ich eine Brücke oder einen Tunnel. Klar, easy: name=. Aber was, wenn die Strasse einen anderen Namen hat als die Brücke oder der Tunnel? dann ist man zur Zeit ja gearscht. Es gibt ein nettes proposal, welches relations für Brücken und Tunnels vorsieht. Hintergedanke: mehrere Fahrspuren / Röhren zu einem Tunnel zusammenfassen und entsprechende Eigenschaften vergeben. Nette Idee. Dort kommt dann auch der name-tag rein. Auch eine nette Idee. Bringt mir aber nichts, wenn bspw. - rein hypothetisch - jede einzelne Röhre noch einen eigenen Namen hat etc. Grundsätzlich ist das Problem also nicht gelöst: eine Hauptentität kann einen Namen haben (name=xy) und Eigenschaften einer Entität können auch Namen haben (Eigenschaft Tunnel einer Strasse). Gleiches gilt bspw. auch für den description tag. Dieser bezieht sich auch ganz generell auf die Entität, doch manchmal will man die description aufschlüsseln, weil sich diese bspw. nur auf einen bestimmten Teilaspekt bezieht (bspw description der website damit der Benutzer weiss, was ihn hinter dem Link eines Restaraunts erwartet; ok in diesem Fall ists klar was kommt, aber einfach zur Verdeutlichung).
Warum lösen wir das ganze nicht mit namespacing? Im Falle des Tunnels:
highway=primray und tunnel=yes; davon gehen wir bspw. mal aus.
name=foo würde den Strassennamen bezeichnen
tunnel:name=bar den Namen des Tunnels.
Dieses Konzept liesse sich auf letztlich alle tags ausweiten, sofern es Sinn macht. Bspw description, note, comment, fixme. So könnte man den fixme-tag viel spezifischer Anwenden oder Beschreibungen spezifisch auf eine bestimmte Eigenschaft beziehen. Ohne, dass man dafür neue Konstrukte einführen würde. Zudem wäre dieses Prinzip nicht nur maschinenlesbar, sondern kann auch von Menschen sehr leicht entschlüsselt und verstanden werden. Fast einfacher, als - um wieder zum obigen Beispiel zu kommen - den Namen einer Brücke aus dessen relation raus zu suchen. Namespaces sind ja bei vielen Tags schon Gang und Gäbe. Mein Vorschlag wäre einfach: das Kreieren einer Eigenschaft “namespacable” welches definiert, dass ein Tag generisch ist und nicht nur auf das Hauptobjekt sondern auch auf seine Tags angewendet werden kann. Sprich name ganz normal für das Objekt an sich (also die Strasse, das Restaurant etc.) oder für einen spezifischen Tag (z.b. die Brücke). Diese Eigenschaft könnte man dann auf die nötigen Tags anwenden, so dass der User gleich weiss: kann ich überall verwenden.
Das Konzept des namespacings wird ja schon erfolgreich an vielerlei Orten verwendet. Aber ich wünschte mir, dass es für solche generischen Dinge wie eben Name, fixme oder Beschreibung auch eingesetzt werden würde. Gäbe einem viel mehr Flexibilität und würde die Aussagekraft der Daten enorm steigern.
Was haltet ihr davon? Oder ist so was schon im Gange und ich habe es übersehen?