190 likes | 303 Views
RDF-Anwendungen: CC/PP. Richard Cyganiak, 20. Mai 2003. Seminar “Grundlagen des Semantic Web” Prof. Robert Tolksdorf Freie Universität Berlin, Institut für Informatik. Inhalt. Wozu CC/PP? Der CC/PP-Standard Aufbau eines Profils, Beispiel Vokabulare UAProf. Wozu CC/PP?. Problem:
E N D
RDF-Anwendungen: CC/PP Richard Cyganiak, 20. Mai 2003 Seminar “Grundlagen des Semantic Web” Prof. Robert Tolksdorf Freie Universität Berlin, Institut für Informatik
Inhalt • Wozu CC/PP? • Der CC/PP-Standard • Aufbau eines Profils, Beispiel • Vokabulare • UAProf
Wozu CC/PP? • Problem: • immer mehr verschiedene Geräte im Internet • Inhalte müssen für Empfangsgerät maßgeschneidert werden • brauchen Framework zur Gerätebeschreibung • Mobiltelefone • PDAs • Drucker • Geräte im LAN • VoIP
Der CC/PP-Standard (1) • Composite Capability/Preference Profile • Capabilities • Bildschirmauflösung • akzeptierte Dateiformate • Möglichkeit zur Spracheingabe vorhanden? • Preferences • akzeptiere Download von Applets zum Handy? • akzeptiere XHTML-Frames?
Der CC/PP-Standard (2) • CC/PP Working Group des W3C • Mitarbeit: Ericsson, T-Mobil, IBM, Nokia, Fujitsu, Panasonic, SAP, Sun, Adobe, ... • Kooperation mit IETF und WAP Forum • aktueller Stand: Last Call Working Draft(25. März 2003)
Anwendungsbeispiel Mobiler Klient Gateway Server “Ich kann WML und XHTML” “Ich kann nur WML” PDF WML XHTML XHTML
Umfang von CC/PP • Definiert keine Mechanismen zur Übertragung von Profilen • Definiert kein konkretes Vokabular zur Beschreibung von Geräten • CC/PP ist ein Framework • definiert Schema für Struktur eines Profils • formuliert Anforderungen an konkrete Vokabulare
Logische Struktur eines Profils Profil Komponente Attribut Attribut Attribut Komponente Attribut Attribut
Beispiel-Profil (1) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ccpp="http://www.w3.org/2002/11/08-ccpp-schema#" xmlns:prf="http://www.wapforum.org/profiles/UAPROF/ccppschema#"> <rdf:Descriptionrdf:about="http://example.com/MyProfile"> <ccpp:component> <prf:HardwarePlatformrdf:about="http://example.com/TerminalHardware"> <prf:CPU>PPC</prf:CPU> <prf:ScreenSize>320x200</prf:ScreenSize> </prf:HardwarePlatform> </ccpp:component> ...
Beispiel-Profil (2) ... <ccpp:component> <prf:SoftwarePlatformrdf:about="http://example.com/TerminalSoftware"> <prf:OSName>EPOC</prf:OSName> <prf:OSVendor>Symbian</prf:OSVendor> <prf:OSVersion>2.0</prf:OSVersion> </prf:SoftwarePlatform> </ccpp:component> ...
Beispiel-Profil (3) ... <ccpp:component> <prf:BrowserUArdf:about="http://example.com/Browser"> <prf:BrowserName>Mozilla</prf:BrowserName> <prf:BrowserVersion>5.0</prf:BrowserVersion> <prf:HtmlVersion> <rdf:Bag> <rdf:li>3.0</rdf:li> <rdf:li>4.0</rdf:li> </rdf:Bag> </prf:HtmlVersion> </prf:BrowserUA> </ccpp:component> </rdf:Description> </rdf:RDF>
Default-Werte (1) • fast identische Profile für Geräte gleicher Bauart • Unterschiede nur bei z.B. Benutzereinstellungen, Speicherupgrade • verweise auf Default-Profil beim Gerätehersteller • gib nur abweichende Attribute direkt an
Default-Werte (2) <ccpp:component> <ex:HardwarePlatformrdf:about="http://example.com/TerminalHardware"> <ccpp:defaults rdf:resource="http://example.com/schema#HWDefault"/> <ex:memoryMb>32</ex:memoryMb> </ex:HardwarePlatform> </ccpp:component>
Die CC/PP-Klassenhierarchie rdfs:Resource ccpp:Profile ccpp:Component rdf:Property ccpp:Property ccpp:Structure ccpp:Attribute rdfs:Literal ccpp:anyURI ccpp:string ccpp:integer ccpp:Rational rdf:Bag rdf:Seq Instanzen von ccpp:Structure: ccpp:component ccpp:defaults
Vokabulare • Vokabulare sind Attributmengen • Angaben über erlaubte Werte • Semantik • zwei “kanonische” Vokabulare • Beispielvokabular aus dem Anhang der Spezifikation • WAP Forum UAProf
Beispiel-Vokabular • Attribute (insgesamt 7): • deviceIdentifier (URI) • charWidth, charHeight (Bildschirmgröße in Zeichen) • pix-x, pix-y (Bildschirmgröße in Pixeln) • color (binary, grey, limited, mapped, full)
UAProf-Vokabular • WAP Forum 1999-2002 • CC/PP ist so entworfen, dass UAProf gültiges Vokabular ist • jedes UAProf-Profil ist auch gültiges CC/PP • Komponenten: • HardwarePlatform, SoftwarePlatform, BrowserUA, NetworkCharacteristics, WapCharacteristics • Attribute (insgesamt 56): • BitsPerPixel, SoundOutputCapable, VoiceInputCapable, AcceptDownloadableSoftware, JVMVersion, JavaScriptVersion
Zusammenfassung • CC/PP ist Framework zur Beschreibung von Geräten • Diensterbringer können ihre Dienste an Geräte anpassen • CC/PP definiert Struktur von Geräteprofilen • konkrete Vokabulare zur Beschreibung einer Klasse von Geräten können entwickelt werden • bisher wenig praktische Anwendung
Quellen • CC/PP Working Draft:http://www.w3.org/TR/CCPP-struct-vocab/ • CC/PP Working Group:http://www.w3.org/Mobile/CCPP/ • UAProf Spezifikation:http://www1.wapforum.org/tech/terms.asp?doc=SPEC-UAProf-19991110.pdf