Schlagwort-Archive: Linked Data

Linked-Data-Praxis: Daten bereitstellen und verwerten

In Ausgabe 02/2013 der Zeitschrift java aktuell wurde ein Praxisartikel von mir zum Thema Linked Data veröffentlicht:

Ein Artikel in der letzten Ausgabe hat in die Grundlagen von Linked Data eingeführt und gezeigt, wie daraus ein Web aus Daten entstehen kann. Linked Data ist jedoch keine bloße Theorie: Mit wenigen Zeilen Code kann eine Anwendung Teil dieses Daten-Webs werden. Der Beitrag zeigt, wie man Linked Data veröffentlichen und in seinen Anwendungen verwerten kann.

Im Artikel wird ein Hotel-Service beschrieben, der Hotel-Informationen als Linked Data verfügbar macht. Eine weitere Anwendung konsumiert diese Daten um die Bewertung der Hotels zu ermöglichen. Der beschriebene Hotel-Service ist unter http://hotels.datenwissen.de/ online. Die Hotel-Bewertung ist über http://hotel-rating.datenwissen.de/ möglich. Beide Anwendungen sind Open Source und auf github verfügbar (Hotel-Service, Bewertungsplattform).

Den Artikel könnt ihr hier als PDF herunterladen.

Alle meine Artikel sind ab sofort auch hier verfügbar.

WordPress Linked Data Plugin installieren

Mein WordPress-Plugin zur Veröffentlichung von Bloginhalten als Linked Data, kurz wp-linked-data, ist nun auch über das WordPress-Plugin-Repository verfügbar. Die Installation ist mit wenigen Klicks erledigt. Wie die meisten anderen Plugins könnt ihr es nun über eueren WordPress-Administrationsbereich finden und installieren. Sucht einfach nach „wp-linked-data“ oder „Linked Data“.

Auch eine offizielle Seite bei wordpress.org hat es nun. Ich freue mich über Bewertungen und Feedback.

Einreichung zur SIGINT 2013: Dezentrales Social Web mit Linked Data und WebID

Ich habe folgenden Talk zur SIGINT 2013 eingereicht. Die Entscheidung, ob er genommen wird, fällt bis spätestens 5. Juni. Update: Die Einreichung wurde angenommen, der Talk findet statt.

Let’s tear down these walls – „Mit Links“ die Mauern Sozialer Netzwerke überwinden.

Seit jeher verlinkt das Web seine Inhalte, ganz gleich auf welchen Servern sie liegen. Interessanterweise scheint dieses Prinzip noch nicht im Social Web angekommen zu sein. Statt uns mit unseren Freunden, und Inhalten die wir mögen, zu verlinken, pflegen wir unzählige Accounts. Nicht selten stehen wir vor technischen Mauern, die unsere die Vernetzung verhindern. Diese Mauern können wir wahrsten Sinne „mit Links“ überwinden.

Das Web 1.0 – ein dunkler Ort, an dem man niemandem followen, nichts liken und nichts sharen kann. Niemand möchte mehr dort sein. Daher bietet jeder Dienst, der etwas auf sich hält ein „Connect with Facebook“, ein „Login with Twitter“ und ein „Share at Google+“ an.

Doch statt als ein soziales Wesen im Web zu agieren, sind wir nur die Summe unserer Accounts. Ein neuer Dienst, ein neuer Account. Zwar schnell erstellt per Facebook-Connect, doch inkompatibel zum Rest des Webs.

Die Mauern des Web 2.0 sind künstlich. Wir können und müssen sie einreißen. Jetzt.

Das Web war nie eine Anhäufung inkompatibler Dienste, sondern das genaue Gegenteil: Durch Hyperlinks können Webseiten miteinander verknüpft werden, ganz gleich auf welchen Servern sie liegen.

Dieses Prinzip der Links können wir auf Daten und Personen anwenden, um uns mit einer Identität global zu vernetzen. Dazu werden die Prinzipien von Linked Data und das WebID-Protokoll vorgestellt. Statt Dienste mit sozialen Funktionen im Web, wird das Web selbst zu einem gigantischen Social Network.

