Title: Comp3503 XML and Ontologies
1Comp3503XML and Ontologies
2Outline
- XML Fundamentals
- XML Use
- Ontology Fundamentals
- Application of Ontologies
- Ontologies and the Semantic Web
3Problems with the HTML based Web
- HTML documents focus on display and not structure
and meaning of data - an information maze devoid
of meaning - Inefficient use of tags - every instance of data
must be tagged for presentation - Fixed number of tags - can not be extended (not
extensible) - Confusing mix of standards (Netscape and IE
innovations) - HTML search is based on keywords without context
- Client-server applications cannot easily exchange
data using HTML
4HTML focuses on display syntax
- HTML tags such as ltBgtSimpsonlt\Bgt tell how to
display the word Simpson - Focus is on presentation (format, syntax)
- But its does not define what Simpson means
- A persons name? A city? A company?
- Or its structural relationship to other data
- Full name? Last name? First name?
5The XML idea
- eXtensible Markup Language
- XML defines meaning (semantics)
ltlnamegtSimpsonlt\lnamegt - In terms of structural relationships
- Independent of presentation
ltmail_adrsgt ltfnamegtHomerlt\fnamegt
ltlnamegtSimpsonlt\lnamegt ltstrnumgt1234lt\strnumgt
ltstrgtHickup Lanelt\strgt lt\mail_adrsgt
6What is XML?
- 1996 - A simplified form of SGML for the web
(Standardized General Markup Language) - Both machine and human readable
- Separates content, structure and presentation
- Extensible -users can define structure and
meaning - Supports information reuse and processing
autonomy (application decides how to use/present)
SGML
HTML
XML
7The W3Cs 10 Design Requirements for XML
- XML shall be easily usable over the Internet.
- XML shall support a wide variety of applications.
- XML shall be compatible with SGML.
- It shall be easy to write programs that process
XML documents. - The number of optional features in XML is to be
kept to the absolute minimum, ideally zero. - XML documents should be human-legible (easy to
understand). - The design of XML had to be done quickly
- The design of XML shall be exact (formal) and
concise to easy processing of the code. - XML documents should be easy to create.
- Terseness (brevity) in XML markup is of minimal
importance.
8XML Fundamentals
lt?xml version "1.0"?gt ltcontactsgt
ltcontactgt ltLastNamegtBlacklt/LastNamegt
ltFirstNamegtJohnlt/FirstNamegt lt/contactgt
lt/contactsgt
lt!ELEMENT contacts (contact) gt lt!ELEMENT contact
(LastName, FirstName) gt lt!ELEMENT LastName
(PCDATA) gt lt!ELEMENT FirstName (PCDATA) gt
DTD Structure
Presentation in Context
XML Content
XSL Presentation
lt?xml version"1.0"?gt ltxslstylesheet xmlnsxsl
"http//www.w3.org/TR/WD-xsl"gt
9XMLs Intended Use
- Standard format for exchanging data
- Promote cross-platform and cross-application
schema independent of data content, use and
presentation - Oriented toward giving meaning to data, and does
not emphasize display issues - Client describes valid data for display
- Server describes valid data for exchange
10XMLs Intended Use
- Allows organizations to maintain proprietary
databases while at the same time communicate
information with one another - Schemas for specific domains have been created
- Music (MusicXML example)
- Chemical symbols (CML)
- Mathematical formulas (MathML)
- Common industry models (EDI for B2B)
- Web resource descriptions (directories,
addresses)
11XML versus HTML
- XML is not a replacement for HTML
- XML and HTML were designed with different goals
- HTML was designed to display data and to focus on
how data looks - XML was designed to describe data and to focus on
what data means - They complement each other
12XML eXtensibility
- XML allows you to create your own definitions of
data and there relationship to other pieces of
data - Thus the name
- eXtensible
- Note that XML is case sensitive
lt?xml version"1.0"?gt ltPeoplegt ltPersongt
ltNamegt ltFirstgtPatricklt/Firstgt
ltLastgtJoelt/Lastgt lt/Namegt lt/Persongt lt/Peoplegt
13Using IE to Explore XML
- You can use Internet Explorer to view an XML
document directly - A plus () or minus sign (-) to the left of the
XML elements can be clicked to expand or collapse
the element structure - Or view the raw XML source using "View Source"
from the browser menu - Example cd_catalog.xml
14Defining XML Structure
- DTD Document Type Definition defines the fields
in an XML document and their relation to one
another (schema) - Meta-data data about data
- Can be included in .xml file or referenced as
a .dtd file - Used by applications to validate XML data
lt!ELMENT People (Person) gt lt!ELMENT Person
(Name) gt lt!ELMENT Name (First, Last) gt lt!ELMENT
First (PCDATA) gt lt!ELMENT Last (PCDATA) gt
15Processing an XML Document
lt?xml version"1.0"?gt ltPeoplegt ltPersongt
ltNamegt ltFirstgtPatricklt/Firstgt
ltLastgtJoelt/Lastgt lt/Namegt lt/Persongt lt/Peoplegt
XML Content
- An application that wishes to use XML
- data should parse the data using a DTD.
- There are two approaches
- DOM read the entire document using the
- DTD and build a tree of elements
- SAX parse on demand (interactively)
- as each new element is encountered
-
DOM Document Object Model SAX Simple API
for XML
16Processing an XML Document
- Internet Explorer 5.0 () has a built in
DOM-based XML parser, msxml - DTD can be embedded in XML or referenced
- Examples
- simple_example.xml with DTD embedded
- letter.xml and letter.dtd
17Displaying XML Documents
- Can be accomplished in various ways, any program
that can parse the XML can display the
information - Here is a simple HTML solution
- simple_contact.html - XML is embedded, DTD is not
required - Javascript could be used instead
- article.xml and DOMexample.html
- note.xml and note.html
18Displaying XML Documents
- An XSL eXtensible Stylesheet Layout can be used
- Examples
- Basic - contact3.xml using contact_list3.xsl
- Full function contact.xml using
contact_list.xsl - Handheld contact2.xml using contact_list2.xsl
lt?xml version"1.0"?gt ltxslstylesheet xmlnsxsl
"http//www.w3.org/TR/WD-xsl"gt
19Transferring Data with XML
- It is possible to use XML as a method of
transferring meaningful data between applications
even when application databases do not match - Adherence to XML DTD is the key
ODBC
JDBC
XML
App A
App B
DB2
Oracle
Common DTD
20Smart Searches on the Internet
- With XML and DTDs, keyword searches on the
Internet can now be aimed at the appropriate
systems, databases, pages - A syntactic search using IE
- cook New York kitchen restaurant
- would become
- A semantic search
- ltoccupationgtcooklt/occupationgt
- ltcitygtNew Yorklt/citygt
21VXML
- Voice XML - vxml
- Sound embedded as content and processed as per
style sheet - Other media types will be used as well
- W3C references
- vxml examples
22General XML References
- http//www.w3.org/XML/
- http//www.xmlfiles.com/xml/
- http//xml.sys-con.com/
23What is an Ontology?
- A specification of a conceptualization
- Example
- An Author is a person
- An Author writes text, books, poems, stories
- A book may have two Authors
- A well understood semantic schema
- A description of the concepts and relationships
that exist for an agent or community of agents - A set of terms describing the application domain
- A set of definitions of formal vocabulary for
communication between agents
24What is an Ontology used for?
- To enable information and knowledge sharing and
reuse between different applications - Useful for human understanding and interaction
- An XML DTD is a primitive form of ontology but
lacks the ability to capture complex
relationships between terms - Good first link on Ontologies http//www.aaai.org
/AITopics/html/ontol.html
25Ontology use in Artificial Intelligence
- Originally designed for use in AI
- Uses in the AI field
- Knowledge Engineering
- Natural Language Processing
- Intelligent Information Integration
- Popularized during the movement to create XML and
the use of XML by Intelligent Agents of the
Semantic Web
26A Great Introduction to
- XML, Ontologies, and the Semantic Web
27Applications of Ontologies
- Knowledge Engineering
- Semantic Web share/exchange of knowledge
- Semi-structured Data web pages
- Ontology-based Information Systems Geographic
IS, Legal IS, Business IS - Ontologies Machine Learning / Knowledge
Discovery - E-Business / E-Commerce
28Application to Knowledge Management
- Efficient knowledge management has been
identified as key to maintaining the
competitiveness of organizations. - Ontologies have been developed in the knowledge
engineering discipline as a means to share and
reuse knowledge - Has been used in large company-wide networks,
call centers, B2C and B2B E-Commerce
29Whats AheadTechnology, Software, Languages
- Ontologies and XML
- Ontology Exchange Language (XOL)
- Technologies
- KQML(Knowledge Query and Manipulation Language)
30Ontologies and XML
- XML is emerging as the standard language for data
interchange on the web - Desirable to exchange ontologies using XML syntax
- Has led to development of XML based languages,
defining a language on top of XML
31Ontologies and XML
- XML Based Languages
- SHOE
- Ontology Exchange Language (XOL)
- Ontology Markup Language (OML)
- Resource Description Framework Schema Language
(RDFS) - Riboweb
- OIL (Ontology Interface Layer) - extention of
RFDS
32Ontology Exchange Language (XOL)
- Language for the exchange of ontologies, created
to facilitate the creation of shared ontologies - Example can be applied to databases to make
information sharing easier
33Technologies
- Ontology Editors
- - the creation of joint ontologies for a number
of agents is challenging - - distributed development of ontologies needs
tools for synchronizing - - Examples Protégé
- Webonto
- OILed
34Technologies
- MetaData Editors
- - ontologies can also be used along with meta
data - - ontology aware metadata tools simplify the
creation of metadata for web resources - - Reggie MetaData Editor - an example of a
simple java based editor
35KQML (Knowledge Query and Manipulation Language)
- Language and protocol for exchanging information
and knowledge - Both a message format and message-handling
protocol to support run-time knowledge sharing
among agents - Uses
- As a language for an application program to
interact with an intelligent system - For two or more intelligent systems to share
knowledge
36KQML (Knowledge Query and Manipulation Language)
- Provides a basic architecture for knowledge
sharing through a special class of agent called
communication facilitators which coordinate the
interactions of other agents - Being used in concurrent engineering, intelligent
design and intelligent planning and scheduling
37OIL(Ontology Interface Layer)
- Ontologies will play a major role in supporting
information exchange - A prerequisite for this role is the development
of a joint standard for specifying and exchanging
ontologies - The Ontology Interface Layer protocol is a
proposal for such a standard - Proposal for web-based representation and
inference layer for ontologies - What OIL is trying to achieve - to ensure a Web
where information can be understood by machines
as well as by humans
38Ontologies Step by Step
- http//www.cs.umd.edu/users/hendler/sciam/walkthru
.html
39Ontologies and The Semantic Web
- The next evolutionary step for the Web is the
Semantic Web - Idea of WWW inventor Tim Berners-Lee
- The semantic web is a mesh of information linked
so it is easily processed by machines - Will allow meaningful exchange of information and
reasoning on the World Wide Web - Resource Description Framework (RDF)
http//www.xml.com/pub/a/2001/01/24/rdf.html
40Ontologies and The Semantic Web
- Ontologies that will allow machines to easily
understand each other - Software agents will be able to understand and
work with the words and info humans use in
emails, documents and databases - Ontologies and the semantic web will make
searching for things on the web much easier - Will automate many time consuming low-level
tasks, for example
41Summary
- An ontology is basically a formal specification
to enable communication between agents - Used for knowledge sharing among computers and
people - Ontologies are a core component behind the
Semantic Web which is the future of the Internet
42References
- http//www.aaai.org/AITopics/html/ontol.html
- http//www-ksl.stanford.edu/kst/what-is-an-ontolog
y.html - http//www.cs.umd.edu/users/hendler/sciam/walkthru
.html - http//ecommerce.ncsu.edu/technology/topic_XML.htm
l - http//ksl-web.stanford.edu/kst/ontology-sources.h
tml - http//www.cs.umbc.edu/kqml/
43THE ENDdanny.silver_at_acadiau.ca