Gnowsis Semantic Desktop Hands-on Workshop 2005

From semanticweb.org
Jump to: navigation, search

Contents

[edit] Gnowsis Semantic Desktop Hands-on Workshop, Humboldt Universität zu Berlin

Gnowsis 73260615 e14987238b m.jpg

Again we meet in Berlin to program together a semantic desktop. An event consisting of RDF, Java developing, hacking small demos, drinking, eating, chatting, music, photos, annotation, meeting new people, updating foaf files. Friday 9th Dec Dinner

UPDATE for Fr, 2005-12-09 20:00 Dinner at the Alcatraz III map. Address: Neue Schönhauser Str. 20, 10178 Berlin Mitte, (U Weinmeisterstr.) A table is booked on Anja Jentzsch. Workshop

Date

10-12 December 2005 (Saturday - Monday)

Place

Humboldt Universität zu Berlin (HUB ), Campus Adlershof, Rudower Chaussee 25 / Magnusstraße, Room "Humboldt-Kabinett", House 3, Level 1.

Who

Anybody who wants to bring the Semantic Web alive on desktop computers

[edit] Organizers

  • Leo Sauermann web (DFKI) -- Phone: +49 176 24548974
  • Thomas Roth-Berghofer (TU Kaiserslautern/DFKI) -- Phone: +49 30 205-4820
  • Richard Cyganiak web (FU Berlin) -- Phone: +49 175-5630408.
  • Renate Zirkelbach (HU Berlin) -- Phone: +49 30 2093-3167

In cooperation with

[edit] Program

9.12. Friday

20:00 Dinner at the Alcatraz III (map), Neue Schönhauser Str. 20, 10178 Berlin Mitte, (U Weinmeisterstr.). A table is booked on Anja Jentzsch.

10.12. Saturday (1000-1800)

Fullday workshop at the location, starting with an introduction by the organizers. Each day will start with one or two 20minute talks.

11.12. Sunday (1000-1800)

Fullday workshop and presentations of demos. Discussions about the results.

12.12. Monday (1000-1800)

Fullday Workshop. Semantic Web Berlin Day: Meet and greet of the Berlin Semantic Web Community

13.12. Tuesday (900-1400)

Talks at Universities, travel home.

During the workshop days, we will repeat the following procedure, helping the attendees to get into productive work. In the morning each participant will give a brief, 2 minute introduction of his/her own work. After this, pairs of two will be made that join together for pair programming. The goal for one day is, to bring together the two Semantic Web projects of the pair. At the end of the day, each pair will give a longer explanation of their results - in a 15 minute showcase and demo. Focus is not on completed work, but on the idea and to bring people together based on their interests. We encourage people to build different teams each day, to get connected to more people.

[edit] Mailinglist

Mailinglist: semdesk_berlin@lists.spline.inf.fu-berlin.de

Join the mailinglist: http://lists.spline.inf.fu-berlin.de/mailman/listinfo/semdesk_berlin Available Technical Infrastructure

  • Video beamer for end-of-day presentations.
  • WLAN Access

[edit] Workshop Fee

The workshop fees are 30 Euros. They only include coffee breaks. It does not include accomodation, lunch, or dinner. The fees are to be paid cash on-site at the registration desk. Registration

Send an e-mail to Thomas Roth-Berghofer.

Early registration (when you also book accomodation, see below) is October 31, 2005

Latest possibly registration: November 18th, 2005

The workshop is restricted to 20 participants, registering early is suggested.

[edit] Suggested Accomodation

"Hotel und Gästehaus am Campus, Berlin-Adlershof":http://www.ibhotel-berlin-amcampus.de

The deadline for room reservations at the Hotel und Gästehaus is October 31, 2005. The discounted rates may not be available after this date. Until then there are available:

  • 3 single hotel rooms (66.00 Euros per person/night)
  • 2 three-bed rooms (22.00 Euros per person/night)
  • 2 two-bed rooms (26.00 Euros per person/night)

Please call the "Hotel und Gästehaus" for the single room reservations (+49 (0) 30 7 56 56-0), and be sure to identify yourself as an attendee at the Gnowsis Semantic Desktop Hands-on Workshop using the codeword "DFKI". For the two- and three-bed room reservations write an e-mail to Renate Zirkelbach. All room rates include breakfast. Needful things

