Representing data with xml
1 / 32

Representing Data with XML - PowerPoint PPT Presentation

  • Uploaded on

Representing Data with XML. September 27, 2005 Shawn Henry with slides from Neal Arthorne. Data Representation. Design goals for data representation: Portable (platform independent) Easy for machines to process Human legible Flexible and usable over the Internet and other networks

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Representing Data with XML' - mckenzie-keller

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Representing data with xml

Representing Data with XML

September 27, 2005

Shawn Henry

with slides from Neal Arthorne

Data representation
Data Representation

  • Design goals for data representation:

    • Portable (platform independent)

    • Easy for machines to process

    • Human legible

    • Flexible and usable over the Internet and other networks

    • Concisely defined with formal rules

Extensible markup language
Extensible Markup Language

  • World Wide Web Consortium (W3C) defines the Extensible Markup Language (XML)

    • W3C also defined HTML, CSS, HTTP, SVG and other markup languages

    • XML Working group formed in 1996

    • XML 1.0 (Third Edition) 4 February 2004 (original Recommendation in 1998)

Xml example




XML Example

<?xml version="1.0" encoding="UTF-8"?>


<pizzatitle=“Deluxe Pizza”>

<name>The Deluxe</name>






<topping>tomato sauce</topping>





Representing data with xml

  • XML documents should be well-formed (syntax, closing tags etc)

  • XML documents are valid if they conform to a specified grammar (usually DTD or XML Schema)

  • DTDs (Document Type Definitions) provide a grammar for the XML by defining elements, attributes and entities

Xml advantages
XML Advantages

  • XML provides:

    • Logical structure for data in a textual representation

    • Formal rules for validating documents

    • Flexibility to define your own markup language

    • Portability across networks and platforms

    • Becoming a widely accepted data interchange format

    • Processed with off-the-shelf tools

Xml disadvantages
XML Disadvantages

  • XML drawbacks:

    • Not a binary format so it requires a lot of overhead for a little bit of data

    • Very little support for binary or mixed media data formats (hex or base64 encoding)

    • Only for data and holds no semantics or reasoning

  • DTDs do not provide:

    • Data types for each element or attribute

    • Complex structural rules for documents

Xml schema
XML Schema

  • XML Schema defines a new schema language to replace DTD

  • Standardized by W3C in 2001

  • Advantages:

    • Provides data typing and logical structure

    • Written in XML (easy to process)

    • Higher complexity than DTD

Xml schema example

Element name

Data type

Attribute name

Data type

XML Schema Example

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="">

<xsd:element name="pizza">



<xsd:element name="name" type="xsd:string" />

<xsd:element name="toppings" type="Toppings" />

<xsd:element name="price" type="xsd:float" />


<xsd:attribute name="title" type="xsd:string" />



<xsd:complexType name="Toppings">


<xsd:element name="topping" minOccurs="1" maxOccurs="unbounded" type="xsd:string" />




  • An XML document is an ‘instance document’ of an XML Schema

Simple types
Simple Types

  • Simple Types are of three varieties:

    • Atomic: Built-in or derived, e.g.

      <xsd:simpleType name="myInteger">

      <xsd:restriction base="xsd:integer">

      <xsd:minInclusive value="10000"/>

      <xsd:maxInclusive value="99999"/>



    • List: multiple items of the same type

      <listOfMyInt>20003 15037 95977 95945</listOfMyInt>

    • Union: Union or two or more Simple Types

Built in types
Built-in Types

  • XML Schema defines numerous built-in types:

    • integer, decimal, token, byte, boolean, date, time, short, long, float, anyURI, language

  • Facets can be used to restrict existing types:

    • min/maxInclusive, min/maxExclusive, pattern, enumeration, min/maxLength, length, totalDigits, fractionDigits

Complex types
Complex Types

  • Complex Types define logical structures with attributes and nested elements

  • They use a sequence, choice or all containing elements that use Simple Types or other Complex Types

  • May reference types defined elsewhere in the schema or imported using import statement

In the schema of things
In the Schema of Things

  • XML Schema supersedes DTD

  • Defines a typed data format with no semantics or relations between data

  • Next step: higher level of abstraction and the ability to define objects and relations

Resource description framework
Resource Description Framework

  • W3C standard for describing resources on the World Wide Web (1999, revised 2004)

  • Objects identified by Uniform Resource Identifiers (URIs)

    • Generalized to identify objects that may not be retrievable on the Web

  • RDF represented by a directed graph and in XML syntax

Rdf example
RDF Example

  • In English: has the full name Federico Diaz and has an employer called Fisher and Sons.

Federico Diaz

Rdf parts
RDF Parts

  • Each RDF statement is a triple containing a subject(identifier by URI), a predicate(e.g. creator, title, full name) and an object

  • An object can be either a literal value (e.g. Federico Diaz) or another RDF resource

  • All three parts can be identified with an URI and fragment identifier #

Rdf semantics
RDF Semantics

  • RDF attaches no specific meaning to RDF statements – just like the name of a database field is meaningless to an SQL engine

  • RDF does provide a way to attach data types to literal values, but RDF does not define data types

  • Generally RDF software uses the XML Schema data types

    • <size rdf:datatype=“xsd#int”>10</size>

  • Arbitrary XML can also be used as a literal

    • <x:prop rdf:parseType="Literal“> <a:size>10</a:size></x:prop>