Der Vortrag erklärt:

  • die Grundlagen von Linked Data, d.h. wie über URIs Dinge und Personen global identifiziert und verlinkt werden können
  • wie man mit Hilfe der Friend-of-a-Friend-Ontologie (FOAF) ein maschinenlesbares Social-Web-Profil erzeugt und dezentral hostet
  • wie das WebID-Protokoll ein Ein-Klick-Login ohne zentralen Authentifizierungsdienst ermöglicht, um mit einem FOAF-Profil im Web zu agieren.

WordPress Bloginhalte als Linked Data

Dieses Blog veröffentlicht nun selbst Linked Data, statt nur darüber zu berichten. Dazu habe ich ein kleines WordPress-Plugin geschrieben, das die Bloginhalte über Content-Negotiation auch in verschiedenen RDF-Formaten verfügbar macht.

Blogartikel als „abstraktes Ding“, nicht als HTML-Dokument, bekommen eine eigene, um #it erweiterte URI. Das Web-Dokument, das gerade in eurem Browser geöffnet ist, ist z.B. unter http://datenwissen.de/2013/04/wordpress-bloginhalte-als-linked-data erreichbar. Der Blogartikel den ihr lest, hat also den Identifier http://datenwissen.de/2013/04/wordpress-bloginhalte-als-linked-data#it

Ihr könnt die URI, z.B. mit einem Online-RDF-Browser abrufen, um die Daten zu sehen. Freunde der Konsole nutzen curl und setzten einen entsprechenden Accept-Header (text/turtle oder application/rdf+xml):

curl -H "Accept: text/turtle" http://datenwissen.de/2013/04/wordpress-bloginhalte-als-linked-data#it

Auch Blog-Autoren bekommen vom Plugin eine eigene URI, die in späteren Versionen als WebID nutzbar sein wird. Die URI der Autorenseite wird um #me erweitert, um die Person zu identifizieren. In diesem Blog werde ich also durch http://datenwissen.de/author/angelo#me identifiziert. Ruft die URI wie oben beschrieben ab, um das FOAF-Profil zu sehen, das sich dahinter verbirgt.

Update: Die Installation ist nun einfach über die WordPress-Admin-Oberfläche durchführbar. Den Quellcode gibt es natürlich trotzdem noch auf GitHub.
Das Plugin befindet sich noch nicht im WordPress-Plugin-Repository, ist jedoch bereits auf GitHub verfügbar. Kopiert einfach den Inhalt des /src-Verzeichnisses unter /wp-content/plugins/wp-linked-data und aktiviert das Plugin in der WordPress-Oberfläche.

Linked Data in „java aktuell“

In der Ausgabe 01/13 von „Java aktuell“ erschien mein Artikel „Linked Data – ein Web aus Daten“, den ich nun auch an dieser Stelle als PDF bereit stelle. Es handelt sich um eine Einführung in das Thema Linked Data:

Wer heute im Web Daten abrufen möchte, hat es nicht leicht. Obwohl hinter vielen Diensten große Datenbanken stehen, beschränkt sich das Surfen im Web meist noch auf menschenlesbare Webseiten. Entwickler können bestenfalls den mühsamen Umweg über proprietäre APIs gehen. Mit Linked Data werden die Daten Teil des Webs und das dokumentenbasierte World Wide Web erweitert sich um ein Web aus Daten.

In der nächsten Ausgabe erscheint ein Praxisartikel der verdeutlicht, wie leicht man selbst Linked Data bereitstellen und verarbeiten kann. Die Ausgabe erscheint am 06.03.2013.

groovyrdf 0.2 veröffentlicht

Es ist mittlerweile schon über 1 Jahr her, dass ich mit groovyrdf eine Bibliothek zur einfachen Erzeugung von RDF-Daten mit Groovy veröffentlicht habe. Nun ist endlich das 2. Release da, und es bringt interessante Neuerungen mit sich.