If possible, attendends should bring the following with them to allow as much collaboration as possible. The workshop and hands on days will be run in pairs - two people should share one laptop to work and learn together.

  • Laptop & power adapter european 220V
  • Wifi support
  • your own project code (in whatever language/environment it runs)
  • presentations/papers about your own project
  • Eclipse 3.1 with subclipse SVN package installed

[edit] Minutes

Pictures: http://www.flickr.com/photos/tags/semdeskhack2005/

[edit] Frank Wagners Bericht

Anwendungen von IT

IT wird angewendet um spezielle Aufgaben zu lösen oder allgemein irgendetwas zu erreichen, wobei die Eigenschaften und Fähigkeiten der Technologie ausgenutzt werden. Eine spezielle Anwendung von IT arbeitet dabei mit Daten die für den jeweiligen Zweck besonders geeignet sind. Diese Daten bauen dabei auf Datentypen auf die der angewendeten Technologie eigen sind. Gnowsis soll dabei helfen die Daten anderer Anwendungen miteinander zu visualisieren und auch zu bearbeiten (verknüpfen und weiterverwenden). Dazu verwendet es Aussagen über diese beziehungsweise gewinnt Aussagen aus diesen.

Diese Daten sind die Ressourcen die zur Verfügung stehen. Ressourcen müssen eindeutig identifizierbar sein zB damit man auf sie aufbauen kann. MessageDigests? sollten eine Identität garantieren (in Grenzen die erstmal weit genug sind); unterschiedliche Serialisierung des gleichen Inhalts sind deswegen unpraktisch. Kann eine Datenquelle keine Ressourcen liefern sollte Gnowsis eine Kopie und die dazugehörigen Metadaten in einem passenden Repository ablegen. Was Gnowsis fehlt (mal ganz forsch gesagt ;) ) ist der eigene Datentyp in dem es seine Anwendung ausdrückt, zB das auswählen und ordnen von Ressourcen. Fresnel könnte eine Mölichkeit sein; RDF eignet sich nicht gut zum speichern und austauschen ua weil es so unterschiedlich serialisiert werden kann. Beispiel:

Die Namen von Dateien einer Dateisystem Dataquelle eignen sich nicht als Id weil kein eindeutiger Zusammenhang zwischen Dateiinhalt und Dateinamen besteht. Beim registrieren einer solchen Datenquelle importiert Gnowsis den Inhalt in ein Repository (mit zB sha1 als Id) und ausserdem legt es den Dateinamen und andere Daten aus dem Dateisystem als neue Ressourcen ebenfalls im Repository ab. Andere Datenquellen werden ähnlich behandelt. Die Namen im Dateisystem drücken ein Konzept aus. Dieses Konzept beschreibt Gnowsis durch die (Meta-) Daten die es ebenfalls als Resourcen abgespeichert hat. Anwendungen stellen Adapter zur Verfügung. Diese Adapter liefern Aussagen (RDF-Statements) über die jeweiligen Ressourcen. Gnowsis hat ebenfalls einen Adapter der aus den eignen (Meta-) Daten Aussagen gewinnt. Da Ressourcen unveränderlich sind diese Aussagen immer gültig solange der Adapter unverändert ist (passender Namespace für Adapter/Quellanwendung und RDF-Speicher).

Neben diesem Konzept (das also auch im Dateisystem ausgedrückt wird) kann man mit den Ressourcen auch andere Konzepte ausdrücken. Dazu erlaubt Gnowsis dass man neue Konzepte anlegt. Man kann nun mit der Hilfe von Gnowsis diesem Konzept Ressourcen zuordnen. Dabei zeigt das linke Panel im Browser das zu bearbeitende Konzept an, das mittlere Panel ermöglich das bearbeiten der Daten mit denen Gnowsis die Ressource im jeweiligen Kontext beschreibt und das rechte Panel bietet mit Hilfe der erwähnten Aussagen möglicherweise relevante Ressourcen an.

Frank Wagner, frankw bei ruc.dk

[edit] Interesting hacks

