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.

picserv unterstützt WebID-Login

Meine in Entwicklung befindliche Bilder-Plattform picserv unterstützt nun auch ein WebID-Login.

WebID ist ein aufstrebender Standard, der uns losgelöst von zentralen Netzwerken wie Facebook und Google+ eine Identität im Social Web geben kann. WebID ist gleichzeitig ein Login-Verfahren und euer Profil im Social Web. Ein solches Profil könnt ihr z.B. bei my-profile.eu mit wenigen Klicks einrichten, ihr seid aber nicht von einzelnen Anbietern abhängig. Wer mag kann auch selbst ein Profil hosten.

Wenn ihr euch mit eurer WebID bei picserv einloggt, könnt ihr dort Bilder hochladen und kommentieren. Euer Name und eurer Bild wird aus eurem Profil ausgelesen und muss nicht nochmals bei picserv hinterlegt werden. Das ist das Schöne im dezentralen Social Web: Eure Identität und die Dienste, die ihr mit dieser Identität nutzt können auf völlig unterschiedlichen Servern liegen. Statt monolithischer Social-Network-Plattformen wird das Web zum Social Network. picserv leistet mit dem WebID-Login einen Beitrag zu dieser Entwicklung.

[notice]Bitte beachtet aber, dass sich picserv noch stark in Entwicklung befindet. Verlasst euch nicht darauf, dass der Dienst oder eure Bilder dauerhaft verfügbar sind![/notice]

[important]Ihr habt Fragen zu WebID oder Probleme beim Einrichten eines Profils? Ich helfe gerne weiter. Auch Anregungen zu picserv nehme ich gerne entgegen.[/important]

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-Authentifizierung mit Node.js

Ein Leser des letzten Artikels hatte Schwierigkeiten, die Signatur von foafssl.org mit Hilfe von Node.js zu überprüfen. Es war etwas tricky, aber ich habe es inzwischen hinbekommen und möchte die Lösung niemandem vorenthalten:

Grundsätzlich funktioniert die Überprüfung der Signatur bei Node.js mit verifier.verify(object, signature, [signature_format]). Als 1. Parameter gebt ihr den (PEM encodierten) Public Key an, als zweites die Signatur und als letztes das Format ‚base64‘.

Allerdings ist die übermittelte Signatur nicht Base64, sondern Base64-URL encodiert! Ihr müsst also in der Signatur zunächst alle ‚_‘ durch ‚/‘ und alle ‚-‚ durch ‚+‘ ersetzen. Bevor ihr die Signatur an die verify-Function übergebt, müsst ihr aber außerdem noch ‚==‘ hinten anfügen. Die korrekte Signatur ergibt sich also wie folgt:

var signature = signatureBase64Url.replace(/\_/g, '/').replace(/-/g, '+') + '=='

Ein funktionierendes, online ausführbares Code-Beispiel habe ich auf der Plattform jsapp.us hinterlegt.

FrOSCon – Folien des Vortrags „Linked Open Data“

Auf der FrOSCon habe ich abermals über Linked Open Data referiert.

Der Vortrag baut sehr stark auf meiner SIGINT12-Präsentation auf, setzt jedoch auch einen Fokus auf die praktische Bereitstellung von Linked Data in Open-Source-Projekten.

Wie immer steht alles unter Creative Commons Lizenzen.

Demnächsttm wird auch eine Aufzeichnung online gestellt.

Warum „Open“ nicht genug ist – Vortragsvideo der SIGINT 12

Der CCC hat inzwischen die Vortragsvideos der SIGINT 2012 online gestellt. Auch mein Vortrag „Linked Open Data- Warum ‚open‘ nicht genug ist und wir Daten verlinken müssen.“ ist mit dabei. Leider klappt das Einbetten gerade nicht.

Der Vortrag ist zum einen eine Einführung in das Thema Linked Data, die keine Vorkenntnisse benötigt. Zum anderen soll er Menschen, die bereits Open Data kennen und lieben verdeutlichen, wie durch Verlinkung ein zusätzlicher Mehrwert entsteht. Auch die sehr interessanten Rückfragen und Kommentare während und nach des Vortrags wurden mit aufgezeichnet.

Wer tiefer in das Thema Semantic Web einsteigen möchte, dem empfehle ich anschließend den Vortrag von Carina Haupt.

Die Folien sind hier verlinkt.

[important]Fragen unbeantwortet? Nutze die Kommentarfunktion ;-)[/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]