|
Technische Angaben zum ICRA-Kennzeichnungssystem
Zielpublikum
Dieses Dokument ist als definitive Quelle für Informationen über die Kennzeichnung von Inhalten mit dem ICRA-System gedacht. Es wurde zwar jede erdenkliche Anstrengung unternommen, um die Informationen verständlich zu präsentieren, allerdings sind sehr viele Einzelheiten sowie Verweise auf eine Vielzahl von Web-Technologien enthalten.
Die ICRA veröffentlicht daher auch kürzere und einfachere Erklärungen für Benutzer mit geringer oder keiner Erfahrung bei der Erstellung von Websites bzw. für Benutzer, die den hier enthaltenen Detaillierungsgrad nicht benötigen. Diese Kurzfassungen sind auf den Unterstützungsseiten zu finden1.
PDF-Version (A4-Format) 1,5 MB (auf englisch)
PDF-Version (US Letter-Format) 1,5 MB (auf englisch)
Version 1.0.3
Januar 2006
1 Einleitung
Die ICRA gibt es, um Benutzer dabei zu unterstützen, gewünschte Inhalte zu finden, denen sie vertrauen können und Inhalte zu vermeiden, die sie als ungeeignet für sich selbst oder für ihre Kinder erachten. Es wird ein Vokabular bereitgestellt, das verwendet werden kann, um jegliche digitale Inhalte auf eine Weise zu beschreiben, die eine umfassende Bandbreite der Bedenken von Eltern weltweit widerspiegelt.2. Das System dahinter jedoch ist in der Lage, Metadaten für beliebige Zwecke zu übermitteln.
Die Beschreibungen sind rechnerlesbar und können daher für eine Vielzahl von Vermittlungsdiensten wie Filtern, Suchmaschinen und Hilfsanwendungen verwendet werden, die Zusatzinformationen für Benutzer anzeigen.
ICRA-Kennzeichnungen sind in RDF3 codiert, einer der Kerntechnologien hinter dem Semantischen Web4. Dieses Dokument weist nicht spezifisch auf die zahlreichen Vorteile hin, die sich für Inhaltsanbieter durch das semantische Web ergeben, es wird lediglich darauf hingewiesen, dass Merkmale wie RSS, Shared Bookmarks, Blogs und Wikis zu den dazu beisteuernden Elementen gehören.
Hinweis: Die ICRA bietet zusammen mit dem Verknüpfungs-Tag auch eine vereinfachte PICS-Version der Kennzeichnung, um ältere Systeme, insbesondere den Inhaltsberaters des Internet Explorer zu unterstützen. Dieses Thema wird in einem eigenen Dokument behandelt.
1.1 Namensräume und Dokumentation
Der Namensraum des RDF-Schema, der den Rahmen für ICRA-Kennzeichnungen bietet, ist http://www.w3.org/2004/12/q/contentlabel#, und der empfohlene QName lautet label. Die entsprechende Dokumentation befindet sich unter http://www.w3.org/2004/12/q/doc/content-labels-schema.htm.
Der Namensraum für das ICRA-Vokabular ist https://icra.org/rdfs/vocabularyv03#, und der emfpohlene QName lautet icra. Die einfache Textversion des ICRA-Vokabulars und dessen ergänzender Definitionen befindet sich unter https://icra.org/vocabulary.
2 Das Schlüsselkonzept
Eine Inhaltskennzeichnung ist eine Beschreibung, d. h. ein Satz von Metadaten, der für verschiedene Ressourcen verwendet werden kann. Eine oder mehrere Kennzeichnungen werden in einer Datei hinterlegt, und Ressourcen werden damit entweder über einen (X)HTML-Verknüpfungs-Ttag oder einen HTTP- Response-Header verknüpft.
Die Datei, in der die Kennzeichnungen enthalten sind, ist eine RDF-Instanz und heißt in der Regel labels.rdf. Dies ist der Dateiname, der im Zuge der ICRA-Kennzeichungserstellung vergeben wird (siehe Abschnitt 2.3), an sich jedoch keine spezielle Bedeutung hat und in einen beliebigen Namen geändert werden kann.
Ressourcen könnten mit einer bestimmten Kennzeichnung oder mit einem Datensatz verknüpft werden, der es Clients ermöglicht, den URI der Ressource mit einer Reihe von Regeln abzugleichen, anhand der die korrekte Kennzeichnung ermittelt werden kann.
Inhaltsanbieter können somit wählen, ob die Zuordnung einer Ressource zu ihrer Kennzeichnung Client-seitig oder Server-seitig erfolgen soll.
2.1 Verknüpfen mit bestimmten Kennzeichnungen (Server-seitige Verarbeitung)
Abbildung 1 Server-seitige Zuordnung von Inhalten zu Kennzeichnungen
Abbildung 1 zeigt jede Ressource mit einer bestimmten Kennzeichnung verknüpft. Wenn die RDF-Instanz labels.rdf benannt ist, sich im Stammverzeichnis der Website befindet und eine Ressource mit einer Kennzeichnung namens "label_1" verknüpft werden soll, sieht der Verknüpfungs-Tag wie in Beispiel 1 dargestellt aus:
<link rel="meta" href="/labels.rdf#label_1" type="application/rdf+xml" title="ICRA labels" />
Beispiel 1 Ein typischer Verknüpfungs-Link, der eine bestimmte Kennzeichnung einer Ressource zuordnet
Der entsprechende HTTP-Response-Header sieht wie folgt aus:
Link: </labels.rdf#label_1>; /="/"; rel="meta" type="application/rdf+xml"; title="ICRA labels";
Beispiel 2 Der dem Beispiel 1 entsprechende HTTP-Response-Header
Bitte beachten Sie, dass die spezielle Kennzeicnung innerhalb der RDF-Instanz durch das URL-Fragment im Attribut href identifiziert wird. Das Attribut title ist optional, wird jedoch aus Gründen der Übersichtlichkeit empfohlen. Der Speicherort der Datei labels.rdf ist unerheblich. Es kann sich um einen beliebigen Speicherpfad auf einem beliebigen Server handen, allerdings muss der Pfad natürlich im Attribut href angegeben werden.
2.2 Verknüpfen mit bestimmten Kennzeichnungen (Server-seitige Verarbeitung)
Abbildung 2 zeigt einen Alternativansatz. Alle Ressourcen werden mit der RDF-Instanz verknüpft, aber die Verknüpfung gibt nicht die Kennzeichnung an. Stattdessen definiert die RDF-Instanz eine Standardkennzeichnung und kann ferner eine Abfolge von Regeln definieren, die auf regulären Perl 5-Ausdrücken beruhen und den Standard außer Kraft setzen können. Die erste zu erfüllende Regel der Abfolge gibt die richtige Kennzeichnung an.
Abbildung 2 Client-seitige Zuordnung von Inhalten zu Kennzeichnungen
Wenn die RDF-Instanz labels.rdf benannt ist und sich im Stammverzeichnis der Website befindet, sieht der Verknüpfungs-Tag wie in Beispiel 3 aus:
<link rel="meta" href="/labels.rdf" type="application/rdf+xml" title="ICRA labels" />
Beispiel 3 Typischer Tag für die Verknüpfung einer Ressource mit einer RDF-Instanz, die Regeln für die Identifikation der richtigen Kennzeichnung enthält.
Der entsprechende HTTP-Response-Header sieht wie folgt aus:
Link: </labels.rdf>; /="/"; rel="meta" type="application/rdf+xml"; title="ICRA labels";
Beispiel 4 Der dem Beispiel 3 entsprechende HTTP-Response-Header.
Wie bei Beispiel 1 sind der Speicherort und der Name der RDF-Instanz unerheblich.
2.3 Erstellen der RDF-Instanz
Die ICRA bietet auf ihrer Website ein Tool zum Erstellen der RDF-Instanz und der notwendigen Tags, das als Kennzeichnungserzeugung5 bezeichnet wird. Es eignet sich gleichermaßen für Personen mit geringen oder keinen Kenntnissen über die Erstellung von Webinhalten wie für fortgeschrittene Benutzer. Die Kennzeichnungserzeugung erstellt die RDF-Instanz basierend auf dem oben beschriebenen Client-seitigen Verarbeitungsmodell (Abschnitt 2.2), wenngleich sie ebenso für das Server-seitige Modell verwendet werden kann.
3 Der Inhalt der RDF-Instanz
Die RDF-Instanz muss eine oder mehrere Kennzeichnungen definieren. Insbesondere muss sie zumindest eine Instanz der RDF-Klasse "Content Label" nach Definition von http://www.w3.org/2004/12/q/contentlabel#ContentLabel definieren.
Hinweis: RDF-Inhaltskennzeichnungen können Anweisungen von einem beliebigen RDF-Schema enthalten; dieses Dokument allerdings befasst sich nur mit der Implementierung der ICRA.
Die RDF-Instanz kann ferner null oder mehr der folgenden Elemente definieren:
- Den/die Host(s), für den/die die Kennzeichnung(en) gilt/gelten. Darunter fallen auch Subdomänen.
- Eine zusätzliche Zeichenkette, die dem URI der Ressource für Kennzeichnungen in der anzuwendenden RDF-Instanz entspricht.
- Die Standardkennzeichnung.
- Eine geordnete Regelabfolge, die dem URI einer Ressource entsprechen sollte. Wird eine Regel erfüllt, muss eine Kennzeichnung vorgesehen sein, die den Standard außer Kraft setzt.
- Eine Beschreibung der RDF-Instanz selbst, aus der hervorgeht, wo zusätzlich Informationen über die Kennzeichnung zu finden sind und wie ihre Gültigkeit beurteilt werden kann.
Diese Elemente werden im Detail unter Bezugnahme auf Beispiel 5 erklärt. Wie alle Beispiele in diesem Dokument und anderen von der ICRA erstellten Dokumenten wird RDF in XML serialisiert. Dies ist jedoch keine Voraussetzung - andere Serialisierungen wie N36 sind gleichermaßen gültig.
1 |
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:label="http://www.w3.org/2004/12/q/contentlabel#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:icra="https://icra.org/rdfs/vocabularyv03#">
|
2 |
<rdf:Description rdf:about="">
<dc:creator rdf:resource="https://icra.org" />
<label:authorityFor>https://icra.org/rdfs/vocabularyv03#
</label:authorityFor>
</rdf:Description>
|
3 |
<label:Ruleset>
<label:hasHostRestrictions>
<label:Hosts>
<label:hostRestriction>example.org</label:hostRestriction>
<label:hostRestriction>example.com</label:hostRestriction>
</label:Hosts>
</label:hasHostRestrictions>
<label:hasDefaultLabel rdf:resource="#label_1" />
|
4 |
<label:rules rdf:parseType="Collection">
<rdf:Description>
<label:hasURI>photography</label:hasURI>
<label:hasLabel rdf:resource="#label_2"/>
</rdf:Description>
<label:UnionOf>
<label:hasURI>guestbook</label:hasURI>
<label:hasURI>messages</label:hasURI>
<label:hasLabel rdf:resource="#label_3" />
</label:UnionOf>
</label:rules>
</label:Ruleset>
|
5 |
<label:ContentLabel rdf:ID="label_1">
<rdfs:comment>Label for all/most of website</rdfs:comment>
<rdfs:label>No nudity, no sexual content, no violence, no
potentially offensive language, no potentially harmful
activities, no user-generated content</rdfs:label>
<icra:nz>1</icra:nz>
<icra:sz>1</icra:sz>
<icra:vz>1</icra:vz>
<icra:lz>1</icra:lz>
<icra:oz>1</icra:oz>
<icra:cz>1</icra:cz>
</label:ContentLabel>
<label:ContentLabel rdf:ID="label_2">
<rdfs:comment>Label for photography section</rdfs:comment>
<rdfs:label>Exposed breasts, Bare buttocks, No sexual
content, no violence, no potentially offensive language,
no potentially harmful activities, no user-generated
content, This material appears in an artistic
context</rdfs:label>
<icra:na>1</icra:na>
<icra:nb>1</icra:nb>
<icra:sz>1</icra:sz>
<icra:vz>1</icra:vz>
<icra:lz>1</icra:lz>
<icra:oz>1</icra:oz>
<icra:cz>1</icra:cz>
<label:hasModifier><icra:xa /></label:hasModifier>
</label:ContentLabel>
<label:ContentLabel rdf:ID="label_3">
<rdfs:comment>Label for guestbook and message board
</rdfs:comment>
<rdfs:label>No nudity, no sexual content, no violence, no
potentially offensive language, no potentially harmful
activities, user-generated content
(moderated)</rdfs:label>
<icra:nz>1</icra:nz>
<icra:sz>1</icra:sz>
<icra:vz>1</icra:vz>
<icra:lz>1</icra:lz>
<icra:oz>1</icra:oz>
<icra:ca>1</icra:ca>
</label:ContentLabel>
</rdf:RDF>
|
Beispiel 5 Ein Beispiel einer RDF-Instanz, die ICRA-Kennzeichnungen enthält
3.1.1 Abschnitt 1
Die Namensräume werden deklariert. Die QNamen label und icra werden für ihre jeweiligen Namensräume empfohlen.
3.1.2 Abschnitt 2
Dieser kurze Abschnitt deklariert, dass die Kennzeichnungen durch die ICRA erstellt wurden und dass weitere Informationen unter icra.org verfügbar sind. Da es möglich ist, Beschreibungen auf der Grundlage anderer Schmene zu inkludieren, legt dieser Abschnitt fest, dass icra.org nur Informationen über den ICRA-Namensraum aufweist.
3.1.3 Abschnitt 3
Aus diesem Abschnitt gehen die Hosts hervor, für die die Daten gelten. In dieser Instanz wird deklariert, dass die Kennzeichnungen sowohl für example.org als auch für example.com angewendet werden können. Auch Subdomänen wie z. B. www.example.org, sub.example.com etc werden abgedeckt.
Dieser Abschnitt deklariert ferner, dass die Standardinhaltskennzeichnung für Material auf diesen Hosts "label_1" ist (siehe 3.1.5).
Wenn Kennzeichnungen auf einen bestimmten Bereich der Hosts example.org und example.com eingeschränkt werden sollten, sähe dies so aus:
<label:hasURI>foo</label:hasURI>
Kennzeichnungen in dieser RDF-Instanz würden dann nur Ressourcen mit URIs auf den Hosts example.org oder example.com abdecken, die außerdem 'foo' enthalten Diese Funktion ist primär für Internet-Dienstanbieter vorgesehen, die persönlichen Webspate mit URLs wie www.example.org/username bereitstellen. Ist mehr als eine Eigenschaft "hasURI" enthalten, gelangt ein URI zur Anwendung, wenn eine davon zutrifft.
3.1.4 Abschnitt 4
Als nächstes werden die Regeln deklariert, die bestimmen, wann die Standardkennzeichnung durch eine andere Kennzeichnung außer Kraft zu setzen ist. In diesem Beispiel wird alles im Abschnitt 'photography' von sowohl example.com als auch example.org "label_2" zugeordnet, während alles mit entweder dem Wort "guestbook " oder " messages" in der URL "label_3" zugeordnet wird. Ansonsten gilt der Standard.
Die Zuordnung erfolgt über reguläre Perl 5-Anweisungen7. Soll eine Regel also beispielsweise für "alle URLs, die mit .jpg enden" gelten, würde dies als \.jpg$ ausgedrückt.
Die Verwendung von rdf:parseType="Collection" gewährleistet, dass Regeln der Reihe nach verarbeitet werden. Die erste Regel, die erfüllt wird, ist jene, die verwendet wird, und die Verarbeitung endet an dieser Stelle.
3.1.5 Abschnitt 5
Letztlich werden die Kennzeichnungen selbst definiert. In dem Beispiel gibt "label_2" an, dass nackte Brüste und Gesäße vorhanden sind und das Material jeweils in einem künstlerischen Zusammenhang vorkommt. "Label_3" deklariert, dass moderierte, benutzergenerierte Inhalte vorhanden sind, und "label_1" besagt ""Keine oder obigen Angaben trifft zu" in allen Kategorien des ICRA-Vokabulars.
4 Einstellen des MIME-Typs
Der korrekte MIME-Typ für RDF-Instanzen ist application/rdf+xml8. Standardmäßig unterstützt Ihr Server dies unter Umständen nicht9. Ist dies der Fall, müssen Sie eine von zwei Vorgangsweisen wählen:
- Idealerweise fügen Sie den MIME-Typ application/rdf+xml hinzu, der in der Regel der Dateierweiterung .rdf zugeordnet ist.
- Wenn Sie dazu aus irgendeinem Grund nicht in der Lage sind, versuchen Sie, den Namen der RDF-Instanz in label.xml zu ändern. Der XML-MIME-Typ (application/xml) ist eine akzeptable Alternative und ist verbreiteter in standardmäßigen Serverkonfigurationen enthalten.
- Manche Server können auch text/xml als MIME-Typ für Dateien mit der Erweiterung .xml anbieten. Dies führt aller Wahrscheinlichkeit nach zu keinen Problemen für Clients, die nach ICRA-Kennzeichnungen suchen, sollte aber nicht verwendet werden, wenn Sie ICRA-Kennzeichnungen in ein aufwändigeres Datenumfeld wie eine Datenbank aufnehmen oder wenn der Zeichensatz nicht iso-8859-1 (Latin-1) ist.
Wird keine dieser Optionen befolgt, kann Ihr Server einen standardmäßigen MIME-Type wie text/plain verwenden. In diesem Fall kann ein Client die Daten als RDF erkennen oder auch nicht und demgemäß korrekt verarbeiten oder auch nicht.
Falls Sie IIS-Server betreiben und nicht sicher sind, wie Sie neue MIME-Typen hinzufügen können, lesen Sie bitte den nachfolgenden Abschnitt 5.3.
Wird Ihr Server durch eine Firewall geschützt, müssen Sie gegebenenfalls auch diese entsprechend konfigurieren.
5 Verfahren zum Einfügen der Tags
Nachdem Sie die RDF-Instanz erstellt haben, besteht der nächste Schritt darin, die Verknüpfungen darin einzufügen. Damit eine Website als vollständig gekennzeichnet betrachtet werden kann, müssen Verknüpfungen auf jeder (X)HTML-Seite und sollten idealerweise auch in allen Ressourcen enthalten sein.
Die Möglichkeit, die Kennzeichnungsverarbeitung vom Server auf den Client zu verlagern, bietet einen entscheidenden Vorteil: es kann in allen Ressourcen ein identischer Link eingefügt werden. Das gilt gleichermaßen für Kennzeichnungen, die eine kleine Website abdecken wie für solche, die ein weltweites Netzwerk von Internetplattformen erfassen.
Am effizientesten ist es, den/die Server so zu konfigurieren, dass die Verknüfpung in den HTTP-Response-Headers enthalten ist. Dadurch wird auch verhindert, dass der Tag versehentlich gelöscht (oder vergessen) wird, wenn Seiten umgestaltet werden. Die Kontrolle der Kennzeichnungen befindet sich dann fest in den Händen der Person (oder Abteilung), die für die Verwaltung der RDF-Instanz zuständig ist. Dabei kann es sich um dieselbe Person (oder Abteilung) handeln, die für die Inhaltserstellung verantwortlich ist, was jedoch nicht unbedingt der Fall sein muss. Alternativ kann ein (X)HTML-Verknüpfungs-Tag (ähnlich Beispiel 1 oder Beispiel 3, je nach Fall) in eine Dokumentvorlage eingefügt werden bzw. kann jedes sonstige Verfahren verwendet werden, auf dass Sie üblicherweise zurückgreifen, um dieselben Daten in den <head>-Abschnitt jeder Seite einzufügen.
5.1 Ist es wichtig, den Tag auf jeder Seite einzufügen?
Ja. Wenn ein Benutzer Ihre Website zum ersten Mal besucht, erkennt dessen Client die Kennzeichnungen nur, wenn eine Verknüpfung vorhanden ist. Ist die Verknüpfung beispielsweise nur auf der Startseite vorhanden, profitieren Benutzer, die über andere Seiten auf Ihre Website gelangen, nicht davon.
5.2 Apache-Serverkonfiguration
Für die Steuerung von Apaches HTTP-Response-Headern gibt es mehrere Möglichkeiten. Wenn Sie bereits aus anderen Gründen Header einstellen, können Sie beim selben Verfahren bleiben. Falls nicht, ist nachstehend eine robuste, funktionierende Methode angegeben.
5.2.1 Installieren von Mod_Headers
Mod_Headers ist grundsätzlich nicht in der Standardkonfiguration vorgesehen, aber so gut wie sicher in Ihrer Apache-Installation enthalten und braucht daher nur "aktiviert" zu werden, indem das Kommentarsymbol vor zwei Zeilen in der Datei httpd.conf entfernt wird.
Es gibt für Apache zahlreiche verschiedene "bevorzugte Möglichkeiten", was nachfolgend beschrieben wird, kommt den Anforderungen jedoch vermutlich zumindest nahe.
Suchen Sie im DSO-Abschnitt der Datei httpd.conf nach:
LoadModule headers_module modules/mod_headers.so
Bei manchen Versionen genügt dies; andere erfordern zudem den nachfolgenden Befehl:
AddModule mod_headers.c
Die Kommentare in Ihrer Konfigurationsdatei sowie das Vorhandensein (oder Fehlen) ähnlicher Befehle für andere Module gibt Ihnen Hinweise darauf, was zu tun ist.
5.2.2 Einstellen desselben Response-Headers für alle Ressourcen
Unter der Annahme, dass die RDF-Instanz labels.rdf benannt ist und sich im Dokumentenstammverzeichnis des Webservers befindet, erzielt der folgende, in die Datei httpd.conf eingefügte Befehl das gewünschte Ergebnis.
Header set Link '</labels.rdf>; /="/"; rel="meta" type="application/rdf+xml"; title="ICRA labels";'
Anmerkung: Diese Befehl sollte insgesamt in einer Zeile aufscheinen.
5.2.3 Verknüpfen zu spezifischen Kennzeichnungen mit HTTP-Response-Headern
Wie andere Apache-Konfigurationsoptionen können auch HTTP-Response-Header innerhalb von Blockanweisungen eingestellt werden. Beispiel 6 stellt die Verknüpfung auf "label_2" für alle Ressourcen in /var/www/images/.
<Directory /var/www/images/>
Header add Link '</labels.rdf#label_2>; /="/";
rel="meta" type="application/rdf+xml";
title="ICRA labels";'
</Directory>
Example 6 Eine einfache Blockanweisung, die einen Header für alle Ressourcen im Verzeichnis images einstellt
Wie oben sollte der Befehl Header add Link in einer einzigen Zeile aufscheinen.
Blockanweisungen ermöglichen im Bedarfsfall auch eine sehr verfeinerte Kontrolle der HTTP-Response-Header*. Beispiel7 stellt einen Header ein, der auf "label_1" verweist, und zwar für alle Ressourcen im Verzeichnis /var/www/ (und dessen Unterverzeichnissen), aber wenn der Dateiname auf .gif, .jpg, .jpeg oder .png endet, wird die Header-Verknüpfung zu "label_2" aufgerufen.
<Directory /var/www/>
Header add Link '</labels.rdf#label_1>; /="/";
rel="meta" type="application/rdf+xml";'
<Files ~ "\.(gif|jpe?g|png)$">
Header unset Link
Header add Link '</labels.rdf#label_2>; /="/";
rel="meta" type="application/rdf+xml";'
</Files>
</Directory>
Beispiel 7 Eine genistete Blockanweisung, die einen unterschiedlichen Header für Grafikdateien und sonstige Dateien innerhalb desselben Blocks einstellt.
Beachten Sie in Beispiel 7, dass der Link in der Datei-Blockanweisung mit unset aufgehoben wird. Der Grund dafür ist, dass, wenn eine Ressource mit einer bestimmten Kennzeichnung verknüpft ist, diese Kennzeichnung die höchste Priorität erhält und nicht außer Kraft gesetzt werden kann (siehe Abschnitt 7). Es entspricht daher einem Fehler, mehr als eine Verknüpfung zu bestimmten Kennzeichnungen einzubauen, und das zu erwartende Verhalten von Clients ist unter diesen Umständen nicht definiert10.
* Manche Versionen von Apache gestatten unter Umständen nicht, dass Headers in einer Virtual Host-Blockanweisung eingestellt werden.
Viele Inhaltsanbieter werden nur eine einzige Kennzeichnung oder höchstens eine Handvoll Kennzeichnungen für ihre Website benötigen. Der Regelsatz jedoch bietet große Flexibilität und eine verfeinerte Kontrolle darüer, welche Kennzeichnung welchen Ressourcen zuzuordnen ist. Es stehen drei Regelgrundarten zur Verfügung:
<rdf:Description>
Eine einfache Regel, die einen einzigen regulären Ausdruck in einem hasURI-Element deklariert, das, wenn der Ausdruck vorkommt, die korrekte Kennzeichnung identifiziert.
<label:UnionOf>
Eine Regel, die zwei oder mehr reguläre Ausdrücke in hasURI-Elementen enthält, die, wenn ein beliebiger Ausdruck davon vorkommt, eine korrekte Kennzeichnung identifizieren.
<label:IntersectionOf>
Eine Regel, die zwei oder mehr reguläre Ausdrücke in hasURI-Elementen enthält, die, wenn alle davon vorkommen, eine korrekte Kennzeichnung identifizieren.
In Beispiel 5 werden zwei Regeln deklariert:
<rdf:Description>
<label:hasURI>photography</label:hasURI>
<label:hasLabel rdf:resource="#label_2" />
</rdf:Description>
Jede Ressource, deren URI die Zeichenkette "photography" enthält (und die sich auf einem der deklarierten Hosts befindet) wird durch "label_2" beschrieben.
<label:UnionOf>
<label:hasURI>guestbook</label:hasURI>
<label:lasURI>messages</label:hasURI>
<label:hasLabel rdf:resource="#label_3" />
</label:UnionOf>
Wenn ein URI nicht der ersten Regel entspricht, versucht ein Client, ihn gegen "guestbook" und "messages" abzufragen. Tritt eine Entsprechung (für einen der beiden Begriffe) auf, gelangt "label_3" zur Anwendung.
Wie in Beispiel 8 gezeigt, ist es möglich, Regeln zu nisten. "Label_2" würde gelten, wenn die URL sowohl "colour" als auch "image" oder sowohl "monochrome" als auch "image" enthielte. Beachten Sie, dass hasLabel eine Eigenschaft der "äußeren" Regel ist.
<label:UnionOf>
<label:rules>
<label:IntersectionOf>
<label:hasURI>colour</label:hasURI>
<label:hasURI>image</label:hasURI>
</label:IntersectionOf>
<label:IntersectionOf>
<label:hasURI>monochrome</label:hasURI>
<label:hasURI>image</label:hasURI>
</label:IntersectionOf>
</label:rules>
<label:hasLabel rdf:resource="#label_2"" />
</label:UnionOf>
Example 8 Eine genistete Regel
Es ist möglich, eine globale Standardkennzeichnung unter Verwendung eines Regelsatzes festzulegen, die allerdings dann außer Kraft gesetzt wird, wenn eine Kennzeichnung direkt von der Ressource aus verknüpft ist. Wenn nämlich eine Ressource eine direkte Verknüpfung zu einer bestimmten Kennzeichnung aufweist, wie in Abschnitt 2.1 beschrieben, wird dies als vorrangig gegenüber dem Ergebnis des Regelsatzes behandelt.
In einem typischen Beispiel könnte ein Inhaltsanbieter Server so konfigurieren, dass sie einen HTTP-Response-Header enthalten, der zu einer Datei verweist, ähnlich Beispiel 5. Eine Ressource unter www.example.org/page.html wird durch die Standardkennzeichnung ("label_1") beschrieben, da keine der Regeln zutrifft.
Enthielte page.html allerdings eine Verknüpfung zu "label_2" unter Verwendung eines Tags wie diesem:
<link rel="meta" href="/labels.rdf#label_2" type="application/rdf+xml" title="ICRA label" />
würden der Standard dadurch außer Kraft gesetzt und eine Zuordnung zu "label_2" vorgenommen
Ein wichtiger Punkt
Eine Verknüpfung zu einer bestimmten Kennzeichnung können Sie nicht außer Kraft setzen. Wenn Sie Ihr System so konfigurieren, dass es eine Verknüpfung zu labels.rdf#label_1 (sei es durch einen Verknüpfungs-tag oder einen HTTP-Response-Header) umfasst, können Sie dies daher nicht mit einer Verknüpfung zu einer anderen Kennzeichnung außer Kraft setzen. Sie müssen einen Regelsatz in Form von label:Ruleset verwenden, um die Standardkennzeichnung anzugeben und diese durch eine spezifische Verknüpfung außer Kraft setzen zu können.
Für eine gegebene Ressource (eine Seite, ein Bild etc.) gibt es drei mögliche Quellen für eine Kennzeichnung:
Wie nachfolgend erläutert, SOLLTEN Filter jeder dieser Quellen aufsteigende Priorität zuordnen.
Abbildung 6 Die vor jeder Anforderung ans Internet durchzuführende Verarbeitung.
Hat der Filter bereits eine Kennzeichnung für die angeforderte URL im Cache, ist Kennzeichnungstyp 1 sofort verfügbar. Wurde die Kennzeichnung ursprünglich von derselben Website wie die nun angeforderte URL abgerufen, SOLLTE die Kennzeichnung als Typ 2 betrachtet werden.
Wurden die Kennzeichnungsdaten im Cache von einer anderen Website abgerufen, bleibt die Kennzeichnung ein Typ 1, und die Ressource sollte abgeholt und auf weitere Daten überprüft werden.
Zum Beispiel:
Dafür gibt es mehrere Gründe, die jedoch alle auf den Grundgedanken zusammenlaufen, dass von einer Ressource verknüpfte Kennzeichnungen dem Inhaltsanbieter "näher" sind als Kennzeichnungen, die unter Umständen von jemandem mit wenig oder keiner Verbindung zu den beschriebenen Inhalten veröffentlicht wurden. Dies wird im nächsten Abschnitt ergänzt, indem Kennzeichnungen, die von der Ressource selbst verknüpft werden, weitere Priorität eingeräumt wird.
Kennzeichnungen des Typs 1 sind nicht mit Kennzeichnungen von Drittanbietern zu verwechseln. Ist ein Filter so konfiguriert, dass er Kennzeichnungen von der Quelle eines Drittanbieters wie einer Online-Datenbank oder einer Inhaltsanalyse anfordert, behandelt der Filter solche Daten separat. Kennzeichnungen des Typ 2 haben vornehmlich aus Gründen der Philosophie hiinter der Selbstkennzeichnung Vorrang gegenüber Kennzeichnungen des Typs 1.
Befinden sich keine Daten im Cache des Filters, MUSS die Ressource unter der URL abgefragt werden.
Abbildung 7 Die Verarbeitungsregeln nach dem Abrufen einer Ressource.
Wenn die Ressource Verknüpfungen zu Kennzeichnungsdaten enthält, kann es notwendig sein, sie abzurufen und zu verarbeiten. (Bedenken Sie, dass Kennzeichnungen immer separat, nie innerhalb der Ressource selbst gespeichert sind.)
Wenn die Ressource eine Verknüpfung zu einer bestimmten Kennzeichnung enthält, fällt dies unter Typ 3. Da dies der höchsten Priorität der Hierarchie entspricht, ist es, wenn eine Kennzeichnung des Typs 3 verfügbar ist, nicht erforderlich, die korrekte Kennzeichnung für diese Ressource zu ermitteln.
Allerdings SOLLTEN Clients sehr wohl etwaige Hostrestriktionen prüfen. Eine Kennzeichnung sollte klarerweise nur dann als gültig anerkannt werden, wenn die Ressource, die darauf verweist, vom/von den deklarierten Host(s) stammt. Werden keine Hostrestriktionen deklariert, KANN ein Client die Kennzeichnung akzeptieren.
Die Kennzeichnungen des Typs 3 verliehene Priorität ist der entscheidende Schritt, der es Inhaltsanbietern ermöglicht, mit einer globalen Standardkennzeichnung und lokalen Ausnahmeregeln zu arbeiten.
Wenn die Ressource eine Verknüpfung zu derselben Ressource aufweist, die bereits zur Identifizierung einer Kennzeichnung des Typs 2 verarbeitet wurde, ist eindeutig keine weitere Verarbeitung notwendig; die korrekte Kennzeichnung wurde bereits ermittelt.
Wenn eine Verknüpfung jedoch auf eine andere Datenquelle als jene verweist, die bereits verwendet wurde, um eine Kennzeichnung des Typs 2 herzuleiten, SOLLTEN die neuen Daten verarbeitet werden. Der Grund dafür ist, dass die Möglichkeit besteht, auf einer Website eine beliebige Anzahl von Datendateien einzubauen, und es kann davon ausgegangen werden, dass diejenige, auf die von einer bestimmten Ressource verwiesen wird, der entspricht, deren Verwendung der Inhaltsanbieter beabsichtigt hat.
Sind in einer Ressource keine Verknüpfungen vorhanden, bleibt als einzige Information das, was vor dem Abholen der Ressource verfügbar war.
Wenn mehrere Kennzeichnungen desselben Typs verfügbar sind, stellt dies einen Fehler seitens des Inhaltsanbieters dar. Der Filter KANN beliebige davon verwenden, aus Gründen der Effizienz wird jedoch normalerweise nur die erste gefundene Kennzeichnung eines bestimmten Typs verwendet.
10 Arbeiten mit anderen RDF-Schemen
Eine ICRA-Kennzeichnung und der Regelsatz sind lediglich RDF-Klassen, deren Typen durch das relevante Schema definiert sind. All diese Elemente können in einer beliebigen RDF-Instanz enthalten sein. Umgekehrt können jegliche sonstige RDF-Metadaten in einer "ICRA-Kennzeichnungsdatei" enthalten sein.
Inhaltsanbieter werden sogar ermutigt, auch andere Schemen zu nutzen.
10.1 Management-Informationen 10.2
Das vielleicht bekannteste Metadatenschema, das regelmäßig in RDF codiert wird, ist Dublin Core12. Zusammen mit Creative Commons13-Lizenzen und ähnlichen Schemen, kann dies direkt in Inhaltskennzeichnungen, aber auch in eine Sonderklasse für Management-Informationen aufgenommen werden.
Auf exakt dieselbe Weise wie für Inhaltskennzeichnungen definiert das Kennzeichnungssschema die Eigenschaften hasDefaultManagementInfo und hasManagementInfo. Diese verweisen auf RDF-Inhaltskennzeichnungen, die Daten wie Titel, Ersteller und Veröffentlichungsdatum enthalten können. Management-Informatsionskennzeichnungen bestehen unabhängig von Inhaltskennzeichnungen, die über die Eigenschaftskennzeichnungen hasDefaultLabel und hasLabel verknüpft werden. Somit ist es möglich, eine Regel zu verwenden, die die Standard-Management-Informationskennzeichnung außer Kraft setzt, ohne dadurch die ICRA-Kennzeichnung zu beeinträchtigen.
10.2 Klassifizierung
Inhaltskennzeichnungen sind, unabhängig davon, ob sie ICRA-Deskriptoren oder sonstige Metadaten enthalten, darauf ausgelegt, detaillierte Deskriptoren zu enthalten. Formeller ausgedrückt handelt es sich um Klassen mit Eigenschaften, die die Ressource beschreiben. Auch ein dritter Beschreibungstyp wird in dem Kennzeichnungsschema definiert - eine Klassifizierung. Wiederum gibt es analoge Eigenschaften: hasDefaultClassification und hasClassification. Im Gegensatz zu einer Inhaltskennzeichnung allerdings ist eine Klassifizierung darauf ausgelegt, selbst eine Beschreibung darzustellen.
Zum Beispiel kann die Klassifizierung eine Altersfreigabe für einen Film sein oder einen Artikel thematisch "Politik" statt "Mode" zuordnen. Worum es sich bei der Klassifizierung auch handelt, Clients sind nicht verpflichtet, Eigenschaften einer Klasse zu verarbeiten, die durch eine Eigenschaft hasClassification oder hasDefaultClassification verknüpft sind.
Auch Klassifizierungen bestehend unabhängig, so dass eine Standardklassifizierung keine Auswirkungen auf Management-Informationen oder Inhaltskennzeichnung hat.
11 Häufigkeitsergänzungen
Filme, TV-Programme, Spiele und sonstige Inhalte, die "eine gewisse Dauer" aufweisen, benötigen unter Umständen mehr als eine Kennzeichnung. Es könnte beispielsweise angemessen sein, eine Kennzeichnung bereitzustellen, die eine bestimmte Szene in einem Film oder einen Inhaltstyp beschreibt, der gelegentlich im Verlauf eines Spiels auftritt. Um dies zu ermöglichen, unterstützt das Inhaltskennzeichnungsschema einen Satz von Häufigkeitsergänzungen:
- weist häufige Szenen auf
- weist einige Szenen auf
- weist gelegentliche Szenen auf
- weist eine einzige Szene auf
Eine Standard-RDF-Beschreibung könnte wie in Beispiel 9 gezeigt aussehen. Diese kann wie jede andere RDF-Beschreibung für sich allein stehen oder einen Teil einer Abfolge von Regeln in einem label:Ruleset bilden.
<rdf:Description rdf:about="http://example.org/movie.mov>
<label:hasLabel rdf:resource= "#label_1" />
<label:hasOccasionalScenes rdf:resource="#label_2" />
<label:hasSingleScene rdf:resource="#label_3" />
</rdf:Description>
Beispiel 9 Beschreibung eines Films mit Häufigkeitsergänzungen
Häufigkeitsergänzungen haben einen Bereich von label:ContentLabel. Das heißt, sie MÜSSEN zu einer Klasse dieses Typs verknüpfen.
12 Ein paar Tipps
12.1 Alles dreht sich um RDF
Inhaltskennzeichnungen, Hostrestriktionen, Regeln - all das sind lediglich RDF-Fragmente. Nicht alle müssen in einer einzigen Datei namens labels.rdf enthalten sein. Wenn Sie mit RDF vertraut sind, können Sie sich ICRA-Kennzeichnungen schlicht als Teil Ihrer Metadaten vorstellen.
12.2 Verwalten von Kennzeichnungen für mehrere Websites
Wenn Sie zahlreiche Websites verwalten, die dieselbe ICRA-Kennzeichnung aufweisen sollten, erstellen Sie eine Datei, die die Kennzeichnung enthält, und fertigen im Rahmen Ihrer üblichen Vorlage einen Verknüpfungs-Tag an, der darauf verweist.. Vergessen Sie nicht: Die Kennzeichnungen müssen nicht auf demselben Server gespeichert sein, sie können sich überall befinden.
Sie brauchen keine Hostrestriktion vorzusehen- wenn eine Ressource auf eine Kennzeichnung verweist und in der RDF-Instanz keine Hostrestriktionen angegeben sind, ist die Kennzeichnung gültig. Der Nachteil daran ist, dass grundsätzlich jeder auf Ihre Kennzeichnung verweisen kann, was für Ihren Server eine erhebliche Zusatzbelastung bedeuten könnte.
Wenn Sie eine Hostrestriktion vorsehen möchten, kann dies in einer völlig getrennten Datei erfolgen. Beispiel 10 zeigt, wie dies bewerkstelligt werden kann. Die zwei RDF-Fragmente können sich in derselben Datei (wie hier dargestellt) oder in getrennten Dateien auf unterschiedlichen Servern befinden. In diesem Fall müssten Sie einen vollständigen URI (einschließlich der Fragmentidentifikation) als rdf:resource angeben.
<label:Ruleset>
<label:hasHostRestrictions rdf:resource="#hosts" />
...
</label:Ruleset>
<label:Hosts rdf:ID="hosts">
<label:hostRestriction>gt;example.com</label:hostRestriction>
<label:hostRestriction>gt;example.org</label:hostRestriction>
</label:Hosts>
Beispiel 10 Ein Regelsatz, der zu einer "externen" Liste von Hostrestriktionen verknüpft
Dies ermöglicht es Ihnen, eine stabile Datei für die Kennzeichnungen einzurichten und danach bei Bedarf die Liste der Hostrestriktionen dynamisch zu generieren.
12.3 Eine spezifische Kennzeichnung für eine spezifische Seite
Kennzeichnungen, die sich auf eine einzige Ressource beziehen, können in einer eigenen Datei abgelegt werden. Sie könnten beispielsweise eine Standard-Kennzeichnungsdatei (mit einem Regelsatz) einrichten, alles damit verknüpfen und anschließend eine völlig eigenständige Kennzeichnungsdatei für eine bestimmte Seite mit einem spezifischen Link zu der Kennzeichnung erstellen.
Überlegen Sie am besten, was für Sie am geeignetsten ist. In der Praxis wird es höchstwahrscheinlich funktionieren.
13 Testen der Kennzeichnungen
Die ICRA-Website bietet ein Online-Tool, das die korrekte Kennzeichnung für eine angegebene URL14 ermittelt.
14 Änderungsprotokoll
Version 1.0.1: Abschnitt über Verknüpfung zu icra.org/sitelabel hinzugefügt (Abschnitt 9). Nachfolgende Abschnitte neu nummeriert.
Version 1.0.2 Dokumentation über hostRestriction dahingehend geändert, dass die Eigenschaft hasHostRestrictions und Hostklassen darin abgedeckt werden.
Version 1.0.3 Abschnitt bezüglich PICS-Kennzeichnungsdokument hinzugefügt.
Powered by |
|
ICRA Deutschland |
 |
 |
|