Linked (Open) Data - Von der Theorie zur Praxis

Daten aus externen Quellen einbinden und aktuell halten

  Daten aus externen Quellen einbinden und aktuell halten

 

 

Daten aus externen Quellen einbinden und aktuell halten

Anwendungen wie energyinfo.ch stehen vor der Herausforderung, die Daten der Partnerfirmen aktuell halten zu können. Das kann beinahe nur gelingen, wenn die Partner ihre Daten selbst pflegen. Doch wie bringt energyinfo.ch diese dazu, das auch wirklich zu tun? Die meisten Firmen, unterhalten viele Geschäftsbeziehungen. Die eigenen Daten bei all diesen Partnern aktuell zu halten, ist beinahe unmöglich. Das semantische Web stellt hier eine mögliche Lösung zur Verfügung, die den Unterhalt und die Publikation von Daten im geschäftlichen Umfeld wesentlich erleichtert: die sogenannten Mikroformate. Diese nutzen wir auch in unserer Applikation für energyinfo.ch. Energyinfo.ch stellt seinen Kunden ein Formular zur Verfügung, in das diese ihre Daten eingeben können.

Zur Strukturierung dieser Daten wird das Vokabular ‚schema.org‘ genutzt. Die Kunden von energyinfo.ch erhalten – wenn Sie hier ihre Daten eingeben, diese im Mikrodaten-Format und als JSON Linked Data (JSON-LD) wieder zurück. Die Mikrodaten sehen dann wie folgt aus :

<div itemscope itemtype="http://schema.org/LocalBusiness">
  <meta itemprop="name" content="Firma X" /> 
  <meta itemprop="url" content="http://www.firma-x.ch" />
  <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
    <meta itemprop="streetAddress" content="Gundeldingerstrasse 424" />
    <meta itemprop="addressLocality" content="Basel" />
    <meta itemprop="addressRegion" content="BS" /> 
    <meta itemprop="addressCountry" content="CH" /> 
    <meta itemprop="postalCode" content="4053" />
  </div>
  <div>
    <meta itemprop="telephone" content="+41 61 332 61 78" />
    <meta itemprop="email" content="info@firma-x.ch" />
  </div>
  <div itemscope itemtype="http://schema.org/Product">
    <meta itemprop="name" content="Wärmepumpe" />
    <meta itemprop="category" content="http://sns.uba.de/umthes/_980dc690b1d9dc6b554401d78f39d664" />
    <meta itemprop="category" content="http://sns.uba.de/umthes/_35d657818399661d481e235f707b9dad" />
    <meta itemprop="category" content="http://sns.uba.de/umthes/_5f5380fff24777837b3a76dfd88956d6" />
  </div>
  <div itemscope itemtype="http://schema.org/Product">
    <meta itemprop="name" content="Elektroheizung" />
    <meta itemprop="category" content="http://sns.uba.de/umthes/_575a1c216d2ee36d21d3f2324445057d" />
  </div>
</div>

Diese können sie nun in ihre Webseite und in viele andere Applikationen einfügen. Wollen sie später z.B. ihre Adresse ändern, müssen sie das nur noch an einem Ort tun: auf ihrer eigenen Webseite. Alle andern Dienste, die die ausgezeichneten Daten nutzen, können sporadisch ihre Daten wieder mit denjenigen auf der Website synchronisieren. So synchronisiert auch energyinfo.ch ihre Kundendaten regelmässig mit den Datensätzen auf der Websites der Partner und kann so sicher sein, dass immer die korrekten Angaben vorhanden sind.

Die Partner profitieren aber nicht nur intern von den Mikrodaten, die sie von energyinfo.ch erhalten. Denn auch die Suchmaschinen nutzen diese Auszeichnungen. Aufgrund der Auszeichnung der Adressdaten, wissen Google, Bing, Yandex und Yahoo (siehe z.B. Google Knowledge Graph - ) nicht nur, dass auf einer Webseite Adressdaten vorhanden sind, sondern kann diese auch erfassen. Mit schema.org ausgezeichnete Adressdaten auf einer Webseite werden daher schneller und zuverlässiger gefunden – was meist mit einer höheren Positionierung im Ranking der Suchresultate einhergeht.

energyinfo.ch will diese Daten allerdings weiterverarbeiten. Dazu braucht es die Daten nicht als Mikrodaten, sondern im Format RDF/XML. Daher werden die Daten jeweils in RDF-XML konvertiert und anschliessend im eigenen Triple-Store lokal gespeichert. (Mehr dazu im folgenden Kapitel.) Nach der Konvertierung verfügt energyinfo.ch somit über RDF Datensätze, die wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfa="http://www.w3.org/ns/rdfa#"
   xmlns:schema="http://schema.org/"
>
  <rdf:Description rdf:nodeID="N3f8ca3cae8c749758c450f5a61a084b0">
    <schema:streetAddress>Gundeldingerstrasse 424</schema:streetAddress>
    <rdf:type rdf:resource="http://schema.org/PostalAddress"/>
    <schema:addressRegion>BS</schema:addressRegion>
    <schema:addressLocality>Basel</schema:addressLocality>
    <schema:addressCountry>CH</schema:addressCountry>
    <schema:postalCode>4053</schema:postalCode>
  </rdf:Description>
  <rdf:Description rdf:nodeID="Nf30936384e2247329a22fc3bc2fbf9fa">
    <rdf:type rdf:resource="http://schema.org/LocalBusiness"/>
    <schema:name>Firma X</schema:name>
    <schema:url>http://www.firma-x.ch</schema:url>
    <schema:address rdf:nodeID="N3f8ca3cae8c749758c450f5a61a084b0"/>
    <schema:telephone>+41 61 332 61 78</schema:telephone>
    <schema:email>info@firma-x.ch</schema:email>
  </rdf:Description>
  <rdf:Description rdf:nodeID="N85cf205e23af4232ad0422df326a2b83">
    <rdf:type rdf:resource="http://schema.org/Product"/>
    <schema:category>http://sns.uba.de/umthes/_575a1c216d2ee36d21d3f2324445057d</schema:category>
    <schema:name>Elektroheizung</schema:name>
  </rdf:Description>
  <rdf:Description rdf:nodeID="N5a82a8ec6ac74affb9685fb837a7c1ab">
    <schema:category>http://sns.uba.de/umthes/_5f5380fff24777837b3a76dfd88956d6</schema:category>
    <schema:name>Wärmepumpe</schema:name>
    <rdf:type rdf:resource="http://schema.org/Product"/>
    <schema:category>http://sns.uba.de/umthes/_980dc690b1d9dc6b554401d78f39d664</schema:category>
    <schema:category>http://sns.uba.de/umthes/_35d657818399661d481e235f707b9dad</schema:category>
  </rdf:Description>
  <rdf:Description rdf:about="">
    <rdfa:usesVocabulary rdf:resource="http://schema.org/"/>
  </rdf:Description>
</rdf:RDF>

 

Protokolle der Realisierung