there are already some ideas:

  • integrate fresnel and gnowsis
  • integrate google desktop and gnowsis

both documented here: https://gnowsis.opendfki.de/cgi-bin/trac.cgi/wiki/GnowsisBrainstorm

[edit] Minutes of the Evening Discussion

Icons für RDF

wir machen eine art webservice für Icons von RDF classes und instances. Ich hab so eine Art SErvice?, wo ich sagen lann: wie kann ich sinnvollerweise class X darstellen? antwort: mit diesem ICON?

Wird sich da ein dienst durchsetzen? Rendering von RDF

Wie rendere ich etwas? inhalt / struktur? Ein Service für fresnel? Für welche Begriffe - wie ordne ich da im Arbeitskontext die Visualisierung zu den Instanzen zu. Beipsiel Pferdeontology: für Züchter ist es wichtig, genaue Icons und visualisierung zu haben, für nicht-pferdezüchter ist eine simple Ansicht richtig.

Generisches rendering mit Fresnel: es gibt keine gute implementierung, und es fehlen ganz viele domänenspezifische fresnekl implementierungen.

Ich hab hier ein konkretes RDF - ich will das nun darstellen? Ist das der richtige ansatz oder setze ich einen programmierer an eine spezifische domäne, dass der genau auf die domäne abhängig ein proprietäres visualisieren macht. Gerade die möglichkeit, sachen die ich nicht verstehe zu ignorieren ist da interessant. Wenn ich foaf:blub nicht verstehe, dann stelle ich es nicht da. ende. keine generische sache.

Etwa das Eclipse plugin Brainlet: für die Bier-ontology weiss sie wie sie Biere darstellen kann. Das lädt sich dann, wenn es ein Bier zu visualisieren gibt. http://www.dbin.org "Enabling Semantic Web Communities". Web VS Swing!

"Ich würde auf dem Mac keine applikation benutzen, die auf swing basiert, die fühlt sich viel schlechter an als die nativen MacOs? apps". Aber eine Web-applikation würde ich vielleicht nehmen.

"Mit dem Foaf-A-Matic kann ich als normaler anwender mal superkurz ein FOAF file machen. Ich weiß zwar nicht was ich machenb könnte, aber ein wenig doch und das geht." Wenns konkreter wird, wenn die proeprty "blabla" gefragt ist, kann ich ja dafür tool XBlaBla? nehmen. Wenn sich "blabla" durchsetzt, kommt sie auch bald in Foaf-Explorer vor.

Anwendungsgetriebene programmierung. Deshalb findet Kao das dbin sehr gut. Wenns ein X ist, dann lade ich halt ein Brainlet in den Eclipse. RDF Editieren will ich gar nicht allgemein, sondern immer im Anwendungskontext. Anwendungsgetriebene Progammierung!

Szenario Movies: wenn ich eine anwendung habe, die mir meine Movies annotiert, dann will ich ein GUI haben, wo ich eingebe: ich habe diesen Film X gesehen und würde gerne Film Y sehen. Das hab ich in der IMDB nachgesehen. Nun will die Anwendung ( auf Architekturebene) mit IMDB kommunizieren, die neuen Daten via RSS feed veröffentlichen, auf einen Webserver speichern, lokal in meine Gnowsis speichern, per FTP auf einen server schicken.

Die protokolle sollten unsichtbar werden. Das ist abe rnicht so einfach. Ich hab eine Virtuelle Umgebung. Um mit X zu itneragieren (x=service) brauch ich einen KAnal? (socket, usw). Der kanal wird irgendwo beschrieben, als Schema. Bei der gesametne restlichen Sache, aus sicht des Frameworks, kannn ich wenig aussagen machen. Ich kann nicht sagen, was für Sachen ich brauche. Einer Anwendung kann man schwer zumuten automatisch Lösungen zu suchen oder Datenquellen zu finden. Wir sind uns relativ einig, dass Semanic Web services nicht vollautomatisch abrennen können.

Beispiel: Steve Dunham sagt dass er ein public piggy-bank verwendet um seine bookmarks zu verwalten. Er hat einen public RDF store.

