Title: A Two Minute Intro to XML
1A Two Minute Intro to XML
- Roger L. Costello
- David B. Jacobs
- The MITRE Corporation
- (The creation of this tutorial was sponsored by
DARPA)
2XML is an Acronym
- standing for eXtensible Markup Language
3You have data How should you structure it?
Here's some data about an aircraft
medium-altitude, long-endurance unmanned aerial
vehicle
14.7 meters
512 kilograms
70 knots
400 nautical miles
4The XML approach is to "wrap" each data item in
start/end tags
ltAircraftgt ltwingspangt14.8
meterslt/wingspangt ltweightgt512
kilogramslt/weightgt ltcruise-speedgt70
knotslt/cruise-speedgt ltrangegt400 nautical
mileslt/rangegt ltdescriptiongt
medium-altitude, long-endurance unmanned
aerial vehicle lt/descriptiongt lt/Aircraft
gt
RQ-1.xml
5XML Terminology
ltwingspangt14.8 meterslt/wingspangt
Start tag
End tag
Data
Element
6Why use XML?
- It is a universally accepted standard way of
structuring data (syntax). - It is a W3C recommendation (W3C World Wide Web
Consortium) - The marketplace supports it with a lot of
free/inexpensive tools. - The alternative to using XML is to define your
own proprietary data syntax, and then build your
own proprietary tools to support the proprietary
syntax (Not a very appealing idea).
7Why use OWL?
- Roger L. Costello
- David B. Jacobs
- The MITRE Corporation
- (The creation of this tutorial was sponsored by
DARPA)
8Why use OWL?
- The purpose of this document is to describe the
role that OWL plays in data interoperability.
Note this is not the only use of OWL, but it is
an important one. - Contents
- Understanding Syntax versus Semantics
- An example that shows why standardizing syntax is
necessary but not sufficient - Migrating from defining semantics on a
per-application basis to standardized semantics
9Syntax versus Semantics
- Syntax the structure of your data
- e.g., XML mandates that you structure your data
by "wrapping" each data item within a start tag
and an end tag pair, with the end tag being
preceded by / and both tags in ltgt brackets. - That is, XML specifies the syntax of your data.
- Semantics the meaning of your data
- Two conditions necessary for interoperability
1. Adopt a common syntaxthis enables
applications to parse the data. XML provides
a common syntax, and thus is a critical first
step. 2. Adopt a means for understanding the
semantics this enables applications to use
the data. OWL provides a standard way of
expressing the semantics.
10What is this XML snippet talking about, i.e.,
what are the semantics?
What is a Predator?
ltPredatorgt lt/Predatorgt
11Predator - which one?
- Predator a medium-altitude, long-endurance
unmanned aerial vehicle system. - Predator one that victimizes, plunders, or
destroys, especially for one's own gain. - Predator an organism that lives by preying on
other organisms. - Predator a company which specializes in
camouflage attire. - Predator a video game.
- Predator software for machine networking.
- Predator a chain of paintball stores.
12Resolving Semantics
- The next few slides presents an approach that
applications can take for understanding the
meaning of data. This approach is often taken
today. - We will then examine the disadvantages of the
approach, and then offer a better approach.
13Meaning (semantics) applied on a per-application
basis
Semantics A Predator is type of Aircraft. Actions
These actions must be performed on the
Predator data - identify ground control
station. - determine onboard sensors. -
determine ordnance.
ltPredatorgt lt/Predatorgt
application
14Meaning (semantics) applied on a per-application
basis
XML
app1 Semantics Code to interpret the
data Action Code to process the data
app2 Semantics Code to interpret the
data Action Code to process the data
15Problem with attaching semantics on a
per-application basis
application Semantics Code to interpret
the data Action Code to process the data
Problems with burying semantic definitions within
each application - Duplicate effort - Each
application must express the semantics -
Variability of interpretation - Each
application can take its own interpretation
- Example Mars probe disaster - one application
interpreted the data in inches, another
application interpreted the data in
centimeters. - No ad-hoc discovery and
exploitation - Applications have the
semantics pre-wired. Thus, when new data
(e.g., new type of aircraft) is encountered
an application may not be able to effectively
process it. This makes for brittle
applications.
What's a better approach?
16Better approach(1) Extricate semantic
definitions from applications (2) Express
semantic definitions in a standard vocabulary
XML
app1 Action Code to process the data
app2 Action Code to process the data
OWL Document Semantic Definitions
17Recap
Suppose that an application is looking for
Aircraft information, and encounters Predator
data. Consider the steps the application takes
to process the data (1) Parse the data (this is
a syntax issue). (2) Determine the relationship
between Predator and Aircraft (this is a semantic
issue). Somewhere the following relationship
must be made known (2.1) Predator is a type of
Aircraft. Once this information is made known
to the application it can then do the following
(action) step (3) If the document contains
Aircraft data then do ... Else do ...
Issue Should the semantic definition (2.1)
be (a) hardcoded and buried within each
application? or, should it be (b)
declaratively stated in a separate document,
using an agreed-upon, well-defined
vocabulary (i.e., OWL)?
Better approach
18OWL provides an agreed-upon vocabulary for
expressing semantics
A Sampling of the OWL Vocabulary
subClassOf this OWL element is used to assert
that one class of items is a subset
of another class of items. Example
Predator is a subClassOf Aircraft. FunctionalProp
erty this OWL element is used to assert that
a property has a unique value.
Example sensorID is a FunctionalProperty, i.e.,
sensorID has a unique
value. equivalentClass this OWL element is used
to assert that one Class is equivalent
to another Class. Example Platform is
an equivalentClass to Aircraft.
19OWL Enables Machines to Understand Data!
Semantics
OWL
XML/DTD/XML Schemas
Syntax
OWL enables machine-processable semantics!
20Ontology (definition)
- An Ontology is the collection of semantic
definitions for a domain. - Example an Aircraft Ontology is the set of
semantic definitions for the Aircraft domain,
e.g., - Predator is a subClassOf Aircraft.
- sensorID is a FunctionalProperty.
- Platform is an equivalentClass to Aircraft.
21Why use OWL?
- Benefits to application developers
- Less code to write (save ).
- Less chance of misinterpretation (save ).
- Benefits to community at large
- Everyone can understand each other's data's
semantics, since they are in a common language. - OWL uses the XML syntax to express semantics,
i.e., it builds on an existing technology. - Don't have to learn new syntax.
- Common XML tools (e.g., parsers) can work on OWL.
- OWL will soon be a W3C recommendation.
22OWL Tutorial
- Roger L. Costello
- David B. Jacobs
- The MITRE Corporation
- (The creation of this tutorial was sponsored by
DARPA)
23Location of the Tutorial
http//www.xfront.com/owl/
24Layout of the OWL Material
owl examples example01
example02 labs lab01
lab02 lab03 OWL.ppt
Why-use-OWL.ppt OWL-quick-intro.ppt
Summary-of-OWL-Capabilities.ppt
license.html README.ppt
TheRobberAndTheSpeeder.ppt Camera.ppt
NaturallyOccurringWaterSource Ontology
Camera Ontology
We recommend that you read this document first.
This Powerpoint document contains the OWL
Tutorial.
We recommend that you read this document second.
A "cheat sheet" that lists (briefly) all of the
OWL capabilities. Read this document last.
Interesting examples using OWL!
25Acknowledgment
- Many thanks to Joe Rockmore for his excellent
insight and input into the creation of this
document. Thanks Joe!