XML -zelfstudie

XML HOME XML-introductie XML Hoe te gebruiken XML-structuur XML-syntaxis XML-elementen XML-kenmerken XML-naamruimten XML-weergave XML HTTP-verzoek XML-parser XML-DOM XML XPath XML XSLT XML XQuery XML XLink XML-validator XML-DTD XML Schema XML-server XML-voorbeelden XML-quiz XML-certificaat

XML AJAX

Ajax-introductie AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

XML-DOM

DOM-introductie DOM-knooppunten DOM-toegang DOM Node Info Lijst met DOM-knooppunten DOM doorkruisen DOM-navigatie DOM Waarden ophalen DOM-wijzigingsknooppunten DOM Knooppunten verwijderen DOM Knooppunten vervangen DOM Knooppunten maken DOM Knooppunten toevoegen DOM-kloonknooppunten DOM-voorbeelden

XPath- zelfstudie

XPath-introductie XPath-knooppunten XPath-syntaxis XPath-assen XPath-operators XPath-voorbeelden

XSLT- zelfstudie

XSLT-introductie XSL-talen XSLT-transformatie XSLT <sjabloon> XSLT <waarde-van> XSLT <voor elk> XSLT <sorteren> XSLT <if> XSLT <kiezen> XSLT toepassen XSLT op de client XSLT op de server XSLT Bewerk XML XSLT-voorbeelden

XQuery- zelfstudie

XQuery-introductie XQuery-voorbeeld XQuery FLWOR XQuery HTML XQuery-voorwaarden XQuery-syntaxis XQuery toevoegen XQuery selecteren XQuery-functies

XML -DTD

DTD Introductie DTD-bouwstenen DTD-elementen DTD-kenmerken DTD Elements vs Attr DTD-entiteiten DTD-voorbeelden

XSD- schema

XSD-introductie XSD Hoe kan ik? XSD <schema> XSD-elementen XSD-kenmerken XSD-beperkingen

XSD- complex

XSD-elementen XSD Leeg Alleen XSD-elementen Alleen XSD-tekst XSD gemengd XSD-indicatoren XSD <elke> XSD <anyAttribute> XSD-vervanging XSD-voorbeeld

XSD- gegevens

XSD-string XSD-datum XSD Numeriek XSD Diversen XSD-referentie

Webservices _

XML-services XML-WSDL XML SOAP XML-RDF XML-RSS

Referenties

Typen DOM-knooppunten DOM Node DOM-knooppuntlijst DOM NamedNodeMap DOM-document DOM-element DOM-kenmerk DOM-tekst DOM CDATA DOM-opmerking DOM XMLHttpRequest DOM-parser XSLT-elementen XSLT/XPath-functies

XML -RDF


Voorbeeld RDF-document

<?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 staat voor R esource Description F ramework
  • RDF is een raamwerk voor het beschrijven van bronnen op het web
  • RDF is ontworpen om te worden gelezen en begrepen door computers
  • RDF is niet ontworpen om aan mensen te worden getoond
  • RDF is geschreven in XML
  • RDF maakt deel uit van de semantische webactiviteit van W3C
  • RDF is een W3C-aanbeveling van 10 februari 2004

RDF - Voorbeelden van gebruik

  • Eigenschappen voor winkelitems beschrijven, zoals prijs en beschikbaarheid
  • Tijdschema's voor webgebeurtenissen beschrijven
  • Het beschrijven van informatie over webpagina's (inhoud, auteur, aanmaak- en wijzigingsdatum)
  • Inhoud en beoordeling voor webafbeeldingen beschrijven
  • Inhoud voor zoekmachines beschrijven
  • Elektronische bibliotheken beschrijven

RDF is ontworpen om door computers te worden gelezen

RDF is ontworpen om een ​​algemene manier te bieden om informatie te beschrijven, zodat deze kan worden gelezen en begrepen door computertoepassingen.