Neben dem Erzeugen von RDF ist mit Version 0.2 auch das elegante Auslesen und Verarbeiten von Daten möglich. Mittels RdfLoader unterstützt groovyrdf das Laden von Linked Data Ressourcen inklusive Content-Negotiation. Die Daten können anschließend ausgelesen und weiter verarbeitet werden:

  // Namespace-Deklaration
  def foaf = new RdfNamespace ('http://xmlns.com/foaf/0.1/')

  // Laden einer Ressource mittels RdfLoader
  RdfLoader rdfLoader = new JenaRdfLoader()
  RdfResource person = rdfLoader.loadResource(
    'http://me.desone.org/person/aveltens#me'
  )

  println person(foaf.name) // Gibt 'Angelo Veltens' aus

Der Loader kümmert sich selbstständig um Content-Negotation und das Parsen des zurückgelieferten Formats. Solange RDF geliefert wird, kann es uns egal sein, ob dies vom Server in TURTLE, RDF/XML oder N3 ausgedrückt wird. Alle gängigen RDF-Syntaxen werden unterstützt. Der Zugriff auf die Eigenschaften der geladenen Resouce ist anschließend einfach über resource(predicateUri) möglich. Näheres erklärt der User Guide. Version 0.2 steht hier zum Download bereit und den Sourcecode gibt es nach wie vor bei GitHub.

[important]Wenn ihr groovyrdf nutzt, oder auch einfach nur kurz ausprobiert, freue ich mich über euer Feedback![/important]

WebID: Vortragsvideo & Folien vom Webmontag

Auf dem 6. Braunschweiger Webmontag habe ich einen Vortrag zum Thema „Dezentrale Soziale Netzwerke mit Linked Data und WebID gehalten“. Ich habe maßlos überzogen und viel zu schnell gesprochen. Der Vortrag kam trotzdem sehr gut an und führte zu vielen interessierten Fragen.

Wer nicht die Gelegenheit hatte, live dabei zu sein, kann sich die Aufzeichnungen auf Vimeo ansehen.

Mein Vortrag beginnt in Teil 2 bei Minute 13:55:

und setzt sich fort in Teil 4:

[important]Meine Vortragsfolien habe ich wie immer mit allen Sourcen und unter freier Lizenz bei GitHub hochgeladen. Hier ist auch nochmal die PDF-Fassung.[/important]

Linked Open Data – Vortragsfolien

Ich habe die Vortragsfolien meiner „Linked Open Data“-Präsentation auf der SIGINT 2012 inzwischen online gestellt:

Wie immer alles Creative-Commons-lizenziert!

Nochmals vielen Dank für das rege Interesse und das positive Feedback. Ich bin immer froh, wenn viele Rückfragen gestellt werden und eine Interaktion mit dem Publikum entsteht. Ich freue mich auch weiterhin über Fragen und Feedback per Mail oder in den Kommentaren.

Der Vortrag wurde aufgezeichnet und wird wohl innerhalb der nächsten Wochen online gestellt (Hoffentlich vollständig, denn es gab leider ein technisches Problem während der Aufzeichnung). Ich werde nochmal darauf hinweisen, wenn es soweit ist.

Der Semantic-Web -Vortrag von Carina Haupt war übrigens (wenn auch leider zeitlich vorher platziert) eine prima Ergänzung zu meinem Einstieg ins Thema. Schaut euch auch dessen Aufzeichnung an, wenn ihr nicht vor Ort sein konntet!

Für die FrOSCon 7 habe ich den Vortrag gerade ebenfalls eingereicht, würde dort den Fokus aber stärker auf Entwickler-Bedürfnisse setzen, wenn er angenommen wird.

[important]Da ich den Eindruck habe, dass das konkrete Interesse am Thema wächst und auch viele Rückfragen zur praktischen Umsetzung kamen, plane ich für die nächste SIGINT einen Workshop zum Thema einzureichen. Was haltet ihr davon?[/important]