Rdf schema
RDF Schema

  • RDF Schema is a ‘vocabulary description language’ that relates resources to each other using RDF

  • RDFS uses ‘classes’ of objects like in Object-Oriented (OO) systems

  • Class properties relate to other classes using OO concepts such as generalization

Rdf schema use
RDF Schema Use

  • Differs from OO in that Properties are defined in terms of the resources to which they apply (their domain) – they are not restricted to the scope of a single class

    • domain: Classes to which a Property applies

    • range: The Class of a Property (i.e. type)

  • Allows new Properties to be created that apply to the same domain without redefining the domain

Rdfs classes
RDFS Classes

  • Classes introduced by RDFS:

    • Resource - top level class

    • Literal – all literal values like text strings

    • Class – the class of all classes

    • Datatype – top level RDF datatype

  • Properties introduced by RDFS:

    • subClassOf

    • subPropertyOf

    • domain – domain of a Property

    • range – range of a Property

    • label, comment, seeAlso – human readable labels


Rdfs example
RDFS Example

<?xml version="1.0"?>

<!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.or/2001/XMLSchema#">]>





<rdfs:Class rdf:ID="Food"/>

<rdfs:Class rdf:ID="Pizza">

<rdfs:subClassOf rdf:resource="#Food"/>


<rdfs:Class rdf:ID="Topping">

<rdfs:subClassOf rdf:resource="#Food"/>


<rdfs:Datatype rdf:about="&xsd;float"/>

<rdf:Property rdf:ID="hasTopping">

<rdfs:domain rdf:resource="#Pizza"/>

<rdfs:range rdf:resource="#Topping"/>


<rdf:Property rdf:ID="price">

<rdfs:domain rdf:resource="#Pizza"/>

<rdfs:range rdf:resource="&xsd;float"/>



Rdf example1
RDF Example

<?xml version="1.0"?>

<!DOCTYPE rdf:RDF [<!ENTITY xsd "">]>

<rdf:RDF xmlns:rdf=""



<ex:Pizza rdf:ID="ShawnsPizza">



<ex:hasTopping rdf:resource=""/>

<ex:hasTopping rdf:resource=""/>



Rdf rdfs

  • Lets authors create vocabularies of Classes and Properties and show how the terms should be used to describe resources, e.g.

    • Property ‘author’ applies to class ‘Book’

    • Class ‘Employee’ is a subclass of ‘Person’

  • Does not define descriptive properties such as ‘dateOfIssue’ or ‘title’ but references them using URIs

  • Like in XML/XML Schema, an RDF instance document can be validated against its RDF Schema

Machines understanding the web
Machines Understanding the Web

  • RDF/RDFS along with XML/XML Schema provide a means to describe resources on the web with basic generalization

  • For a higher conceptual level, applications require semantic information

  • Ontologies serve as a starting point for understanding

Ontologies on the web
Ontologies on the Web

  • “Ontologies define the terms used to represent an area of knowledge.” – OWL Use Cases & Requirements, 2004

  • Example use cases:

    • A web portal that needs to classify information

    • Multimedia archive that requires a taxonomy of media or content-specific properties

    • Corporate portal website that integrates vocabularies from different departments

Web ontology language owl
Web Ontology Language (OWL)

  • Supersedes DAML+OIL

    • DARPA Agent Markup Language (DAML) was based on RDF/RDFS and includes much of what is now OWL

  • Adds terms used to better describe relations between classes of RDF resources

  • With OWL, ontologies can be integrated, extended and shared

Web ontology language
Web Ontology Language

  • Individuals

    • OWL does not honour the Unique Names Assumption (UNA)

  • Properties

    • Binary relations between individuals

    • Functional, transitive or symmetric

  • Classes

    • Sets containing individuals

    • Organized into a taxonomy with subclasses and superclasses

Three flavours of owl
Three Flavours of OWL

  • OWL Lite

    • For classification hierarchies with simple constraints

  • OWL DL

    • Expressiveness with computational completeness

  • OWL Full

    • Maximum expressiveness

    • No computational guarantees

    • Extension of RDF

Owl features
OWL Features

  • OWL improvements on RDF/RDFS:

    • Cardinality

      • min/maxCardinality for Properties with respect to a Class

    • Equality, disjointness

      • equivalentClass, equivalentProperty, sameAs, differentFrom, disjointWith

    • Transitive, Symmetric, Functional Properties

      • labelling a Property allows for reasoning

        • A has B and B has C implies A has C (Transitive)

        • A has B implies B has A (Symmetric)

Owl features cont d
OWL Features (cont’d)

  • Boolean expressions of Class relations

    • unionOf, complementOf, intersectionOf

  • Property restrictions

    • Limits how properties can be used by an instance of a class

  • Versioning

    • priorVersion, versionInfo, incompatibleWith, backwardCompatibleWith



Conceptual level reasoning – ‘smart’ applications


Knowledge processing and reasoning


RDF Schema

Resource description and vocabulary




XML Schema

Data formatting and data types

Unicode/ISO byte streams

Machine data representation


  • World Wide Web Consortium

  • XML

  • XML Schema Part 0: Primer

  • RDF Primer

  • RDF Concepts

  • RDF/XML Syntax

  • RDF Schema

  • OWL Use Cases & Requirements

  • OWL Overview