Webstruktur als Hyperbolic Tree

Ideen und Vorschläge sind willkommen.

Webstruktur als Hyperbolic Tree

Beitragvon maatin » Fr Nov 21, 2008 10:36 pm

Servus,

neulich habe ich eine Visualisierung von Daten über einen Hyperbolic-Tree gesehen. Fand ich sehr gut - wäre doch ein nettes Gimmik und für die Darstellung der Webstruktur ideal oder um sich darüber von Link zu Link zu hangeln.
Bsp: http://hypertree.woot.com.ar/

Gruß
maatin
 
Beiträge: 5
Registriert: Do Jun 28, 2007 10:10 pm

Re: Webstruktur als Hyperbolic Tree

Beitragvon apfelmaennchen » Di Dez 02, 2008 6:40 am

Guten Morgen!

Die Idee finde ich grundsätzlich gut, ich versuche das in YaCy-Ui einzubauen (bietet sich aufgrund von JavaScript förmlich an).
Als Input wird eine Baumstruktur im Json-Format erwartet - da YaCy von Haus aus XML spricht muss ich da erst noch was basteln.

Es ist leider wie immer mit dem YaCy-API, wer gedacht hätte man könnte einfach via /xml/xml/webstructure.xml?url=xyz eine Webstructure für URL xyz bekommen hat weit gefehlt. Dieser Aufruf kennt nur den Parameter latest=true/false und liefert damit Webstructures für Domains, mit denen YaCy sich gerade beschäftigt (meine Interpretation). Der "Beispiel-Code" wie man eine Webstructure für eine feste URL ermittelt findet sich in WebStructurePicture_p, hier bekommt man die Daten allerdings fertig gerendert als PNG abgeliefert.

OT: Ein vernünftiges API würde so aussehen, dass z.B. WatchWebStructure_p mittels eines Parameters ?type=html/xml/json/png/gif/bmp das entsprechende Format ausgibt. Wir lagern stattdessen vieles in den alternativen zweig /xml/... aus!

Hyperbolic Trees könnten sich auch eignen, um YaCy's öffentliche Lesezeichen anzuzeigen, sprich als Startknoten das YaCy-Netz, dann kann man sich auf der ersten Ebene über die Peernamen weiter zu den öffentlichen Lesezeichen klicken. Genauso interessant wäre eine solche Anzeige für Tags und deren Abhängigkeiten.

Gruß!
apfelmaennchen
apfelmaennchen
 
Beiträge: 429
Registriert: Mo Aug 20, 2007 7:06 pm

Re: Webstruktur als Hyperbolic Tree

Beitragvon Orbiter » Di Dez 02, 2008 10:00 am

wo ist eigentlich der Unterschied zum RGraph, siehe http://blog.thejit.org/javascript-infor ... olkit-jit/
Der RGraph finde ich besser, allerdings ist der name verwirrend, weil der RGraph auch nur einen Baum anzeigen kann.

Das ganze hat für Webstruktur hat nur einen Haken: eine Webstruktur ist kein Baum, sondern ein ungerichteter Graph. Man kann mit diesen Visualiserungen keine Webstruktur anzeigen, ausser man akzeptiert dass Domänen mehrfach vorkommen dürfen.

apfelmaennchen hat geschrieben:Die Idee finde ich grundsätzlich gut, ich versuche das in YaCy-Ui einzubauen (bietet sich aufgrund von JavaScript förmlich an).
Als Input wird eine Baumstruktur im Json-Format erwartet - da YaCy von Haus aus XML spricht muss ich da erst noch was basteln.

Ich hatte auch vor einer Woche von Beruflicher Seite aus das erste mal Kontakt mit JSON, und muss sagen das mir das ganz gut gefällt. In vielen Fällen sollte JSON die erste Wahl vor XML sein. Ich glaube ich baue das verstärkt ein.

apfelmaennchen hat geschrieben:Es ist leider wie immer mit dem YaCy-API, wer gedacht hätte man könnte einfach via /xml/xml/webstructure.xml?url=xyz eine Webstructure für URL xyz bekommen hat weit gefehlt. Dieser Aufruf kennt nur den Parameter latest=true/false und liefert damit Webstructures für Domains, mit denen YaCy sich gerade beschäftigt (meine Interpretation). Der "Beispiel-Code" wie man eine Webstructure für eine feste URL ermittelt findet sich in WebStructurePicture_p, hier bekommt man die Daten allerdings fertig gerendert als PNG abgeliefert.

Der Verwerter für dieses Interface ist die Visualisierung auf dem Terminal. Da wird interaktiv in die bestehende Grafik immer weitere Kanten reingezeichnet. Also muss mir das Interface per Option nur die neuesten Kanten liefern. Es gibt keine andere Anwendung bisher in YaCy, wo man geziehlt nach einer Struktur um eine domäne fragt. Die WebStructurePicture_p macht das ja wie du schon schreibst woanders, bei der Bildgenerierung, und da wird das nicht aus /xml/webstructure.xml gezogen, sondern direkt vom switchboard gelesen.

