Part IV The Semantics Web Starting with XML Jan Pettersen Nytun, - - PowerPoint PPT Presentation

part iv
SMART_READER_LITE
LIVE PREVIEW

Part IV The Semantics Web Starting with XML Jan Pettersen Nytun, - - PowerPoint PPT Presentation

Knowledge Representation Part IV The Semantics Web Starting with XML Jan Pettersen Nytun, UiA Jan Pettersen Nytun, UIA, page 1 S O P The Semantic Web A W3C recommendation. Common data formats. Allow specification of data


slide-1
SLIDE 1

Jan Pettersen Nytun, UIA, page 1

Knowledge Representation Part IV The Semantics Web

Starting with XML

Jan Pettersen Nytun, UiA

slide-2
SLIDE 2

S O

P

The Semantic Web

  • A W3C recommendation.
  • Common data formats.
  • Allow specification of data about data - which again

allows automatic reasoning.

  • Globally unique ids by using the addressing

mechanism of the web.

Jan Pettersen Nytun, UIA, page 2

slide-3
SLIDE 3

S O

P

Jan Pettersen Nytun, UIA, page 3

Some of the W3C hold Specifications

– HTML – OWL – RDF – SOAP – SPARQL – SVG – XHTML – XML – XPath – …

slide-4
SLIDE 4

S O

P

Jan Pettersen Nytun, UIA, page 4

The Semantic Web Language Stack

Hierarchy of languages, where each layer exploits and uses capabilities of the layers below.

/ XML Schema

slide-5
SLIDE 5

S O

P

About Semantic Web Languages

  • Can use XML syntax

– E.g., XML Schema can define an element type (~ class) with help of XML syntax.

  • One language may constrain a lower level language

– E.g., XML Schema limits XML.

  • One language may extend a lower level language

– E.g., RDF Schema (RDFS) extends XML Schema with a richer vocabulary.

Jan Pettersen Nytun, UIA, page 5

slide-6
SLIDE 6

S O

P

Jan Pettersen Nytun, UIA, page 6

EXtensible Markup Language (XML)

/ XML Schema

slide-7
SLIDE 7

XML

Jan Pettersen Nytun, UIA, page 7

  • XML is a general format while html is

meant for human readable web pages!

  • XML has no fixed tag vocabulary –

hence, users can define their own custom element and attribute names.

  • It has some keywords, e.g., xmlns.
slide-8
SLIDE 8

S O

P

Jan Pettersen Nytun, UIA, page 8

XML Syntax in Well-formed Documents

  • The document must have exactly one root element. The following is a well-

formed XML document: <journal>This is a journal. </journal>

  • The basic syntax for one element is:

<name attribute="value“…>content</name>

  • The following is also correct syntax:

<journal txt=“This is a journal.” />

start-tag end-tag content

slide-9
SLIDE 9

S O

P

Jan Pettersen Nytun, UIA , page 9

XML Syntax Continues…

The root element can be preceded by an optional XML declaration. E.g., <?xml version="1.0" encoding="UTF-8"?> There may be elements inside elements, but XML requires that elements be properly nested, i.e., no overlap. Example: <medicalsystem> <journal name=“Ola Norman" id=“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name=“Kari Norman" id=“2"> <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania?</journalrecord> </journal> </medicalsystem>

Attribute Start-tag and end-tag of element medicalsystem

slide-10
SLIDE 10

S O

P

xmlns - XML Namespace

Gives unique names to elements and attributes. xmlns can be used to solve name conflicts inside

  • ne xml page, e.g., “table” may be a furniture or

a data structure.

Jan Pettersen Nytun, UIA, page 10

slide-11
SLIDE 11

S O

P

Namespace Examples

An xml name space is often a web address. The address may go to a none existing web page - only the URI (URL) addressing mechanism is used.

[1]:

<root xmlns:h=“http://www.w3.org/TR/html4/” xmlns:f="http://www.w3schools.com/furniture"> <h:table> …. </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>

Jan Pettersen Nytun, UIA, page 11

slide-12
SLIDE 12

S O

P

Jan Pettersen Nytun, UIA, page 12

XML - UML

<medicalsystem> <journal name=“Ola Norman" ssn=“1"> <journalrecord>May be a little bit fat?</journalrecord> </journal> <journal name=“Kari Norman" ssn=“2"> <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania?</journalrecord> </journal> </medicalsystem>