Richard: Ich würde gerne einene FOAF file editor haben, der die Information lädt von stelle x, dann soll das file hochgeladen werden zu meinem Server Y. Dann hab ich ein Tool mit dem ich die Photos annotieren kann, dann hab ich ein Tool das packt die photos aus dem lokalem Tool und schiebt die photos samt SUPER annotationen auf flickr.com. Ich will einmal konfigurieren: das file soll genommen werden, konvertiert werden, dann dorthin gelaen werden.

Ein wechsel der Sprache, wir reden immer von Anwendungen, wir können aber von Information und Diensten reden. Eine Information ist mein Foaf-File, ein Dienst ist das hochladen auf einen Server. Es ist nicht die Anwendung, der code der vom Programmierer gemacht wurde, sondern eine Menge von Diensten und Informationen. Der user kann nun einne Dienst nehmen, um Daten X zu ändern, Dienst Y zum hochladen, etc.

Können wir diese Problem überhaupt lösen? Wir wollen Information niederschreiben. Etwa wollen wir Daten jetzt niederschreiben, aber dann finde ich plötzlich keine Ontologie, die passt.

Wenn du mal anfängst, Daten aus verschiedenen Quellen zusammenzusammeln, merkst du das nix kompatibel ist. Du findest DC, foaf und sonst interessante properties. Etwa findest du dann GEO daten. Sobald du nun ein tool hast, mit dem man geo eingeben kann und Geo visualisieren kannst, dann wirds cool. Etwa bei google base. Wenn die Geo-Karte da ist und das Tool, um die Geo-Daten einzugeben, dann wirds cool.

Andere Sicht: Das wichtigste Ding zum erstellen von Daten sind Applikationen. Benutzer benutzen Applikationen, etc. Dann haben aber die verschiedene Datenformate, dann gabs XML. Nun die frage wenn zwei Applikationen verschiedene Datenformate haben. Dann die letzte Ebene: RDF. Da wo bereits strukturierte Daten da sind (XML) kann mans ja auf RDF umwandeln. Da können wir dann alles zusammenschmeißen. Es gibt grundsätzliche Datenformate, die immer wieder vorkommen, aber es gibt immer die Anwendung, die dann das Format erweitert. Bei RDF hat man dann sofort die Möglichkeit, selber ad-hoc eine neue Ontologie zu machen.

Jetzt habe ich vielleicht ein set von Applikationen, die für verschiedene Zwecke optimiert sind. Ich schmeiss da ein Plugin rein, für meine Software, das innerhalb der Anwendung das feature unterstützt. Das plugin hat irgendwer geschrieben, das lad ich mir dann runter. Damit ändert sich aber auch die Information. Wenn sich view und controller ändern, ändert sich auch das Model.

Es wäre ja auch möglich, die Features/Applets als Web-services zur Verfügung zu stellen. Etwa kann ich in jedes GUI ein anderes Web-GUI einbinden. Dem übergebe ich ein Stück RDF, mit dem das ding arbeiten soll. Das Ergebnis der Bearbeitung, wo kommt denn dann das hin?

Anderes Argument: Wenn ich Eclipse habe und ein Problem wie "ich will jetzt diese analyse sehen" dann kann ich mir meist ein Plugin ziehen. Anders auch browser: die können alle Plugins, also etwa flash-code etc. der ausgeführt wird. Das ist aber etwas konkret, nicht generisch. hm.

Zwischensummary: Wir haben jetzt gehört, es gibt Leute die nehmen flickr, ihr handy und weblogs und kombinieren das. Bis jetz ist es ja so, dass alle applikationen so sind, dass sie bei mir am Kasten rennen. Daten gehen rein, Daten gehen raus. Die Applikation hat einne bestimmten sinn, wie etwa "Buchhaltung machen". Vielleicht gehen wir in Zukunft so, dass wir über web-20 die Applikationen verteilen. Ich nehme eine lokale Anwendung (iPhoto) die hat ein Plugin für Flickr (upload) dann kommt dort ein RSS feed der wiederum von einem Freund runtergeladen wird, der wiederum eine Andere Anwendung macht. JEder? dieser Schritte hat eine andere Anforderung wie die Daten repräsentiert werden. Es sind auch fünf Programmiersprahcen beteiligt, die mit den Daten arbeiten. Irgendwie will ich doch die Daten und Applikationen zusammenhängen. Ich will nicht ein Framework für alles bei mir sein. Ich will ein Baustein sein, das alles zusammenzustecken zu verschiedenen Zwecken. RDF ist dabei ein tolles Datenaustauschformat. Die Pointe ist doch, dass die Anwendung durch den Benutzer gemacht wird, der die Anwendungen zusammenkoppelt.