apfelmaennchen hat geschrieben:OT: Ein vernünftiges API würde so aussehen, dass z.B. WatchWebStructure_p mittels eines Parameters ?type=html/xml/json/png/gif/bmp das entsprechende Format ausgibt. Wir lagern stattdessen vieles in den alternativen zweig /xml/... aus!

na so auch nicht ganz, es wäre schon ganz gut wenn man Visualisierungs-Interface und API für Datenlieferanten trennt. Das geht bei uns aber schon ziemlich durcheinander, weil manche Servlets eben nicht nur html sondern auch xml produzieren, aber nicht über einen type-Parameter, sondern die Extension, weil das ja mit den Templates ganz einfach geht.
D.h. dein json müsste dann aus /xml/webstructure.json kommen, da brauchst du lediglich ein neues Template.

apfelmaennchen hat geschrieben:Hyperbolic Trees könnten sich auch eignen, um YaCy's öffentliche Lesezeichen anzuzeigen, sprich als Startknoten das YaCy-Netz, dann kann man sich auf der ersten Ebene über die Peernamen weiter zu den öffentlichen Lesezeichen klicken. Genauso interessant wäre eine solche Anzeige für Tags und deren Abhängigkeiten.

dafür wäre es wirklich gut

UPDATE:
in SVN 5373 gibt es nun Unterstützung für JSON Servlets, d.h. du kannst einfach eine Datei webstructure.json nennen und dann wird dazu webstructure.class ausgeführt.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Webstruktur als Hyperbolic Tree

Beitragvon apfelmaennchen » Mi Dez 03, 2008 6:16 am

Guten Morgen!

Orbiter hat geschrieben:Das ganze hat für Webstruktur hat nur einen Haken: eine Webstruktur ist kein Baum, sondern ein ungerichteter Graph. Man kann mit diesen Visualiserungen keine Webstruktur anzeigen, ausser man akzeptiert dass Domänen mehrfach vorkommen dürfen.


Ich denke der Graph, so wie wir den heute anbieten ist die exakte visualisiert der Webstruktur.
Zusätzlich HyperbolicTree oder RGraph einzusetzen wären eine Lösung für das Browsing der Webstructur, genau mit der Einschränkung, dass Domains ggf. mehrfach vorkommen können. Stellt sich eben die Frage, ob das überhaupt einen Mehrwert stiftet oder nur ein nettet Gimmick ist.

Orbiter hat geschrieben:na so auch nicht ganz, es wäre schon ganz gut wenn man Visualisierungs-Interface und API für Datenlieferanten trennt. Das geht bei uns aber schon ziemlich durcheinander, weil manche Servlets eben nicht nur html sondern auch xml produzieren, aber nicht über einen type-Parameter, sondern die Extension, weil das ja mit den Templates ganz einfach geht.
D.h. dein json müsste dann aus /xml/webstructure.json kommen, da brauchst du lediglich ein neues Template.


Wie unterscheidest Du denn Visualisierung von Datenlieferant? (==> Visualisierung = YaCy-Webinterface <> YaCy-API)
Wie logisch ist /xml/webstructure.json?
Zumindest für die "Datenlieferanten" plädiere ich dafür zu sagen, dass wir Servlets konsolidieren: /api/webstructure.png (default) und alternativ dazu /webstructure.json und /webstructure.xml? Allerdings bräuchtest Du beim XML dann ein type=rdf oder type=yacy um zwischen verschiedenen Unterformaten zu differenzieren. Vorteil ist dann, dass sich weitere Formate z.B. /webstructure.pdf oder /webstructure.jpeg sich nahtlos einfügen.
Nicht jedes Servlet muss jedes Format unterstützen, aber wenigstens geht das dann immer gleich.

Gruß!
apfelmaennchen
apfelmaennchen
 
Beiträge: 429
Registriert: Mo Aug 20, 2007 7:06 pm

Re: Webstruktur als Hyperbolic Tree

Beitragvon maatin » Di Dez 09, 2008 11:11 pm

apfelmaennchen hat geschrieben:Stellt sich eben die Frage, ob das überhaupt einen Mehrwert stiftet oder nur ein nettet Gimmick ist.


Klar ists nur Gimmick, aber sonst wird ja immer gesucht nach "was zum gucken"...

Gruß
maatin
 
Beiträge: 5
Registriert: Do Jun 28, 2007 10:10 pm

Re: Webstruktur als Hyperbolic Tree

Beitragvon Orbiter » Mi Dez 10, 2008 9:46 am

apfelmaennchen hat geschrieben:Zusätzlich HyperbolicTree oder RGraph einzusetzen wären eine Lösung für das Browsing der Webstructur, genau mit der Einschränkung, dass Domains ggf. mehrfach vorkommen können.