RDF-beschrijvingen zijn niet ontworpen om op internet te worden weergegeven.



RDF is geschreven in XML

RDF-documenten zijn geschreven in XML. De XML-taal die door RDF wordt gebruikt, wordt RDF/XML genoemd.

Door XML te gebruiken, kan RDF-informatie eenvoudig worden uitgewisseld tussen verschillende soorten computers met verschillende soorten besturingssystemen en applicatietalen.


RDF en "Het semantische web"

De RDF-taal is een onderdeel van de semantische webactiviteit van het W3C. W3C's "Semantic Web Vision" is een toekomst waarin:

  • Webinformatie heeft een exacte betekenis
  • Webinformatie kan door computers worden begrepen en verwerkt
  • Computers kunnen informatie van internet integreren

RDF gebruikt Web identifiers (URI's) om bronnen te identificeren.

RDF beschrijft resources met eigenschappen en eigenschapswaarden.


RDF-bron, eigendom en eigendomswaarde

RDF identificeert dingen met behulp van web-ID's (URI's) en beschrijft bronnen met eigenschappen en eigenschapswaarden.

Uitleg van Resource, Property en Property waarde:

  • Een bron is alles dat een URI kan hebben, zoals "https://www.w3schools.com/rdf"
  • Een Property is een Resource die een naam heeft, zoals 'auteur' of 'homepage'
  • Een eigendomswaarde is de waarde van een eigendom, zoals "Jan Egil Refsnes" of "https://www.w3schools.com" (merk op dat een eigendomswaarde een andere bron kan zijn)

Het volgende RDF-document zou de bron "https://www.w3schools.com/rdf" kunnen beschrijven:

<?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>

Het bovenstaande voorbeeld is vereenvoudigd. Naamruimten worden weggelaten.


RDF-verklaringen

De combinatie van een Resource, een Property en een Property-waarde vormt een Statement (bekend als het onderwerp, predikaat en object van een Statement).

Laten we eens kijken naar enkele voorbeelduitspraken om een ​​beter begrip te krijgen:

Verklaring: "De auteur van https://www.w3schools.com/rdf is Jan Egil Refsnes".

  • Het onderwerp van de bovenstaande verklaring is: https://www.w3schools.com/rdf
  • Het predikaat is: auteur
  • Het object is: Jan Egil Refsnes

Verklaring: "De homepage van https://www.w3schools.com/rdf is https://www.w3schools.com".

  • Het onderwerp van de bovenstaande verklaring is: https://www.w3schools.com/rdf
  • Het predikaat is: homepage
  • Het doel is: https://www.w3schools.com

RDF-voorbeeld

Hier zijn twee platen van een cd-lijst:

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 een paar regels uit een RDF-document:

<?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>

De eerste regel van het RDF-document is de XML-declaratie. De XML-declaratie wordt gevolgd door het root-element van RDF-documenten: <rdf:RDF> .

De xmlns:rdf- naamruimte specificeert dat elementen met het rdf-voorvoegsel uit de naamruimte "http://www.w3.org/1999/02/22-rdf-syntax-ns#" komen.

De xmlns:cd- naamruimte specificeert dat elementen met het cd-voorvoegsel uit de naamruimte "http://www.recshop.fake/cd#" komen.

Het element <rdf:Description> bevat de beschrijving van de bron die wordt geïdentificeerd door het kenmerk rdf:about .

De elementen: <cd:artist>, <cd:country>, <cd:company>, etc. zijn eigenschappen van de resource.


RDF online validator

De RDF-validatieservice van W3C is handig bij het leren van RDF. Hier kunt u experimenteren met RDF-bestanden.

De online RDF Validator parseert uw RDF-document, controleert uw syntaxis en genereert tabel- en grafische weergaven van uw RDF-document.

Kopieer en plak het onderstaande voorbeeld in de RDF-validator van W3C:

<?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 u het bovenstaande voorbeeld analyseert, ziet het resultaat er ongeveer zo uit .


