XML RDF
Voorbeeld van RDF-dokument
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.w3schools.com/rdf/">
<rdf:Description rdf:about="https://www.w3schools.com">
<si:title>W3Schools</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
Wat is RDF?
- RDF staan vir R esource D escription Raamwork
- RDF is 'n raamwerk vir die beskrywing van hulpbronne op die web
- RDF is ontwerp om deur rekenaars gelees en verstaan te word
- RDF is nie ontwerp om aan mense vertoon te word nie
- RDF is in XML geskryf
- RDF is deel van die W3C se Semantiese Webaktiwiteit
- RDF is 'n W3C-aanbeveling vanaf 10 Februarie 2004
RDF - Voorbeelde van gebruik
- Beskrywing van eiendomme vir inkopie-items, soos prys en beskikbaarheid
- Beskrywing van tydskedules vir webgebeurtenisse
- Beskrywing van inligting oor webblaaie (inhoud, skrywer, geskep en gewysigde datum)
- Beskrywing van inhoud en gradering vir webfoto's
- Beskrywing van inhoud vir soekenjins
- Beskrywing van elektroniese biblioteke
RDF is ontwerp om deur rekenaars gelees te word
RDF is ontwerp om 'n algemene manier te verskaf om inligting te beskryf sodat dit deur rekenaartoepassings gelees en verstaan kan word.
RDF-beskrywings is nie ontwerp om op die web vertoon te word nie.
RDF is in XML geskryf
RDF-dokumente word in XML geskryf. Die XML-taal wat deur RDF gebruik word, word RDF/XML genoem.
Deur XML te gebruik, kan RDF-inligting maklik uitgeruil word tussen verskillende tipes rekenaars wat verskillende tipes bedryfstelsels en toepassingstale gebruik.
RDF en "Die Semantiese Web"
Die RDF-taal is deel van die W3C se Semantiese Webaktiwiteit. W3C se "Semantic Web Vision" is 'n toekoms waar:
- Webinligting het presiese betekenis
- Webinligting kan deur rekenaars verstaan en verwerk word
- Rekenaars kan inligting vanaf die web integreer
RDF gebruik Web identifiseerders (URI's) om hulpbronne te identifiseer.
RDF beskryf hulpbronne met eiendomme en eiendomswaardes.
RDF-hulpbron, eiendom en eiendomswaarde
RDF identifiseer dinge met behulp van Web identifiseerders (URI's), en beskryf hulpbronne met eienskappe en eiendom waardes.
Verduideliking van hulpbron-, eiendoms- en eiendomswaarde:
- 'n Hulpbron is enigiets wat 'n URI kan hê, soos "https://www.w3schools.com/rdf"
- 'n Eiendom is 'n hulpbron wat 'n naam het, soos "outeur" of "tuisblad"
- 'n Eiendomswaarde is die waarde van 'n Eiendom, soos "Jan Egil Refsnes" of "https://www.w3schools.com" (let daarop dat 'n eiendomswaarde 'n ander hulpbron kan wees)
Die volgende RDF-dokument kan die hulpbron "https://www.w3schools.com/rdf" beskryf:
<?xml version="1.0"?>
<RDF>
<Description about="https://www.w3schools.com/rdf">
<author>Jan Egil Refsnes</author>
<homepage>https://www.w3schools.com</homepage>
</Description>
</RDF>
Die voorbeeld hierbo is vereenvoudig. Naamruimtes word weggelaat.
RDF-verklarings
Die kombinasie van 'n hulpbron, 'n eiendom en 'n eiendomswaarde vorm 'n stelling (bekend as die onderwerp, predikaat en objek van 'n stelling).
Kom ons kyk na 'n paar voorbeeldstellings om 'n beter begrip te kry:
Verklaring: "Die skrywer van https://www.w3schools.com/rdf is Jan Egil Refsnes".
- Die onderwerp van die stelling hierbo is: https://www.w3schools.com/rdf
- Die predikaat is: skrywer
- Die voorwerp is: Jan Egil Refsnes
Verklaring: "Die tuisblad van https://www.w3schools.com/rdf is https://www.w3schools.com".
- Die onderwerp van die stelling hierbo is: https://www.w3schools.com/rdf
- Die predikaat is: tuisblad
- Die voorwerp is: https://www.w3schools.com
RDF voorbeeld
Hier is twee plate vanaf 'n CD-lys:
Title | Artist | Country | Company | Price | Year |
---|---|---|---|---|---|
Empire Burlesque | Bob Dylan | USA | Columbia | 10.90 | 1985 |
Hide your heart | Bonnie Tyler | UK | CBS Records | 9.90 | 1988 |
Hieronder is 'n paar reëls uit 'n RDF-dokument:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>
Die eerste reël van die RDF-dokument is die XML-verklaring. Die XML-verklaring word gevolg deur die wortelelement van RDF-dokumente: <rdf:RDF> .
Die xmlns:rdf- naamruimte, spesifiseer dat elemente met die rdf-voorvoegsel van die naamspasie "http://www.w3.org/1999/02/22-rdf-syntax-ns#" afkomstig is.
Die xmlns:cd -naamruimte, spesifiseer dat elemente met die cd-voorvoegsel van die naamruimte "http://www.recshop.fake/cd#" afkomstig is.
Die <rdf:Description> -element bevat die beskrywing van die hulpbron wat deur die rdf:about - kenmerk geïdentifiseer word.
Die elemente: <cd:kunstenaar>, <cd:land>, <cd:maatskappy>, ens. is eienskappe van die hulpbron.
RDF Online Validator
W3C se RDF-valideringsdiens is nuttig wanneer u RDF leer. Hier kan jy eksperimenteer met RDF-lêers.
Die aanlyn RDF Validator ontleed jou RDF-dokument, kontroleer jou sintaksis en genereer tabel- en grafiese aansigte van jou RDF-dokument.
Kopieer en plak die voorbeeld hieronder in W3C se RDF-valideerder:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.w3schools.com/rdf/">
<rdf:Description rdf:about="https://www.w3schools.com">
<si:title>W3Schools.com</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
Wanneer jy die voorbeeld hierbo ontleed, sal die resultaat iets soos hierdie lyk .
RDF elemente
Die hoofelemente van RDF is die wortelelement, <RDF>, en die <Beskrywing>-element, wat 'n hulpbron identifiseer.
Die <rdf:RDF>-element
<rdf:RDF> is die wortelelement van 'n RDF-dokument. Dit definieer die XML-dokument as 'n RDF-dokument. Dit bevat ook 'n verwysing na die RDF-naamruimte:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
...Description goes here...
</rdf:RDF>
Die <rdf:Beskrywing> Element
Die <rdf:Description>-element identifiseer 'n hulpbron met die about-kenmerk.
Die <rdf:Description>-element bevat elemente wat die hulpbron beskryf:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
</rdf:RDF>
Die elemente, kunstenaar, land, maatskappy, prys en jaar, word in die http://www.recshop.fake/cd# naamruimte gedefinieer. Hierdie naamruimte is buite RDF (en nie deel van RDF nie). RDF definieer slegs die raamwerk. Die elemente, kunstenaar, land, maatskappy, prys en jaar, moet deur iemand anders (maatskappy, organisasie, persoon, ens.) gedefinieer word.
Eienskappe as eienskappe
Die eienskapelemente kan ook as kenmerke gedefinieer word (in plaas van elemente):
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
Eiendomme as hulpbronne
Die eiendomselemente kan ook as hulpbronne gedefinieer word:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
...
...
</rdf:Description>
</rdf:RDF>
In die voorbeeld hierbo het die eiendomskunstenaar nie 'n waarde nie, maar 'n verwysing na 'n hulpbron wat inligting oor die kunstenaar bevat.
RDF-houers
RDF-houers word gebruik om groep dinge te beskryf.
Die volgende RDF-elemente word gebruik om groepe te beskryf: <Bag>, <Seq> en <Alt>.
Die <rdf:Bag>-element
Die <rdf:Bag>-element word gebruik om 'n lys waardes te beskryf wat nie in 'n spesifieke volgorde hoef te wees nie.
Die <rdf:Bag>-element kan duplikaatwaardes bevat.
Voorbeeld
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Bag>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>George</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Bag>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Die <rdf:Seq> Element
Die <rdf:Seq>-element word gebruik om 'n geordende lys van waardes te beskryf (Byvoorbeeld, in alfabetiese volgorde).
Die <rdf:Seq>-element kan duplikaatwaardes bevat.
Voorbeeld
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Die <rdf:Alt> Element
Die <rdf:Alt>-element word gebruik om 'n lys van alternatiewe waardes te beskryf (die gebruiker kan slegs een van die waardes kies).
Voorbeeld
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
</rdf:RDF>
RDF-bepalings
In die voorbeelde hierbo het ons gepraat oor "lys van waardes" wanneer die houerelemente beskryf word. In RDF word hierdie "lys van waardes" lede genoem.
So, ons het die volgende:
- 'n Houer is 'n hulpbron wat dinge bevat
- Die vervatte dinge word lede genoem (nie lys van waardes nie)
RDF Versamelings
RDF-versamelings beskryf groepe wat SLEGS die gespesifiseerde lede kan bevat.
Die rdf:parseType="Versameling"-kenmerk
Soos gesien in die vorige hoofstuk, sê 'n houer dat die hulpbronne wat bevat lede is - dit sê nie dat ander lede nie toegelaat word nie.
RDF-versamelings word gebruik om groepe te beskryf wat SLEGS die gespesifiseerde lede kan bevat.
'n Versameling word beskryf deur die kenmerk rdf:parseType="Collection".
Voorbeeld
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">
<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
</rdf:RDF>
RDF-skema en toepassingsklasse
RDF Skema (RDFS) is 'n uitbreiding tot RDF.
RDF beskryf hulpbronne met klasse, eienskappe en waardes.
Daarbenewens het RDF ook 'n manier nodig om toepassingspesifieke klasse en eienskappe te definieer. Toepassingspesifieke klasse en eienskappe moet gedefinieer word deur gebruik te maak van uitbreidings tot RDF.
Een so 'n uitbreiding is RDF Skema.
RDF-skema (RDFS)
RDF-skema verskaf nie werklike toepassingspesifieke klasse en eienskappe nie.
In plaas daarvan bied RDF Skema die raamwerk om toepassingspesifieke klasse en eienskappe te beskryf.
Classes in RDF Schema are much like classes in object oriented programming languages. This allows resources to be defined as instances of classes, and subclasses of classes.
RDFS Example
The following example demonstrates some of the RDFS facilities:
<?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#"
xml:base="http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>
In the example above, the resource "horse" is a subclass of the class "animal".
Example Abbreviated
Since an RDFS class is an RDF resource we can abbreviate the example above by using rdfs:Class instead of rdf:Description, and drop the rdf:type information:
<?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#"
xml:base="http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
That's it!
The Dublin Core
The Dublin Core Metadata Initiative (DCMI) has created some predefined properties for describing documents.
RDF is metadata (data about data). RDF is used to describe information resources.
The Dublin Core is a set of predefined properties for describing documents.
The first Dublin Core properties were defined at the Metadata Workshop in Dublin, Ohio in 1995 and is currently maintained by the Dublin Core Metadata Initiative.
Property | Definition |
---|---|
Contributor | An entity responsible for making contributions to the content of the resource |
Coverage | The extent or scope of the content of the resource |
Creator | An entity primarily responsible for making the content of the resource |
Format | The physical or digital manifestation of the resource |
Date | A date of an event in the lifecycle of the resource |
Description | An account of the content of the resource |
Identifier | An unambiguous reference to the resource within a given context |
Language | A language of the intellectual content of the resource |
Publisher | An entity responsible for making the resource available |
Relation | A reference to a related resource |
Rights | Information about rights held in and over the resource |
Source | A Reference to a resource from which the present resource is derived |
Subject | A topic of the content of the resource |
Title | A name given to the resource |
Type | The nature or genre of the content of the resource |
A quick look at the table above indicates that RDF is ideal for representing Dublin Core information.
RDF Example
The following example demonstrates the use of some of the Dublin Core properties in an RDF document:
<?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/">
<rdf:Description rdf:about="https://www.w3schools.com">
<dc:description>W3Schools - Free tutorials</dc:description>
<dc:publisher>Refsnes Data as</dc:publisher>
<dc:date>2008-09-01</dc:date>
<dc:type>Web Development</dc:type>
<dc:format>text/html</dc:format>
<dc:language>en</dc:language>
</rdf:Description>
</rdf:RDF>
RDF Reference
The RDF namespace (xmlns:rdf) is: http://www.w3.org/1999/02/22-rdf-syntax-ns#
The RDFS namespace (xmlns:rdfs ) is: http://www.w3.org/2000/01/rdf-schema#
The recommended file extension for RDF files is .rdf. However, the extension .xml is often used to provide compatibility with old xml parsers.
The MIME type should be "application/rdf+xml".
RDFS / RDF Classes
Element | Class of | Subclass of |
---|---|---|
rdfs:Class | All classes | |
rdfs:Datatype | Data types | Class |
rdfs:Resource | All resources | Class |
rdfs:Container | Containers | Resource |
rdfs:Literal | Literal values (text and numbers) | Resource |
rdf:List | Lists | Resource |
rdf:Property | Properties | Resource |
rdf:Statement | Statements | Resource |
rdf:Alt | Containers of alternatives | Container |
rdf:Bag | Unordered containers | Container |
rdf:Seq | Ordered containers | Container |
rdfs:ContainerMembershipProperty | Container membership properties | Property |
rdf:XMLLiteral | XML literal values | Literal |
RDFS / RDF Properties
Element | Domain | Range | Description |
---|---|---|---|
rdfs:domain | Property | Class | The domain of the resource |
rdfs:range | Property | Class | The range of the resource |
rdfs:subPropertyOf | Property | Property | The property is a sub property of a property |
rdfs:subClassOf | Class | Class | The resource is a subclass of a class |
rdfs:comment | Resource | Literal | The human readable description of the resource |
rdfs:label | Resource | Literal | The human readable label (name) of the resource |
rdfs:isDefinedBy | Resource | Resource | The definition of the resource |
rdfs:seeAlso | Resource | Resource | The additional information about the resource |
rdfs:member | Resource | Resource | The member of the resource |
rdf:first | List | Resource | |
rdf:rest | List | List | |
rdf:subject | Statement | Resource | The subject of the resource in an RDF Statement |
rdf:predicate | Statement | Resource | The predicate of the resource in an RDF Statement |
rdf:object | Statement | Resource | The object of the resource in an RDF Statement |
rdf:value | Resource | Resource | The property used for values |
rdf:type | Resource | Class | The resource is an instance of a class |
RDF Attributes
Attribute | Description |
---|---|
rdf:about | Defines the resource being described |
rdf:Description | Container for the description of a resource |
rdf:resource | Defines a resource to identify a property |
rdf:datatype | Defines the data type of an element |
rdf:ID | Defines the ID of an element |
rdf:li | Defines a list |
rdf:_n | Defines a node |
rdf:nodeID | Defines the ID of an element node |
rdf:parseType | Defines how an element should be parsed |
rdf:RDF | The root of an RDF document |
xml:base | Defines the XML base |
xml:lang | Defines the language of the element content |