07 1045 Essential Building Blocks

advertisement
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
A Two Minute Intro to XML
Roger L. Costello
David B. Jacobs
The MITRE Corporation
(The creation of this tutorial was sponsored by DARPA)
1
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
XML is an Acronym
• … standing for: eXtensible Markup
Language
2
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
3
You 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
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
The XML approach is to "wrap"
each data item in start/end tags
<Aircraft>
<wingspan>14.8 meters</wingspan>
<weight>512 kilograms</weight>
<cruise-speed>70 knots</cruise-speed>
<range>400 nautical miles</range>
<description>
medium-altitude, long-endurance unmanned
aerial vehicle
</description>
</Aircraft>
RQ-1.xml
4
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
5
XML Terminology
<wingspan>14.8 meters</wingspan>
Start tag
End tag
Data
Element
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Why 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).
6
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Why use OWL?
Roger L. Costello
David B. Jacobs
The MITRE Corporation
(The creation of this tutorial was sponsored by DARPA)
7
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Why 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
8
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Syntax 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 <…> brackets.
– That is, XML specifies the syntax of your data.
• Semantics: the meaning of your data
• Two
conditions
necessary
forenables
interoperability:
1. Adopt
a common
syntax:this
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.
9
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
What is this XML snippet talking
about, i.e., what are the semantics?
What is a Predator?
<Predator>
…
</Predator>
10
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Predator - 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.
11
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Resolving 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.
12
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
13
Meaning (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.
<Predator>
…
</Predator>
application
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
14
Meaning (semantics) applied
on a per-application basis
XML
app#1
Semantics: Code
to interpret the data
Action: Code to
process the data
app#2
Semantics: Code
to interpret the data
Action: Code to
process the data
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
15
Problem 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?
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
16
Better approach:
(1) Extricate semantic definitions from applications
(2) Express semantic definitions in a standard vocabulary
XML
app#1
Action: Code to
process the data
app#2
Action: Code to
process the data
OWL Document
Semantic Definitions
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
17
Recap
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
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
OWL 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.
FunctionalProperty: 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.
18
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
19
OWL Enables Machines to
Understand Data!
OWL
XML/DTD/XML Schemas
Semantics
Syntax
OWL enables machine-processable semantics!
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Ontology (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.
20
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Why 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.
21
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
OWL Tutorial
Roger L. Costello
David B. Jacobs
The MITRE Corporation
(The creation of this tutorial was sponsored by DARPA)
22
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Location of the Tutorial
http://www.xfront.com/owl/
23
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Layout of the OWL Material
owl
NaturallyOccurringWaterSource Ontology
examples
example01
Camera Ontology
example02
We recommend that you
labs
This Powerpoint document
read this document first.
lab01 contains the OWL Tutorial.
lab02
We recommend that you
lab03
read this document second.
OWL.ppt
Why-use-OWL.ppt
A "cheat sheet" that
lists (briefly) all of
OWL-quick-intro.ppt
the OWL capabilities.
Summary-of-OWL-Capabilities.ppt
Read this document last.
license.html
README.ppt
TheRobberAndTheSpeeder.ppt
Interesting examples using OWL!
Camera.ppt
24
Roger L. Costello, David B. Jacobs. © 2003 The MITRE Corporation.
Acknowledgment
• Many thanks to Joe Rockmore for his
excellent insight and input into the creation
of this document. Thanks Joe!
25
Download