Journal JournalRecord

name:String SSN:String description:String

:Journal :JournalRecord name=“Ola” SSN=“1” description=“May be a little bit fat?” :Journal :JournalRecord name=“Kari” SSN=“2” description=“Lack of iron.” :JournalRecord description=“A slight attack of shopomania?”

Medical System UML Model

Data 1 *

slide-13
SLIDE 13

S O

P

The Document Object Model (DOM)

A cross-platform and language-independent application programming interface that treats an HTML, XHTML, or XML document as a tree structure wherein each node is an object representing a part of the document.

Jan Pettersen Nytun, UiA, page 13

slide-14
SLIDE 14

What is meant with the following statement: “XML is Syntax”?

Syntax: …the rules about how words are arranged and connected to make phrases and sentences…

Jan Pettersen Nytun, UIA, page 14

slide-15
SLIDE 15

S O

P

XML “is Syntax”

  • Custom tags like <musician>, and <record> can

make XML documents at least partly self- described to humans.

  • But what is meant by a tag, e.g., <musician>, is

not given (the term “musician” is used but not explained).

Jan Pettersen Nytun, UIA, page 15

slide-16
SLIDE 16

S O

P

Jan Pettersen Nytun, UIA, page 16

From Wikipedia:

XML is a generic framework for storing text or any data whose structure can be represented as a tree.

<medicalsystem> <journal name=“Ola Norman" id=“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name=“Kari Norman" id=“2"> <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania? </journalrecord> </journal> </medicalsystem>

Node

child * root 1

DirectedTree

0..1 0..1 edge topRoot

Why a tree?

slide-17
SLIDE 17

Jan Pettersen Nytun, UIA, page 17

<medicalsystem> <journal name=“Ola Norman" id=“1"> <journalrecord>May be a little overweight</journalrecord> </journal> <journal name=“Kari Norman" id=“2"> <journalrecord>Lack of iron.</journalrecord> <journalrecord>A slight attack of shopomania? </journalrecord> </journal> </medicalsystem>

medicalsystem journal journal journalrecord journalrecord journalrecord name “Ola Norman" id “1" name “Kari Norman" id “2" “May be a little overweight " “Lack of iron." “A slight attack of shopomania?"

Where did the end-tags go? What about the order of things?

slide-18
SLIDE 18

S O

P Node name : String Attribute Element value : String * 0..1 container

Building blocks for defining an XML document

(Using UML) Attribute Element Text (A bit simplified)

textContent : String content

slide-19
SLIDE 19

Example (simplified):

<xsd:schema …. > <xsd:element name = “Building” type = “BuildingType”/> <xsd:complexType name=" BuildingType"> <xsd:attribute name=“name" type="xsd:string"/> <xsd:attribute name=“area" type="xsd:integer"/> </xsd:complexType>

XML document (= instance of some XML schema)):

<?xml version=1.0” …> … <Building name=“BlueBox" area = 300/> …..

An XML Schema functioning as model

Jan Pettersen Nytun, UIA, page 19

slide-20
SLIDE 20

S O

P

URI [1]

  • A URI (a Uniform Resource Identifier) is used to

uniquely identify a resource.

  • A URI is a string that refers to a resource, such as

a web page, a person, or a corporation. In some cases it is just a web address (where there are no content).

Jan Pettersen Nytun, UIA, page 20

slide-21
SLIDE 21

S O

P

Uniform Resource Locator (URL)

… a URL is a subset of URI that specifies where an identified resource is available and the mechanism for retrieving it… … often incorrectly used as a synonym for URI…

Jan Pettersen Nytun, UiA, Ontologies, page 21

From Wikipedia:

slide-22
SLIDE 22

S O

P

URI/URL [1]

  • Often URIs use the syntax of web addresses

since they are unique.

  • A "#" in a URI denotes an individual that is

referred to on a web page. For example, http://cs.ubc.ca/∼poole/foaf.rdf#david denotes the individual david referred to in http://cs.ubc.ca/∼poole/foaf.rdf.

Jan Pettersen Nytun, UIA, page 22

slide-23
SLIDE 23

S O

P

References

Jan Pettersen Nytun, UIA, page 23

[1] Book: David Poole and Alan Mackworth, Artificial Intelligence: Foundations of Computational Agents, Cambridge University Press, 2010, http://artint.info/