Ich schicke Information wohin, an einen Service, und der Service fürht dann eine Funktion auf der Information aus, etwa veröffentlicht die Information wo. Die Funktion ist nun wichtig.

Arne's Anwendung ist: ich habe informationen, die ich integriere. Warum integriere ich die ? um sie zu vernetzen. Das interessante wären mentale Modelle die ich aufgebaut habe. Die bestehen momentan nur im Kopf. Ich will aber diese verbindungen nicht nur im Kopf haben, sondern vernetzt im Computer. Jetzt würde ich gerne in meiner Anwendung sehen, was mit den aktuellen Informationen - aus der Sicht meines mentalen Modells - verknüpft ist. Uri crisis?!

Wenn wir alles in ein zusätzliches Konzeptuelles Modell schieben, wobei jeder Mensch sein persönliches, lokales Mentales Modell in einer art Topic Map/Concept Scheme macht. Die Abstrakten Topics von mir (die eine Private Uri haben) kann ich ja dann per subjectIdentifier mit irgendwelchen Public uris verbinden. Etwa der public identifier von TimBl? ist diese Timbl Uri. Frage nach der eierlegenden Wollmilchsau

wenn gnowsis für alle toll sein soll und alle probleme lösen soll, kommen wir nicht weiter. Ich brauche eigentlich Applikationen, die mir bestimmte Anwendungen machen.

Sachen die generisch sind, sind etwa RDF Datenbanken, die funktionieren. Dann baut ein Entwickler eine Anwendung für eine spezifische Domäne aufbauend auf einen RDF store, der hat dann auch keine URI crisis.

Gnowsis als Datenintegration ist eine Tolle Anwendung - es kann Daten integrieren aus verschiedene Datenquellen. 2 Nutzen:

1) für Programmiere - sie haben die Daten.

2) Datenintegration für End-Nutzer: sinnlos

3) Der Benutzer wählt aus, welche Daten integriert werden ( Datensource-config)

Anwendung von gnowsis sollte nur sein "Personal Information Management". Sowas wie Mindraider oder Mindmaps oder simple Topic Maps. Lustige blasen die herumfliegen wo man nette Linien dran sieht. Zum Beispiel das Semantic Wiki, das ist toll. Damit kann ich Daten zusammenstellen.

4) Ich kann die Concepts/das PIM-O des Benutzers einblenden und in beliebigen Applikationen die PIMO verwenden.

5) Ich möchte zu der aktuellen Resource (aus einer Anwendung heraus) die relateten sachen sehen.

Gnowsis sollte sich auf eine der zwei sachen konzentrieren:

A) Für endbenutzer mindmapping, information organisieren,

B) Softwareentwickler, die Datenintegration auf dem Desktop machen wollen.

Warum kanns nicht beides sein? Weil ihr euch entscheiden müsst, was ihr implementiert und macht. Wenn ich etwa Datenintegration mache, dann ist nur Performance und so nötig. Nicht das gui. Die Dokumentation, die Installationsanleitung, der Installer, das ganze Zeug muss geschrieben werden . Auch darum ist es eigentlich nur möglich, entweder A oder B zu machen.

Für A) würden 4) und 5) interessant. Aber die anderen brauche ich vielleicht nicht.

B) gibt es eine community die sich sehr stark für gnowsis und die Adapter interessiert.

[edit] Participants

  • Daniel Bahls
  • Karsten Dello
  • Jörg Garbers
  • Arne Handt
  • Anja Jentzsch
  • Florian Mittag
  • Magnus Niemann
  • Karsten Otto
  • Stefan Schulz
  • Frank Wagner
Personal tools
Namespaces

Variants
Actions
Navigation
services
Toolbox