RDF-elementen

De belangrijkste elementen van RDF zijn het root-element, <RDF>, en het <Description>-element, dat een resource identificeert.


Het <rdf:RDF>-element

<rdf:RDF> is het root-element van een RDF-document. Het definieert het XML-document als een RDF-document. Het bevat ook een verwijzing naar de 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>

Het <rdf:Description>-element

Het element <rdf:Description> identificeert een resource met het attribuut about.

Het element <rdf:Description> bevat elementen die de resource beschrijven:

<?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>

De elementen artiest, land, bedrijf, prijs en jaar worden gedefinieerd in de naamruimte http://www.recshop.fake/cd#. Deze naamruimte valt buiten RDF (en maakt geen deel uit van RDF). RDF definieert alleen het raamwerk. De elementen artiest, land, bedrijf, prijs en jaar moeten door iemand anders worden gedefinieerd (bedrijf, organisatie, persoon, enz.).


Eigenschappen als attributen

De eigenschapselementen kunnen ook worden gedefinieerd als attributen (in plaats van elementen):

<?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>

Eigenschappen als bronnen

De eigenschapselementen kunnen ook als resources worden gedefinieerd:

<?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 bovenstaand voorbeeld heeft de eigenschap artiest geen waarde, maar een verwijzing naar een bron met informatie over de artiest.


RDF-containers

RDF-containers worden gebruikt om een ​​groep dingen te beschrijven.

De volgende RDF-elementen worden gebruikt om groepen te beschrijven: <Bag>, <Seq> en <Alt>.


Het <rdf:Bag>-element

Het element <rdf:Bag> wordt gebruikt om een ​​lijst met waarden te beschrijven die niet in een specifieke volgorde hoeven te staan.

Het element <rdf:Bag> kan dubbele waarden bevatten.

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>

Het <rdf:Seq>-element

Het element <rdf:Seq> wordt gebruikt om een ​​geordende zoeklijst te beschrijven (bijvoorbeeld in alfabetische volgorde).

Het element <rdf:Seq> kan dubbele waarden bevatten.

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>

Het <rdf:Alt>-element

Het element <rdf:Alt> wordt gebruikt om een ​​lijst met alternatieve waarden te beschrijven (de gebruiker kan slechts één van de waarden selecteren).

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-voorwaarden

In de bovenstaande voorbeelden hebben we het gehad over "lijst met waarden" bij het beschrijven van de containerelementen. In RDF worden deze "lijst met waarden" leden genoemd.

We hebben dus het volgende:

  • Een container is een bron die dingen bevat
  • De ingesloten dingen worden leden genoemd (geen lijst met waarden)

RDF-collecties

RDF-verzamelingen beschrijven groepen die ALLEEN de opgegeven leden kunnen bevatten.


Het kenmerk rdf:parseType="Collection"

Zoals te zien is in het vorige hoofdstuk, zegt een container dat de bevattende bronnen leden zijn - er staat niet dat andere leden niet zijn toegestaan.

RDF-verzamelingen worden gebruikt om groepen te beschrijven die ALLEEN de opgegeven leden kunnen bevatten.

Een collectie wordt beschreven door het attribuut 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-schema en toepassingsklassen

RDF Schema (RDFS) is een uitbreiding op RDF.

RDF beschrijft bronnen met klassen, eigenschappen en waarden.

Daarnaast heeft RDF ook een manier nodig om toepassingsspecifieke klassen en eigenschappen te definiëren. Toepassingsspecifieke klassen en eigenschappen moeten worden gedefinieerd met behulp van uitbreidingen op RDF.

Een van die extensies is RDF Schema.


RDF-schema (RDFS)

RDF Schema biedt geen werkelijke toepassingsspecifieke klassen en eigenschappen.

In plaats daarvan biedt RDF Schema het raamwerk om toepassingsspecifieke klassen en eigenschappen te beschrijven.

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