Resource Description Framework Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο Background in document processing and multimedia
XML: ετικέτες που ορίζονται από τον χρήστη HTML: <H1>Διαχείριση Γνώσης</H1> <UL> <LI>Διδάσκων: Μ. Γεργατσούλης <LI>Φοιτητές: 20 <LI>Προαπαιτούμενα: κανένα </UL> XML: <course> <title>Διαχείριση Γνώσης</title> <teacher> Μ. Γεργατσούλης</teacher> <students>20</students> <req> κανένα </req> </course>
XML: document = δέντρο με ετικέτες κόμβος = ετικέτα + γνωρ./τιμές + περιεχόμενα <course date=“...”> <title>...</title> <teacher>...</teacher> <name>...</name> <http>...</http> <students>...</students> </course> course teacher title students name http = XML Schema: γραμματικές για περιγραφή εγκύρων δέντρων και τύπων δεδομένων Make pink lines dark green Ερώτημα: γιατί να μην χρησιμοποιήσουμε XML για να αναπαραστήσουμε σημασιολογία;
Η σύνταξη σε αντίθεση με τη σημασιολογία Σύνταξη: η δομή των δεδομένων. Σημασιολογία: η σημασία των δεδομένων. Δύο συνθήκες απαραίτητες για διαλειτουργικότητα: Υιοθέτηση κοινής σύνταξης: επιτρέπει στις διάφορες εφαρμογές να αναλύουν συντακτικά (parse) τα δεδομένα. Υιοθέτηση ενός μέσου κατανόησης της σημασιολογίας: επιτρέπει στις διάφορες εφαρμογές να χρησιμοποιούν τα δεδομένα. Η XML δεν παρέχει τα απαραίτητα μέσα για την περιγραφή της σημασιολογίας.
Τι είναι η RDF ; Η RDF (Resource Description Framework) είναι ένα μοντέλο δεδομένων ανεξάρτητο από το πεδίο εφαρμογής, και ανεξάρτητο από συγκεκριμένη εφαρμογή, μπορεί να ειδωθεί σαν ένας κατευθυνόμενος γράφος με ετικέτες. Το μοντέλο δεδομένων της RDF είναι ένα αφηρημένο, εννοιολογικό επίπεδο ανεξάρτητο από την XML επομένως, η XML μπορεί να παρέχει τη σύνταξη για την RDF, αλλά δεν είναι συστατικό της RDF τα RDF δεδομένα είναι πιθανόν να μην εμφανίζονται ποτέ σε μορφή XML.
Το μοντέλο της RDF http://www.w3.org/TR/REC-rdf-syntax/ : ιδιότητα Αποτελείται από ένα σύνολο δηλώσεων (statements). Μια δήλωση RDF (RDF statement) συνίσταται από Πόρους (resources) (= κόμβοι) οι οποίοι έχουν ιδιότητες (properties) οι οποίες έχουν τιμές (values) (=κόμβοι,strings) = υποκείμενο (subject) = κατηγόρημα (predicate) = αντικείμενο (object) value property resource Παράδειγμα: “http://www.w3.org/TR/REC-rdf-syntax/ has creator Ora Lassila” “Ora Lassila” creator http://www.w3.org/TR/REC-rdf-syntax/ : πόρος : τιμή : ιδιότητα
Παράδειγμα στο RDF μοντέλο “http://www.w3.org/TR/REC-rdf-syntax/ was created at 1999-02-22, its creator is Ora Lassila and its publisher is W3C” “Ora Lassila” Creator “1999-02-22” Date “W3C” Publisher http://www.w3.org/TR/REC-rdf-syntax/
Δομημένες τιμές http://www.w3.org/TR/REC-rdf-syntax/ “Ora Lassila” Μέχρι τώρα, οι τιμές των ιδιοτήτων ήταν ακολουθίες χαρακτήρων (strings). Ένας κόμβος του γράφου (που αντιστοιχεί σε ένα πόρο) μπορεί επίσης να είναι η τιμή μιας ιδιότητας είναι πιθανές εξαιρετικά πολύπλοκες δομές δέντρων ή γράφων συντακτικά, οι τιμές μπορεί να είναι εμφυτευμένες ή να αναφέρονται. Παράδειγμα:”The individual whose name is Ora Lassila and whose email is ora.lassila@nokia.com is the creator of http://www.w3.org/TR/REC-rdf-syntax/” “Ora Lassila” Creator “ora.lassila@nokia.com” EMail Name http://www.w3.org/TR/REC-rdf-syntax/
Δομημένες τιμές (συνέχεια) Αντίστοιχες τριάδες: {Creator, [http://www.w3.org/TR/REC-rdf-syntax/], [X]} {Name, [X], “Ora Lassila” } {EMail, [X], “ora.lassila@nokia.com” } “Ora Lassila” Creator “ora.lassila@nokia.com” EMail Name http://www.w3.org/TR/REC-rdf-syntax/
Περιβλήματα Τα περιβλήματα (Containers) στην RDF χρησιμοποιούνται για την αναπαράσταση συλλογών από πόρους επιτρέπουν ομαδοποίηση των πόρων (ή των τιμών). Έναι δυνατό να διατυπώσουμε δηλώσεις που αναφέρονται σε ένα περίβλημα (σαν ολότητα) ή στα ξεχωριστά μέλη του. Η RDF παρέχει τρεις διαφορετικούς τύπους περιβλημάτων: bag – συλλογή χωρίς διάταξη seq – διατεταγμένη συλλογή (= “sequence”) alt – αναπαριστά εναλλακτικές τιμές. Επιτρέπονται επαναλαμβανόμενες τιμές δεν υπάρχει μηχανισμός που να επιβάλει περιορισμούς μοναδικότητας των τιμών. Είναι δυνατόν να δημιουργήσουμε συλλογές βασιζόμενοι σε URI πρότυπα για παράδειγμα, όλα τα αρχεία σε ένα συγκεκριμένο web site.
Περιβλήματα (συνέχεια) “http://www.w3.org/TR/REC-rdf-syntax/ has as creator(s) Ora Lassila and Ralph Swick” “Ora Lassila” rdf:_1 rdf:Seq Creator rdf:Type “Ralph Swick” rdf:_2 http://www.w3.org/TR/REC-rdf-syntax/
Περιβλήματα (συνέχεια) “The students in course 6.001 are John, Tim and Mary” rdf:_1 rdf:Bag students rdf:Type rdf:_2 Courses/6.001 rdf:_3 Students/John Students/Tim Students/Mary
Η RDF XML σύνταξη Το μοντέλο δεδομένων RDF παρέχει ένα αφηρημένο, εννοιολογικό πλαίσιο για τον ορισμό και τη χρήση μεταδεδομένων. Μια συγκεκριμένη σύνταξη είναι όμως απαραίτητη για τη δημιουργία και την ανταλλαγή των μεταδεδομένων. Η XML μπορεί να χρησιμοποιηθεί σαν τέτοια σύνταξη. Η RDF επίσης απαιτεί τη χρήση χώρων ονομάτων XML για να συνδέει με ακρίβεια κάθε ιδιότητα (property) με το σχήμα που ορίζει αυτήν την ιδιότητα. Ορίζονται δύο τρόποι σύνταξης βασισμένοι στην XML για τη κωδικοποίηση ενός στιγμιότυπου του RDF μοντέλου δεδομένων: η σειριακή σύνταξη (serialization syntax): εκφράζει τις πλήρεις δυνατότητες του μοντέλου με έναν συστηματικό τρόπο συντετμημένη σύνταξη (abbreviated syntax): παρέχει επιπλέον δομές οι οποίες δίνουν τη δυνατότητα αναπαράστασης ενός υποσυνόλου του μοντέλου με έναν πιο συμπαγή τρόπο οι διερμηνείς RDF υποστηρίζουν και τους δύο τρόπους σύνταξης.
Βασική σειριακή σύνταξη Η RDF XML σύνταξη έχει σχεδιαστεί κατά τέτοιο τρόπο ώστε να ομαδοποιεί πολλαπλές δηλώσεις για τον ίδιο πόρο σε ένα στοιχείο με ετικέτα Description. “Ora Lassila” creator http://www.w3.org/TR/REC-rdf-syntax/ <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:s=“http://description.org/schema”> <rdf:Description about = "http://www.w3.org/TR/REC-rdf-syntax/”> <s:creator>Ora Lassila</s:creator> </rdf:Description> </rdf:RDF> Υποκείμενο Κατηγόρημα Αντικείμενο
Παράδειγμα “W3C” http://www.w3.org/TR/REC-rdf-syntax/ “Ora Lassila” dc:Creator “1999-02-22” dc:Date “W3C” dc:Publisher http://www.w3.org/TR/REC-rdf-syntax/ <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=“http://purl.org/dc/elements/1.1/”> <rdf:Description about = "http://www.w3.org/TR/REC-rdf-syntax/”> <dc:publisher>W3C</dc:publisher> <dc:creator>Ora Lassila</dc:creator> <dc:date>1999-02-22</dc:date> </rdf:Description> </rdf:RDF>
Βασική συντετμημένη σύνταξη 1η σύντμηση: αφορά ιδιότητες οι οποίες δεν επαναλαμβάνονται εντός ενός στοιχείου Description μπορούν να γραφούν σαν γνωρίσματα της XML επισυναπτόμενα στο στοιχείο Description <rdf:RDF xmlns:rdf=“...” xmlns:dc=“...”> <rdf:Description about = "http://www.w3.org/TR/REC-rdf-syntax/”> <dc:publisher>W3C</dc:publisher> <dc:creator>Ora Lassila</dc:creator> <dc:date>1999-02-22</dc:date> </rdf:Description> </rdf:RDF> <rdf:RDF xmlns:rdf=“...” xmlns:dc=“...”> <rdf:Description about=“http://www.w3.org/TR/REC-rdf-syntax/” dc:publisher=“W3C” dc:creator=“Ora Lassila” dc:date=“1999-02-22”/> </rdf:RDF>
Παράδειγμα με αναφορές “Ora Lassila” Creator “ora.lassila@nokia.com” Email Name http://www.w3.org/TR/REC-rdf-syntax/ http://www.w3.org/staffId/85740 Παράδειγμα με αναφορές <rdf:RDF xmlns:rdf=“...” xmlns:s=“...”> <rdf:Description about = “http://www.w3.org/TR/REC-rdf-syntax/”> <s:Creator rdf:resource=“http://www.w3.org/staffId/85740” /> </rdf:Description> <rdf:Description about=“http://www.w3.org/staffId/85740” > <s:Name>Ora Lassila</s:name> <s:Email>ora.lassila@nokia.com</s:Email> </rdf:RDF>
Συντετμημένη σύνταξη(συνέχεια) 2η σύντμηση: αφορά εμφωλευμένα στοιχεία Description <rdf:RDF xmlns:rdf=“...” xmlns:s=“...”> <rdf:Description about=“http://www.w3.org/TR/REC-rdf-syntax/”> <s:Creator> <rdf:Description about=“http://www.w3.org/staffId/85740”/> <s:Name>Ora Lassila</s:name> <s:Email>ora.lassila@nokia.com</s:Email> </rdf:Description> </s:Creator> </rdf:RDF> <rdf:RDF xmlns:rdf=“...” xmlns:s=“...”> <rdf:Description about=“http://www.w3.org/TR/REC-rdf-syntax/”> <s:Creator rdf:resource=“http://www.w3.org/staffId/85740” s:Name=“Ora Lassila” s:Email=“ora.lassila@nokia.com”/> </rdf:Description> </rdf:RDF>
RDF XML σύνταξη για περιβλήματα “Ora Lassila” rdf:_1 rdf:Seq dc:Creator rdf:Type “Ralph Swick” rdf:_2 http://www.w3.org/TR/REC-rdf-syntax/ RDF XML σύνταξη για περιβλήματα <rdf:RDF xmlns:rdf=“...” xmlns:dc=“...”> <rdf:Description about = "http://www.w3.org/TR/REC-rdf-syntax/”> <dc:creator> <rdf:Seq> <rdf:li>Ora Lassila</rdf:li> <rdf:li>Ralph Swick</rdf:li> </rdf:Seq> </dc:creator> </rdf:Description> </rdf:RDF> Τιμές
RDF XML σύνταξη για περιβλήματα rdf:Bag students rdf:Type rdf:_2 Courses/6.001 rdf:_3 Students/John Students/Tim Students/Mary RDF XML σύνταξη για περιβλήματα <rdf:RDF xmlns:rdf=“...” xmlns:s=“...”> <rdf:Description about = "Courses/6.001/”> <s:students> <rdf:Bag> <rdf:li resource=“Students/John” /> <rdf:li resource=“Students/Tim” /> <rdf:li resource=“Students/Mary” /> </rdf:Bag> </s:students> </rdf:Description> </rdf:RDF> Αναφορές σε πόρους
Περιβλήματα ορισμένα σαν URI πρότυπα Χρησιμοποιώντας την παρακάτω δήλωση μπορούμε να πούμε ότι: κάθε πόρος που το URI του ξεκινά με “http://foo.org/doc” έχει μια συγκεκριμένη ιδιότητα copyright: <rdf:RDF xmlns:rdf=“...” xmlns:s=“...”> <rdf:Description aboutEachPrefix = "http://foo.org/doc”> <s:copyright>1998, The Foo Organization</s:copyright> </rdf:Description> </rdf:RDF>
Δηλώσεις υψηλότερης τάξης Είναι δυνατόν να διατυπώσουμε δηλώσεις RDF οι οποίες αφορούν άλλες δηλώσεις RDF. Οι δηλώσεις αυτές ονομάζονται δηλώσεις υψηλότερης τάξης (Higher-order statements) παράδειγμα: “Ralph Swick says that Ora Lassila is the creator of the resource www.w3.org/TR/REC-rdf-syntax/” Οι δηλώσεις υψηλότερης τάξης: μας επιτρέπουν να εκφράσουμε πεποιθήσεις (beliefs) (και άλλες «modalities») σημαντικές για trust models, digital signatures, κ.λ.π. επίσης: μεταδεδομένα που αφορούν άλλα μεταδεδομένα αναπαριστώνται μοντελοποιώντας RDF στην ίδια την RDF.
Υποστασιοποίηση Για να διατυπώσουμε δηλώσεις σχετικά με άλλες δηλώσεις πρέπει να χτίσουμε ένα μοντέλο της αρχικής δήλωσης εκφράζοντας τo σαν πόρο στον οποίο στη συνέχεια μπορούμε να επισυνάψουμε ιδιότητες. Η διαδικασία αυτή ονομάζεται υποστασιοποίηση (reification). Η RDF παρέχει ένα ενσωματωμένο λεξιλόγιο ιδιοτήτων για αυτό: rdf:subject, rdf:predicate, rdf:object and rdf:type “Ora Lassila” dc:Creator “Ralph Swick” a:attributedTo http://www.w3.org/TR/REC-rdf-syntax Το περιεχόμενο του πλαισίου με τη στικτή γραμμή αντιστοιχεί στις παρακάτω δηλώσεις: {rdf:type, [X], [rdf:statement] } {rdf:predicate, [X], [dc:Creator] } {rdf:subject, [X], [http://www.w3.org/TR/REC-rdf-syntax] } {rdf:object, [X], “Ora Lassila” }
Υποστασιοποίηση (συνέχεια) Ένας νέος πόρος με τις παραπάνω τέσσερις ιδιότητες αναπαριστά την αρχική δήλωση και μπορεί να χρησιμοποιηθεί σας αντικείμενο άλλης ιδιότητας. Ο πόρος με τις τέσσερις αυτές ιδιότητες δεν αντικαθιστά την αρχική δήλωση αλλά είναι το μοντέλο της δήλωσης αυτής, το οποίο ονομάζεται υποστασιοποιημένη δήλωση (reified statement).
Παράδειγμα “Ralph Swick says that Ora Lassila is the creator of the resource www.w3.org/TR/REC-rdf-syntax/” “Ora Lassila” rdf:object rdf:subject rdf:Type rdf:predicate http://www.w3.org/TR/REC-rdf-syntax/ dc:Creator rdf:statement “Ralph Swick” a:atributedTo
Υποστασιοποίηση Κάθε δήλωση μπορεί να είναι ένα αντικείμενο οι γράφοι μπορεί να είναι εμφωλευμένοι pers05 ISBN... Author-of NYT claims <rdf:Description rdf:about=“#NYT”> <claims> <rdf:Description rdf:about=“#pers05”> <authorOf>ISBN...</authorOf> </rdf:Description> </claims> RDF approved bu FvH This is reification. Complete triple treated as a object or value. In this case a value.
Παράδειγμα rdf:_3 JSPapersbyDate rdf:_2 rdf:_1 http://www.s3.com/Jan97.pdf http://www.s2.net/Sept97.ps http://www.s1.com/Aug96.doc JSPapersbySubj rdf:type rdf:Seq Ένας πόρος μπορεί να είναι τιμή για περισσότερες από μια ιδιότητες (να δείχνεται από περισσότερα του ενός βέλη). <rdf:RDF xmlns=“...”> <Seq ID=“JSpapersByDate”> <li resource=“http://www.s1.com/Aug96.doc”/> <li resource=“http://www.s3.net/Jan97.pdf”/> <li resource=“http://www.s2.com/Sept97.ps”/> </Seq> <Seq ID=“JSpapersBySubj”> <li resource=“http://www.a1.com/Aug96.doc”/> </rdf:RDF>
DC in RDF
DC in RDF syntax <?xml:namespace href="http://www.w3c.org/RDF/" as="RDF"?> <?xml:namespace href="http://purl.oclc.org/RDF/DC/" as="DC"?> <RDF:RDF> <RDF:Description RDF:HREF="http://www.ariadne.ac.uk/" RDF:BAGID="ARIADNE_RDF"> <DC:Title>Ariadne - The Web Version</DC:Title> <DC:Subject> journal, magazine, elib, electronic libraries, digital libraries, networking, Web, IT, higher education </DC:Subject> <DC:Description> A Web and print magazine of Internet issues for librarians and information specialists </DC:Description> <DC:Publisher>UKOLN, University of Bath</DC:Publisher> <DC:Type>Text.Serial.Magazine</DC:Type> <DC:Format>text/html</DC:Format> <DC:Identifier> URN:ISSN:1361-3200 </DC:Identifier> </RDF:Description>
Συνδυασμός πολλών σχημάτων μεταδεδομένων Παράδειγμα: περιγραφή μιας λαογραφικής συλλογής. <?xml version="1.0"?> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:dcq=http://purl.org/dc/qualifiers/1.0/ xmlns:dcterms=http://purl.org/dc/terms/ xmlns:cld="http://purl.org/rslp/terms#" xmlns:lom="http://ltsc.ieee.org/2002/09/lom-educational#" xmlns:isad=http://www.mclink.it/personal/MD1431/sito/isaargrp/isad(g)e.html xmlns:adl="http://www.alexandria.ucsb.edu/docs/metadata/" <rdf:Description rdf:about="http://dl.lib/collection/laografia."> <dc:title>Συλλογή εργασιών λαογραφίας</dc:title> …….. ………….. </rdf:Description> </rdf:RDF>
RDF Schema Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο Background in document processing and multimedia
RDF Schema Ορίζει μικρά λεξιλόγια για την RDF: Class, subClassOf, type Property, subPropertyOf domain, range Τα λεξιλόγια μπορεί να χρησιμοποιηθούν για να οριστούν άλλα λεξιλόγια για συγκεκριμένα πεδία εφαρμογών Person subClassOf Student Researcher Jeen type hasSuperVisor domain range Frank
RDF Schema (Γενικά) Η RDF Schema, είναι μια σημασιολογική επέκταση της RDF. Παρέχει μηχανισμούς για την περιγραφή συλλογών από ομοειδείς πόρους καθώς και των σχέσεων ανάμεσα στους πόρους αυτούς. Οι περιγραφές του λεξιλογίου της RDF Schema γράφονται σε RDF. Αυτοί οι πόροι χρησιμοποιούνται για να καθορίσουν χαρακτηριστικά άλλων πόρων, όπως για παράδειγμα τα πεδία ορισμού και τα πεδία τιμών των ιδιοτήτων. Η γλώσσα που ορίζεται εδώ αποτελεί μια συλλογή από RDF πόρους οι οποίοι μπορούν να χρησιμοποιηθούν για να περιγράψουν ιδιότητες άλλων RDF πόρων (συμπεριλαμβανομένων και ιδιοτήτων), σε συγκεκριμένα λεξιλόγια RDF εφαρμογών.
Κλάσεις Οι πόροι είναι δυνατό να χωριστούν σε ομάδες που ονομάζονται κλάσεις (classes). Τα μέλη μια κλάσης ονομάζονται στιγμιότυπα (instances) της κλάσης. Οι κλάσεις είναι και οι ίδιες πόροι. Στην RDF υπάρχει διάκριση μεταξύ μιας κλάσης και των στιγμιότυπων της. Με κάθε κλάση συνδέεται ένα σύνολο το οποίο ονομάζεται επέκταση της κλάσης (class extension), το οποίο είναι το σύνολο των στιγμιότυπων της κλάσης. Δύο κλάσεις μπορεί να έχουν το ίδιο σύνολο στιγμιότυπων αλλά να είναι διαφορετικές κλάσεις. Μια κλάση μπορεί να είναι μέλος της επέκτασης της καθώς και στιγμιότυπο του εαυτού της. Η συλλογή των πόρων οι οποίοι είναι κλάσεις της RDF Schema είναι επίσης κλάση και ονομάζεται rdfs:class. Αν μια κλάση C είναι υποκλάση μιας κλάσης C', τότε όλα τα στιγμιότυπα της C είναι επίσης και στιγμιότυπα της C'.
Κλάσεις (συνέχεια) Η ιδιότητα rdfs:subClassOf μπορεί να χρησιμοποιηθεί για να δηλώσει ότι μια κλάση είναι υποκλάση μιας άλλης κλάσης. Ο όρος υπερκλάση (super-class) χρησιμοποιείται σαν ο ανάστροφος του όρου υποκλάση. Αν μια κλάση C’ είναι υπερκλάση μιας κλάσης C, τότε όλα τα στιγμιότυπα της C είναι επίσης και στιγμιότυπα της C'. Όλα τα αντικείμενα τα οποία περιγράφονται με RDF ονομάζονται πόροι, και είναι στιγμιότυπα της κλάσης rdfs:Resource. Αυτή η κλάση περιλαμβάνει τα πάντα. Όλες οι άλλες κλάσεις είναι υποκλάσεις της κλάσης αυτής. Η rdfs:Resource είναι ένα στιγμιότυπο της rdfs:Class Η rdfs:Class είναι η κλάση των πόρων που είναι κλάσεις της RDF. Η rdfs:Class είναι στιγμιότυπο της rdfs:Class.
Κλάσεις (συνέχεια) Η rdfs:Literal είναι η κλάση που περιλαμβάνει όλες τις τιμές με χαρακτήρες. Η rdfs:Literal είναι ένα στιγμιότυπο της rdfs:Class. Η rdfs:Literal είναι υποκλάση της rdfs:Resource. Η rdf:Property είναι η κλάση των ιδιοτήτων της RDF. Η rdf:Property είναι στιγμιότυπο της rdfs:Class. H rdfs:Datatype είναι η κλάση όλων των τύπων δεδομένων. Η rdfs:Datatype είναι ταυτόχρονα και στιγμιότυπο και υποκλάση της rdfs:Class. Κάθε στιγμιότυπο της rdfs:Datatype είναι υποκλάση της rdfs:Literal.
Ιδιότητες Η ιδιότητα rdfs:subPropertyOf μπορεί να χρησιμοποιηθεί για να δηλώσει ότι μια ιδιότητα είναι υπο-ιδιότητα (sub-property) μιας άλλης. Αν μια ιδιότητα P είναι υπο-ιδιότητα μιας ιδιότητας P', τότε όλα τα ζεύγη πόρων τα οποία συσχετίζονται με την P συσχετίζονται επίσης με την P'. Ο όρος υπερ-ιδιότητα (super-property) χρησιμοποιείται συχνά σαν ο αντίστροφος του όρου υπο-ιδιότητα. Αν μια ιδιότητα P’ είναι υπερ-ιδιότητα μιας ιδιότητας P, τότε όλα τα ζεύγη πόρων τα οποία συσχετίζονται με την P συσχετίζονται επίσης με την P'. Δεν έχει οριστεί μια ιδιότητα η οποία είναι υπερ-ιδιότητα όλων των ιδιοτήτων.
Ιδιότητες (συνέχεια) Η ιδιότητα rdfs:range είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι οι τιμές μιας ιδιότητας είναι στιγμιότυπα μιας ή περισσοτέρων κλάσεων. Η δήλωση: P rdfs:range C υποδηλώνει ότι το P είναι ένα στιγμιότυπο της κλάσης rdf:Property, η C είναι ένα στιγμιότυπο της rdfs:class και οι πόροι που αντιστοιχούν στα αντικείμενα των τριάδων των οποίων το κατηγόρημα είναι το P, είναι στιγμιότυπα της κλάσης C. Η ιδιότητα rdfs:domain είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι κάθε πόρος που έχει μια συγκεκριμένη ιδιότητα είναι στιγμιότυπο μιας η περισσοτέρων κλάσεων. Η δήλωση: P rdfs:domain C υποδηλώνει ότι το P είναι ένα στιγμιότυπο της κλάσης rdf:Property, η C είναι ένα στιγμιότυπο της rdfs:class και οι πόροι που αντιστοιχούν στα υποκείμενα των τριάδων των οποίων το κατηγόρημα είναι το P, είναι στιγμιότυπα της κλάσης C.
Ιδιότητες (συνέχεια) Η ιδιότητα rdf:type είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι ένας πόρος είναι στιγμιότυπο μιας κλάσης. Η δήλωση: R rdfs:type C υποδηλώνει ότι το C είναι ένα στιγμιότυπο της rdfs:class και το R είναι στιγμιότυπο της C. Η ιδιότητα rdfs:subClassOf είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι τα στιγμιότυπα μιας κλάσης είναι και στιγμιότυπα της άλλης. Η ιδιότητα rdfs:subClassOf είναι μεταβατική. Η ιδιότητα rdfs:subPropertyOf είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι όλοι οι πόροι που σχετίζονται με μια ιδιότητα σχετίζονται επίσης και με μια άλλη. Η δήλωση: P1 rdfs:subPropertyOf P2 υποδηλώνει ότι τα P1 και P2 είναι στιγμιότυπα της rdf:Property, καθώς και ότι το P1 είναι υπο-ιδιότητα της P2. Η ιδιότητα rdfs:subPropertyOf είναι μεταβατική.
Ιδιότητες (συνέχεια) Η ιδιότητα rdfs:label παρέχει μια εύκολα αναγνώσιμη από τον άνθρωπο παραλλαγή του ονόματος ενός πόρου. Η δήλωση: R rdfs:label L υποδηλώνει ότι το L μια εύκολα αναγνώσιμη από τον άνθρωπο ετικέτα για τον πόρο R. Η ιδιότητα rdfs:comment χρησιμοποιείται για να παρέχει μια αναγνώσιμη από τον άνθρωπο περιγραφή ενός πόρου. Ένα σχόλιο σε μορφή κειμένου διευκολύνει στο ξεκαθάρισμα της σημασίας των κλάσεων και των ιδιοτήτων της RDF.
RDF classes Class name comment rdfs:Resource The class resource, everything. rdfs:Literal The class of literal values, e.g. textual strings and integers. rdf:XMLLiteral The class of XML literals values. rdfs:Class The class of classes. rdf:Property The class of RDF properties. rdfs:Datatype The class of RDF datatypes. rdf:Statement The class of RDF statements. rdf:Bag The class of unordered containers. rdf:Seq The class of ordered containers. rdf:Alt The class of containers of alternatives. rdfs:Container The class of RDF containers. rdfs:ContainerMembershipProperty The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'. rdf:List The class of RDF Lists.
RDF properties Property name comment domain range rdf:type The subject is an instance of a class. rdfs:Resource rdfs:Class rdfs:subClassOf The subject is a subclass of a class. rdfs:subPropertyOf The subject is a subproperty of a property. rdf:Property rdfs:domain A domain of the subject property. rdfs:range A range of the subject property. rdfs:label A human-readable name for the subject. rdfs:Literal rdfs:comment A description of the subject resource. rdfs:member A member of the subject resource. rdf:first The first item in the subject RDF list. rdf:List
RDF properties (συνέχεια) Property name comment domain range rdf:first The first item in the subject RDF list. rdf:List rdfs:Resource rdf:rest The rest of the subject RDF list after the first item. rdfs:seeAlso Further information about the subject resource. rdfs:isDefinedBy The definition of the subject resource. rdf:value Idiomatic property used for structured values rdf:subject The subject of the subject RDF statement. rdf:Statement rdf:predicate The predicate of the subject RDF statement. rdf:Property rdf:object The object of the subject RDF statement.
Σύνταξη της RDF Schema σε XML <rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/...#Resource"/> </rdf:Description> <rdf:Description ID="Truck"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> <rdf:Description ID="registeredTo"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/> <rdf:Description ID=”ownedBy"> <rdfs:subPropertyOf rdf:resource="#registeredTo"/> Why is this different from/more interesting than XMLisation of RDF? XSL stylesheet op los laten Xpath Xpointer gebruik
RDF Schema (Παράδειγμα) <?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#"> <rdfs:Class rdf:ID="Person"> <rdfs:comment>Person Class</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/> </rdfs:Class> <rdfs:Class rdf:ID="Student"> <rdfs:comment>Student Class</rdfs:comment> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:Class rdf:ID="Teacher"> <rdfs:comment>Teacher Class</rdfs:comment> <rdfs:Class rdf:ID="Course"> <rdfs:comment>Course Class</rdfs:comment> Συνεχίζεται...
RDF Schema (Παράδειγμα):Συνέχεια <rdf:Property rdf:ID="teacherOf"> <rdfs:comment>Teacher of a course</rdfs:comment> <rdfs:domain rdf:resource="#Course"/> <rdfs:range rdf:resource="#Teacher"/> </rdf:Property> <rdf:Property rdf:ID="studentsOf"> <rdfs:comment>List of Students of a course in alphabetical order</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq"/> <rdf:Property rdf:ID=“nameOf"> <rdfs:comment>Name of a Person or Course</rdfs:comment> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/> </rdf:RDF>