Wenn man aus dem Webstruktur-Graphen gerichtete Graphen in Form von Bäumen generiert, muss man beachten dass dies zwei verschiedene Varianten der Darstellung bedeutet: die Inbound-Links und Outbound-Links - Bäume. Das ist natürlich dann eine sehr interessante Sache, und würde auch erklären warum man einen Graphen dann in einer gerichteten Variante zeigt. Speziell ein Inbound-Baum mit Browsing-Funktion wäre das ultimative SEO-Tool, der hier beispielsweise hätte daran bestimmt seine Freude.

apfelmaennchen hat geschrieben:Wie unterscheidest Du denn Visualisierung von Datenlieferant? (==> Visualisierung = YaCy-Webinterface <> YaCy-API)
Wie logisch ist /xml/webstructure.json?

der /xml/ Unterpfad entstand damals, weil Leute angefangen haben in /yacy/ xml-Interfaces einzubauen, und ich mir erbeten hatte in /yacy/ alleine den Code zu warten, damit die kritische API zwischen den Peers eine Architekturlinie haben kann, den ich in meinem kleinen schwarzen Buch dokumentiert habe. Das /xml/-Verzeichnis entstand so als 'open-api' Verzeichnis. Das ist auch eine gute Sache. Wenn wir dort nun json-Servlets rein tun ist das richtig, aber der Name des Verzeichnisses ist dann ungeschickt. Da wir momentan keine externe Software haben, die auf /xml/ zugreift würde ich vorschlagen das wir das /xml/ einfach zu /api/ umbenennen.

apfelmaennchen hat geschrieben:Zumindest für die "Datenlieferanten" plädiere ich dafür zu sagen, dass wir Servlets konsolidieren: /api/webstructure.png (default) und alternativ dazu /webstructure.json und /webstructure.xml? Allerdings bräuchtest Du beim XML dann ein type=rdf oder type=yacy um zwischen verschiedenen Unterformaten zu differenzieren. Vorteil ist dann, dass sich weitere Formate z.B. /webstructure.pdf oder /webstructure.jpeg sich nahtlos einfügen.
Nicht jedes Servlet muss jedes Format unterstützen, aber wenigstens geht das dann immer gleich.

Wie du schon schreibts sollte es das /api/ geben, aber ein webstructure.png macht nicht viel Sinn, da ja das webstructure.xml Strukturdaten liefert, und keine Bilder. Das wäre ja eine Umsetzung der Daten der API. genau wie ein webstructure.pdf.

maatin hat geschrieben:
apfelmaennchen hat geschrieben:Stellt sich eben die Frage, ob das überhaupt einen Mehrwert stiftet oder nur ein nettet Gimmick ist.
Klar ists nur Gimmick, aber sonst wird ja immer gesucht nach "was zum gucken"...

Inbound Link Grafiken sind zumindest für SEOs eben kein Gimmik, sondern ein wichtiges Werkzeug. Wir können Inbound Link Graphen zeichnen, aber können nicht zusichern dass diese vollständig sind. Durch eine Vernetzung der Graphen-generierung mit Hilfe des YaCy-Netzes könnten wir die Graphen anreichern. Das wäre schon ein sehr nettes Gimmick!
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Webstruktur als Hyperbolic Tree

Beitragvon Noki » So Feb 15, 2009 9:25 pm

Orbiter hat geschrieben:Inbound Link Grafiken sind zumindest für SEOs eben kein Gimmik, sondern ein wichtiges Werkzeug. Wir können Inbound Link Graphen zeichnen, aber können nicht zusichern dass diese vollständig sind. Durch eine Vernetzung der Graphen-generierung mit Hilfe des YaCy-Netzes könnten wir die Graphen anreichern. Das wäre schon ein sehr nettes Gimmick!


Meine Frage dazu:
gibt es denn schon die Möglichkeit sich die Inbound Links einer Seite oder Domain anzeigen zu lassen?
Noki
 
Beiträge: 6
Registriert: Do Jan 15, 2009 9:34 pm

Re: Webstruktur als Hyperbolic Tree

Beitragvon Orbiter » Mo Mai 11, 2009 12:11 am

ich wärme das hier nochmal auf weils mir einfach total gut gefällt:
http://blog.thejit.org/javascript-infor ... olkit-jit/
bitte mal runter laden und die Beispiele hypertree2.html und rgraph2.html ausprobieren. Im Gegensatz zu den oben diskutierten Fähigkeiten kann das nicht nur Bäume sondern ganze Graphen anzeigen. Das ist einfach total super, und könnte eine viel bessere Webstrukturgrafik anzeigen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Webstruktur als Hyperbolic Tree

Beitragvon Orbiter » Mo Mai 11, 2009 1:15 pm

ah, da gibts auch einen direkten Link zu dem Beispiel das ich für die Webstruktur geeignet finde:
http://blog.thejit.org/wp-content/jit-1 ... raph2.html
Könnte sich einer von euch vorstellen das hier ein ganz kleines bisschen zu erweitern so dass man die Richtung des Graphen visualisieren kann? dann sieht man in welche Richtung ein Link geht.
Die Doku zu dem speziellen Beispiel ist hier:
http://blog.thejit.org/2008/08/05/weigh ... ted-edges/
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron