languages for semantic web n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Languages for Semantic Web PowerPoint Presentation
Download Presentation
Languages for Semantic Web

Loading in 2 Seconds...

play fullscreen
1 / 76

Languages for Semantic Web - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

Languages for Semantic Web. 葉慶隆 大同大學 資訊工程系所 Email: chingyeh@cse.ttu.edu.tw URL: www.cse.ttu.edu.tw/chingyeh. Sources. Knowledge Markup and Resource Semantics, By Harold Boley, Stefan Decker, and Michael Sintek, IJCAI-01 Tutorial, http://www.ijcai-01.org/

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

Languages for Semantic Web


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
languages for semantic web

Languages for Semantic Web

葉慶隆

大同大學 資訊工程系所

Email: chingyeh@cse.ttu.edu.tw

URL: www.cse.ttu.edu.tw/chingyeh

sources
Sources
  • Knowledge Markup and Resource Semantics, By Harold Boley, Stefan Decker, and Michael Sintek, IJCAI-01 Tutorial, http://www.ijcai-01.org/
  • XML Fundamentals, http://www.ibiblio.org/xml/slides/sd2001east/fundamentals/XML_Fundamentals.html
  • Anupriya Ankolenkar, et al., “DAML-S: Semantic Markup For Web Services,”, Proceedings of SWWS’ 01, the First Semantic Web Working Symposium, California, USA, July 30 - August 1, 2001.

Languages forSemantic Web

overview
Increasing demand for formalized knowledge on the Web: AI’s chance!

XML- & RDF-based markup languages provide a 'universal' storage/interchange format for such Web-distributed knowledge representation

In this talk, we focus on Semantic Web languages: XML, RDF(S), DAML.

Overview

Namespaces

CSS

DTDs

XSLT

DAML

Stylesheets

Agents

Transformations

Ontobroker

XQL

XML

HornML

Rules

Queries

XQuery

RuleML

XML-QL

SHOE

RDF[S]

Frames

Acquisition

TopicMaps

Protégé

Languages forSemantic Web

web languages for knowledge capturing
Web Languages forKnowledge Capturing
  • Human knowledge is (partially) captured on the Web as informal texts, semiformal documents, and structured metadata
  • Each kind of knowledge has its (preferred) markup language

Languages forSemantic Web

web languages for machine interpretation
Web Languages forMachine Interpretation
  • XML (Extensible Markup Language): Semiformal documents range between non-formatted texts and fully formatted databases
  • RDF (Resource Description Framework): Structured metadata describe arbitrary heterogeneous Web pages/objects in a homogeneous manner.

Machines (e.g. search engines) can analyze

XML or RDF markups better than full HTML

Languages forSemantic Web

the semantic web activity of the w3c
The Semantic Web Activityof the W3C
  • “The Semantic Web is a vision: the idea of having
  • data on the Web defined and linked in a way that
  • it can be used by machines not just for display purposes,
  • but for
    • automation,
    • integration and
    • reuse of data across various applications.”
  • (http://www.w3.org/2001/sw/Activity)

Languages forSemantic Web

the semantic web layered architecture
The Semantic Web Layered Architecture

Tim Berners-Lee:

“Axioms, Architecture and Aspirations”

W3C all-working group plenary Meeting

28 February 2001

(http://www.w3.org/2001/Talks/0228-tbl/slide5-0.html)

Languages forSemantic Web

xml fundamentals

XML Fundamentals

Source: http://www.ibiblio.org/xml/slides/sd2001east/fundamentals/XML_Fundamentals.html

what is xml
What is XML?
  • Extensible Markup Language
  • A syntax for documents
  • A Meta-Markup Language
  • A Structural and Semantic language, not a formatting language
  • Not just for Web pages

Languages forSemantic Web

extensible markup language
Extensible Markup Language
  • Language
    • It has a grammar
    • It has a vocabulary (sort of)
    • It can be parsed by machines
  • Markup Language
    • It says what things are; not what they do
    • It is not a programming language
    • It is not compiled
  • Extensible
    • You can add words to the language

Languages forSemantic Web

xml is a meta markup language
XML is a Meta Markup Language
  • Not like HTML, troff, LaTeX
  • Make up the tags you need as you need them
  • The tags you create can be documented in a Document Type Definition (DTD)
  • A meta syntax for domain-specific markup languages like MusicML, MathML, and XHTML

Languages forSemantic Web

xml applications
XML Applications
  • A specific markup language that uses the XML meta-syntax is called an XML application
  • Different XML applications have their own more constricted syntaxes and vocabularies within the broader XML syntax
  • Further syntax can be layered on top of this; e.g. data typing through schemas

Languages forSemantic Web

xml describes structure and semantics not formatting
XML describes structure and semantics, not formatting
  • XML documents form a tree
    • Document Object Model (DOM)
  • Element and attribute names reflect the kind of the element
    • DTD, Schema
  • Formatting can be added with a style sheet
    • Cascading Style Sheets (CSS)
    • Extensible Stylesheet language (XSL)

Languages forSemantic Web

xml hypertext
XML Hypertext
  • A Uniform Resource Identifier (URI) names or locates a resource
  • An XLink defines connections between two or more documents identified by URIs
  • XPath identifies particular nodes within a document
  • An XPointer adds an XPath to a URI
  • XBase defines the URI against which relative URIs are resolved
  • XInclude embeds a document identified by a URI inside an XML document.

Languages forSemantic Web

a song description in html
A Song Description in HTML

<dt>Hot Cop

<dd> by Jacques Morali, Henri Belolo, and Victor Willis

<ul>

<li>Producer: Jacques Morali

<li>Publisher: PolyGram Records

<li>Length: 6:20

<li>Written: 1978

<li>Artist: Village People

</ul>

Languages forSemantic Web

a song description in xml
A Song Description in XML

<SONG>

<TITLE>Hot Cop</TITLE>

<COMPOSER>Jacques Morali</COMPOSER>

<COMPOSER>Henri Belolo</COMPOSER>

<COMPOSER>Victor Willis</COMPOSER>

<PRODUCER>Jacques Morali</PRODUCER>

<PUBLISHER>PolyGram Records</PUBLISHER>

<LENGTH>6:20</LENGTH>

<YEAR>1978</YEAR>

<ARTIST>Village People</ARTIST>

</SONG>

Languages forSemantic Web

style sheets provide formatting css
Style Sheets Provide Formatting(CSS)

SONG {display: block;

font-family: New York, Times New Roman, serif}

TITLE {display: block; font-size: 24pt;

font-weight: bold; font-family: Helvetica, sans}

COMPOSER {display: block}

PRODUCER {display: block}

YEAR {display: block}

PUBLISHER {display: block}

LENGTH {display: block}

ARTIST {display: block; font-style: italic}

Languages forSemantic Web

attaching style sheets to documents
Attaching Style Sheets to Documents

<?xml-stylesheet type="text/css" href="song.css"?>

<SONG>

<TITLE>Hot Cop</TITLE>

<COMPOSER>Jacques Morali</COMPOSER>

<COMPOSER>Henri Belolo</COMPOSER>

<COMPOSER>Victor Willis</COMPOSER>

<PRODUCER>Jacques Morali</PRODUCER>

<PUBLISHER>PolyGram Records</PUBLISHER>

<LENGTH>6:20</LENGTH>

<YEAR>1978</YEAR>

<ARTIST>Village People</ARTIST>

</SONG>

Languages forSemantic Web

an xslt stylesheet part 1
An XSLT Stylesheet (Part 1)

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>

<head><title>Song</title></head>

<body>

<xsl:apply-templates select="SONG"/>

</body>

</html>

</xsl:template>

Languages forSemantic Web

an xslt stylesheet part 2
An XSLT Stylesheet (Part 2)

<xsl:template match="SONG">

<h1>

<xsl:value-of select="TITLE"/>

by the

<xsl:value-of select="ARTIST"/>

</h1>

<ul>

<li>Length: <xsl:value-of select="LENGTH"/></li>

<li>Producer: <xsl:value-of select="PRODUCER"/></li>

<li>Publisher: <xsl:value-of select="PUBLISHER"/></li>

<li>Year: <xsl:value-of select="YEAR"/></li>

<xsl:apply-templates select="COMPOSER"/>

</ul>

</xsl:template>

<xsl:template match="COMPOSER">

<li>Composer: <xsl:value-of select="."/></li>

</xsl:template>

</xsl:stylesheet>

Languages forSemantic Web

transforming the document
Transforming the Document

<html>

<head>

<meta http-equiv="Content-Type"

content="text/html; charset=utf-8">

<title>Song</title>

</head>

<body>

<h1>Hot Cop

by the

Village People

</h1>

<ul>

<li>Length: 6:20</li>

<li>Producer: Jacques Morali</li>

<li>Publisher: PolyGram Records</li>

<li>Year: 1978</li>

<li>Composer: Jacques Morali</li>

<li>Composer: Henri Belolo</li>

<li>Composer: Victor Willis</li>

</ul>

</body>

</html>

XSL document

(template rules)

XML

document

XSLT

Processor

(IE 5)

Output

Languages forSemantic Web

a dtd for songs
A DTD for Songs

<!ELEMENT SONG (TITLE, COMPOSER+, PRODUCER*,

PUBLISHER*, LENGTH?, YEAR?, ARTIST+)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT COMPOSER (#PCDATA)>

<!ELEMENT PRODUCER (#PCDATA)>

<!ELEMENT PUBLISHER (#PCDATA)>

<!ELEMENT LENGTH (#PCDATA)>

<!-- This should be a four digit year like "1999",

not a two-digit year like "99" -->

<!ELEMENT YEAR (#PCDATA)>

<!ELEMENT ARTIST (#PCDATA)>

Languages forSemantic Web

well formedness
Well-formedness
  • Rules:
    • Open and close all tags
    • Empty tags end with />
    • There is a unique root element
    • Elements may not overlap
    • Attribute values are quoted
    • < and & are only used to start tags and entities
    • Only the five predefined entity references are used
    • Plus more...

Languages forSemantic Web

validity
Validity
  • To be valid an XML document must be
    • Well-formed
    • Must have a Document Type Definition (DTD)
    • Must comply with the constraints specified in the DTD

Languages forSemantic Web

what is xml used for
What Is XML Used for?
  • Domain-Specific Markup Languages
    • XML in industrial applications: http://www.xml.org/xml/industry_industrysectors.jsp
  • Self-Describing Data
    • Much data is lost due to format problems.
  • Interchange of Data Among Applications
    • Electronic business: RosettaNet, ebXML

Languages forSemantic Web

xml namespaces
XML Namespaces
  • XML namespaces are akin to namespaces, packages, and modules in programming languages
  • Disambiguation of tag–and attribute–names from different XML applications (“spaces”) through different prefixes
  • A prefix is separated from the local name by a “:”, obtaining prefix:name tags
  • Namespaces constitute a layer on top of XML 1.0, since prefix:name is again a valid tag name and namespace bindings are ignored by some tools

Languages forSemantic Web

namespace bindings
Namespace Bindings
  • Prefixes are bound to namespace URIs by attaching an xmlns:prefix attribute to the prefixed element or one of its ancestors, prefix:name1 ,...,prefix:namen
  • The value of the xmlns:prefix attribute is a URI, which may or (unlike for DTDs!) may not point to a description of the namespace’s syntax
  • An element can use bindings for multiple name-spaces via attributes xmlns:prefix1 ,...,xmlns:prefixm

Languages forSemantic Web

two namespace example snail mail and telecoms address parts
Two-Namespace Example: Snail-Mail and Telecoms Address Parts

<mail:address xmlns:mail="http://www.deutschepost.de/"

xmlns:tele="http://www.telekom.de/">

<mail:name>Xaver M. Linde</mail:name>

<mail:street>Wikingerufer 7</mail:street>

<mail:town>10555 Berlin</mail:town>

<mail:bill>12.50</mail:bill>

<tele:phone>030/1234567</tele:phone>

<tele:phone>030/1234568</tele:phone>

<tele:fax>030/1234569</tele:fax>

<tele:bill>76.20</tele:bill>

</ mail:address>

bill disambiguation through mail and tele prefixes

Languages forSemantic Web

resource description framework rdf

Resource Description FrameworkRDF

Source:Knowledge Markup and Resource Semantics,

By Harold Boley, Stefan Decker, and Michael Sintek,

IJCAI-01 Tutorial, http://www.ijcai-01.org/

outline
Outline
  • Motivation: Why XML is not enough
  • Introduction to RDF
    • Requirements for KR on the Web
    • The RDF Data Model
    • RDF Schema
  • Extensions of RDF(S)
  • Tools for RDF and RDF Schema
    • Parser, Query, and Inference Engines

Languages forSemantic Web

why the shift towards more semantics
Why The Shift Towards More Semantics?
  • Information Overload
    • Information on the Web currently aiming at Human Consumption
    • Information Consumption is too time consuming
  • Search Engines fail more and more
    • combined coverage is less than 42% of the HTML-Web
  • Data Interchange growing (e.g. B2B)
    • needs a common semantics

Languages forSemantic Web

extensible markup language xml revisited
Extensible Markup Language (XML) Revisited
  • Key idea: separate structure from presentation
  • XML DTDs or Schemas define document structure
  • Replace HTML with two things
      • A domain specific markup language (defined in XML)
      • A map from that markup language to HTML (defined using XSLT)
  • DTD enables document recipients to tell whether they’ve received a grammar-conforming document
    • Gives a minimal level of validation

Languages forSemantic Web

why xml is not enough
Why XML is Not Enough
  • Main advantage of using XML is reusing the parserand document validation
  • Many different possibilities to encode a domain of discourse
  • Leads to difficulties when understanding of foreign documents is required

==> Next step: separate content from structure!

Languages forSemantic Web

encoding of knowledge example
Encoding of Knowledge: Example

“The Creator of the Resource “http://www.w3.org/Home/Lassila” is Ora Lassila

Ora Lassila

http://www.w3.org/Home/Lassila

Creator

Endless encoding possibilities in XML:

<Creator>

<uri>http://www.w3.org/Home/Lassila</uri>

<name>Ora Lassila</name>

</Creator>

<Document uri=“http://www.w3.org/Home/Lassila”

<Creator>Ora Lassila</Creator>

</Document>

<Document uri=“http://www.w3.org/Home/Lassila” Creator=“Ora Lassila”/>

Languages forSemantic Web

point to point communication for machine understandable data

XML-based Communication

using DTD A

Parse Tree

XML-Parser

Sender using DTD A

Point to Point Communicationfor Machine-Understandable Data

Conceptual Domain Model(Objects and Relations)

Person is_a Mammal

Student is_a Person

----

Translation Step

DTD or XML Schema

<xsd:schema xmlns:xsd="http://..."> <xsd:annotation> A-Schema

</xsd:...</xsd:schema>

Deployment

Recipient using DTD A

Common Semantics

Languages forSemantic Web

new partners don t understand each other
New Partners Don’t Understand Each Other

?

Communication Partner

using DTD B

Communication Partner

using DTD C

?

?

XML-based Communication

using DTD A

Parse Tree

XML-Parser

Recipient using DTD A

Sender using DTD A

Languages forSemantic Web

merging steps between models
Merging Steps Between Models

DTD A

Steps

DTD B

<xsd:schema xmlns:xsd="http://..."> <xsd:annotation>B-Schema

</xsd:...</xsd:schema>

<xsd:schema xmlns:xsd="http://..."> <xsd:annotation>A-Schema

</xsd:...</xsd:schema>

Reengineering

of the conceptual model

Matching

Matching

XML Document Translation Generation(e.g. in XSLT)

<xsl:stylesheet version="1.0”

xmlns:xsl="http://....Transform"

<xsl:template match="/">

....

</xsl:template>

</xsl:stylesheet>

<xsl:stylesheet version="1.0”

xmlns:xsl="http://....Transform"

<xsl:template match="/">

....

</xsl:template>

</xsl:stylesheet>

XML Document Translation from

DTD A to DTD B

(and B to A)

Languages forSemantic Web

merging aligning models
Merging/Aligning Models
  • Reengineering step is costly and unnecessary, when a conceptual language is in use
  • Generation document translation procedures is again complicated and unnecessary

==> use a level on top of XML

  • What are requirements for such a level?

Languages forSemantic Web

postulates fundamental requirements for kr on the web
Postulates: Fundamental Requirements for KR on the Web

1. Knowledge on the Web is distributed (link Knowledge on the Web)

2. Knowledge on the Web is biased - there is no universal truth it must be possible to dispute statements

3. Many different user communities: Extensibility and Simplicity

==> Resource Description Framework (RDF)

Languages forSemantic Web

introduction to rdf
Introduction to RDF
  • RDF (Resource Description Framework)
    • Beyond Machine readable to Machine understandable
  • RDF unites a wide variety of stakeholders:
    • Digital librarians, content-raters, privacy advocates, B2B industries, AI...
    • Significant (but less than XML) industrial momentum, lead by W3C
  • RDF consists of two parts
    • RDF Model (a set of triples)
    • RDF Syntax (different XML serialization syntaxes)
  • RDF Schema for definition of Vocabularies (simple Ontologies) for RDF (and in RDF)

Languages forSemantic Web

rdf data model
RDF Data Model
  • Resources
    • A resource is a thing you talk about (can reference)
    • Resources have URI’s
    • RDF definitions are themselves Resources (linkage, see requirement 1)
  • Properties
    • slots, define relationships to other resources or atomic values
  • Statements
    • “Resource has Property with Value”
    • (Values can be resources or atomic XML data)
  • Similar to Frame Systems

Languages forSemantic Web

a simple example

Ora Lassila

A Simple Example
  • Statement
    • “Ora Lassila is the creator of the resource http://www.w3.org/Home/Lassila”
  • Structure
    • Resource (subject) http://www.w3.org/Home/Lassila
    • Property (predicate) http://www.schema.org/#Creator
    • Value (object) "Ora Lassila”
  • Directed graph

s:Creator

http://www.w3.org/Home/Lassila

Languages forSemantic Web

another example
Another Example
  • To add properties to Creator, point through an intermediate Resource.

http://www.w3.org/Home/Lassila

s:Creator

Person://fi/654645635

Email

Name

Ora Lassila

lassila@w3.org

Languages forSemantic Web

collection containers
Collection Containers
  • Multiple occurrences of the same PropertyType don’t establish a relation between the values
    • The Millers own a boat, a bike, and a TV set
    • The Millers need (a car or a truck)
    • (Sarah and Bob) bought a new car
  • RDF defines three special Resources:
    • Bag unordered valuesrdf:Bag
    • Sequence ordered values rdf:Seq
    • Alternative single valuerdf:Alt
      • Core RDF does not enforce ‘set’ semantics amongst values

Languages forSemantic Web

example bag

/courses/6.001

Example: Bag
  • The students incourse 6.001 are Amy, Tim,John, Mary,and Sue

Rdf:Bag

rdf:type

/Students/Amy

students

rdf:_1

rdf:_2

/Students/Tim

bagid1

rdf:_3

/Students/John

rdf:_4

/Students/Mary

rdf:_5

/Students/Sue

Languages forSemantic Web

example alternative

http://x.org/package/X11

Example: Alternative
  • The source code for X11 may be found at ftp.x.org, ftp.cs.purdue.edu, or ftp.eu.net

rdf:Alt

rdf:type

source

rdf:_1

altid

ftp.x.org

rdf:_2

ftp.cs.purdue.edu

rdf:_3

ftp.eu.net

Languages forSemantic Web

statements about statements requirement 2 dispute statements
Statements About Statements (Requirement 2: Dispute Statements)
  • Making statements about statements requires a process for transforming them into Resources
    • subject the original resource
    • predicate the original property
    • object the original value
    • type rdf:Statement

Languages forSemantic Web

a formal model of rdf
A Formal Model of RDF
  • RDF itself is mathematically straightforward:
    • Basic Definitions
      • Resources.
      • PropertiesResources
      • Literals
      • Statements = Properties  Resources  {Resources  Literals}
    • Typing
      • rdf:type  Properties
      • {RDF:type, sub, obj}  Statements  obj  Resources
        • for triples like {p,r1,r2} the RDF spec should use some different bracketing, like (p,r1,r2)

Languages forSemantic Web

formal model of rdf ii
Formal Model of RDF II
  • Reification
    • rdf:Statement  Resource-Properties
    • {rdf:predicate, rdf:subject, rdf:object }  Properties
    • Reification of a triple {pred, sub, obj} of Statements is an element r of Resources representing the reified triple and the elements s1, s2, s3, and s4 of Statements such that
      • s1: {RDF:predicate, r, pred}
      • s2: {RDF:subject, r, sub}
      • s3: {RDF:object, r, obj}
      • s4: {RDF:type, r, [RDF:Statement]}
  • Collections
    • { RDF:Seq, RDF:Bag, and RDF:Alt }  Resources-Properties
    • There is a subset of Properties corresponding to the ordinals (1, 2, 3, ...) called Ord. We refer to
    • elements of Ord as RDF:_1, RDF:_2, RDF:_3, ...

Languages forSemantic Web

rdf syntax i
RDF Syntax I
  • Data model does not enforce particular syntax
  • Specification suggests many different syntaxes based on XML
  • General form:

Subject (OID)

Starts an RDF-Description

<rdf:RDF>

<rdf:Description about="http://www.w3.org/Home/Lassila">

<s:Creator>Ora Lassila</s:Creator>

<s:createdWith rdf:resource=“http://www.w3c.org/amaya”/>

</rdf:Description>

</rdf:RDF>

Literal

Resource (possibly another RDF-description)

Properties

Languages forSemantic Web

resulting graph
Resulting Graph

http://www.w3.org/Home/Lassila

s:createdWith

s:Creator

http://www.w3c.org/amaya

Ora Lassila

<rdf:RDF>

<rdf:Description about="http://www.w3.org/Home/Lassila">

<s:Creator>Ora Lassila</s:Creator>

<s:createdWith rdf:resource=“http://www.w3c.org/amaya”/>

</rdf:Description>

</rdf:RDF>

Languages forSemantic Web

rdf syntax ii syntactic varieties
RDF Syntax II: Syntactic Varieties

Typing Information

Subject (OID)

In-Element Property

<s:Homepage rdf:about="http://www.w3.org/Home/Lassila”

s:Creator=“Ora Lassila”/>

<s:createdWith>

<s:HTMLEditor rdf:about=“http://www.w3c.org/amaya”/>

</s:createdWith>

</s:Homepage>

rdf:type

s:Homepage

http://www.w3.org/Home/Lassila

Property

s:createdWith

s:Creator

rdf:type

HTMLEditor

http://www.w3c.org/amaya

Ora Lassila

Languages forSemantic Web

rdf schema rdfs
RDF Schema (RDFS)
  • RDF just defines the data model
  • Need for definition of vocabularies for the data model - an Ontology Language!
  • RDF schemas are Web resources (and have URIs) and can be described using RDF

Languages forSemantic Web

most important modeling primitives
Most Important Modeling Primitives
  • Core Classes
    • Root-Class rdfs:Resource
    • MetaClass rdfs:Class
    • Literals rdfs:Literal
  • rdfs:subclassOf-property
  • Inherited from RDF: properties (slots)
  • rdfs:domain & rdfs:range
  • rdfs:label, rdfs:comment, etc.
  • Inherited from RDF: InstanceOf (rdf:type)

Languages forSemantic Web

rdf schema example
RDF-Schema: Example

s = rdfs:subClassOf

t = rdf:type

rdfs:Resource

s

t

s

t

rdfs:Class

t

xyz:MotorVehicle

t

t

t

s

s

s

xyz:Van

xyz:Truck

t

s

xyz:PassengerVehicle

xyz:MiniVan

s

Languages forSemantic Web

extensibility of rdf
Extensibility of RDF
  • Define an Ontology of your Language with RDF Schema (like RDF-Schema itself)
  • Describe Instance Data using your new Vocabulary
  • Advantage: all Languages use the same Data Model (simplifies Interoperability)

Languages forSemantic Web

prot g 2000 as rdf s editor
Protégé-2000 as RDF[S]-Editor

<rdfs:Class rdf:about="&mv;MotorVehicle"><rdfs:subClassOf rdf:resource="&rdfs;Resource"/></rdfs:Class>

<rdfs:Class rdf:about="&mv;PassengerVehicle"><rdfs:subClassOf rdf:resource="&mv;MotorVehicle"/></rdfs:Class>

<rdf:Property rdf:about="&mv;rearSeatLegRoom"a:maxCardinality="1" a:range="integer"><rdfs:domain rdf:resource="&mv;MotorVehicle"/><rdfs:range rdf:resource="&rdfs;Literal"/></rdf:Property>

Languages forSemantic Web

ontology languages on top of rdf the principle

OntologyLanguage

Instance Data

RDF

Ontology Languages on Top of RDF:The Principle

Legend:

Definition uses the

data model of

Defined in terms of

Is extension of

RDF Schema

Languages forSemantic Web

the semantic web
The Semantic Web
  • A Web of machine understandable Data, based on declarative languages on top of RDF (all use the same data model!)
  • Intelligent Agent enabling architecture
  • W3C’s vision for the Semantic Web Architecture:

Languages forSemantic Web

darpa agent markup language program
DARPA Agent Markup Language Program
  • DARPA funded Research Program (also funded the Development of the ARPANNET -> Internet)
  • Focusing on building the foundation for the Semantic Web: http://www.daml.org
  • Ontology Language DAML+OIL: Result of a Joint (European + US-American) Committee
  • Rule Language in preparation

Languages forSemantic Web

daml oil
DAML+OIL
  • Extension of RDF Schema
  • Ontology Language DAML+OIL: Result of a Joint (European + US-American) Committee
  • Extension of RDF Schema
    • Class Expressions (Intersection, Union, Complement)
    • XML Schema Datatypes
    • Enumerations
    • Property Restrictions
      • Cardinality Constraints
      • Value Restrictions

Languages forSemantic Web

example intersection synonyms
Example: Intersection & Synonyms

<daml:Class rdf:ID="TallMan">

<daml:intersectionOf rdf:parseType="daml:collection">

<daml:Class rdf:about="#TallThing"/>

<daml:Class rdf:about="#Man"/>

</daml:intersectionOf>

</daml:Class>

<daml:Class rdf:ID="HumanBeing">

<daml:sameClassAs rdf:resource="#Person"/>

</daml:Class>

Languages forSemantic Web

example disjoint complement
Example: Disjoint & Complement

<daml:Disjoint rdf:parseType="daml:collection">

<daml:Class rdf:about="#Car"/>

<daml:Class rdf:about="#Person"/>

<daml:Class rdf:about="#Plant"/>

</daml:Disjoint>

Disjoint not strictly necessary, since expressible via pairwise subClassOf

of complementOf, as for Car and Person:

<daml:Class rdf:ID="Car">

<rdfs:comment>no car is a person</rdfs:comment>

<rdfs:subClassOf>

<daml:Class>

<daml:complementOf rdf:resource="#Person"/>

</daml:Class>

</rdfs:subClassOf>

</daml:Class>

Languages forSemantic Web

example properties transitive inverse subproperty uniqueproperty range datatypes
Example: Properties (Transitive, Inverse, subProperty, UniqueProperty, range, Datatypes)

<daml:TransitiveProperty rdf:ID="hasAncestor"/>

<daml:ObjectProperty rdf:ID="hasChild">

<daml:inverseOf rdf:resource="#hasParent"/>

</daml:ObjectProperty>

<daml:UniqueProperty rdf:ID="hasMother">

<rdfs:subPropertyOf rdf:resource="#hasParent"/>

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

</daml:UniqueProperty>

<daml:DatatypeProperty rdf:ID="age">

<rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/>

<rdfs:range rdf:resource="http://www.w3.org/.../XMLSchema#nonNegativeInteger"/>

</daml:DatatypeProperty>

Languages forSemantic Web

using user defined datatypes based on xml schema
Using User-defined Datatypes(based on XML Schema)

<xsd:simpleType name="over17">

<!--over17 is an XMLS datatype based on decimal-->

<!--with the added restriction that values must be >=18-->

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

<xsd:minInclusive value="18"/>

</xsd:restriction>

</xsd:simpleType>

<daml:Class rdf:ID="Adult">

<daml:intersectionOf rdf:parseType="daml:collection">

<daml:Class rdf:about="#Person"/>

<daml:Restriction>

<daml:onProperty rdf:resource="#age"/>

<daml:hasClass rdf:resource="somefile#over17"/>

</daml:Restriction>

</daml:intersectionOf>

</daml:Class>

Languages forSemantic Web

instances individuals
Instances (Individuals)

<Person rdf:ID="Adam">

<rdfs:label>Adam</rdfs:label>

<rdfs:comment>Adam is a person.</rdfs:comment>

<age><xsd:integer rdf:value="13"/></age>

<shoesize>

<xsd:decimal rdf:value="9.5"/>

</shoesize>

</Person>

<daml:Class rdf:ID="Person">

. . .

</daml:Class>

Languages forSemantic Web

prot g as oil editor
Protégé as OIL-Editor
  • supports following subset of OIL:
    • class definitions with subclass and slot constraints (property restrictions) with
      • class expressions: and, or, not, class[names], slot constraints, top, and bottom
      • slot constraints: has-value, value-type, max-cardinality, min-cardinality, cardinality
      • missing: concrete-type-exp, filler-exp
    • slot definitions:
      • subslot-of, inverse (using Protégé's inverse slot mechanism), domain, range
      • properties (transitive, symmetric, functional)
    • global axioms (disjoint, covered, disjoint-covered, equivalent)
    • missing: instance-of, related
  • special widgets for displaying OIL expressions
  • connects to FaCT description logic classifier for classification and satisfiability checking
  • generates SHIQ LaTeX output

Languages forSemantic Web

application semantic web services

Application:Semantic Web Services

Source: Anupriya Ankolenkar, et al., “DAML-S: Semantic Markup For Web Services,”, Proceedings of SWWS’ 01, the First Semantic Web Working Symposium, California, USA, July 30 - August 1, 2001

web services
Web Services

Languages forSemantic Web

what is daml s
What Is DAML-S
  • Users and software agents should be able to discover, invoke, compose, and monitor Web resources offering particular services and having particular properties.
  • As part of the DARPA Agent Markup Language program, we have begun to develop an ontology of services, called DAML-S.

Languages forSemantic Web

some motivating tasks
Some Motivating Tasks
  • Automatic Web service discovery
  • Automatic Web service invocation
  • Automatic Web service composition and interoperation
  • Automatic Web service execution monitoring

Languages forSemantic Web

top level of the service ontology
Top Level of the Service Ontology

Resource

provide

ServiceProfile

presents

(what it does)

Service

(how it works)

(how to access it)

supports

describedBy

ServiceGrounding

ServiceModel

Languages forSemantic Web

process modeling ontology
Process Modeling Ontology

Languages forSemantic Web

summary
Summary

Languages forSemantic Web