Title: Semantic Web
1Semantic Web
- Presentation
- by
- Patrick Emery
- for
- SWE 723 Precise Modeling
2TOC
- Semantic Web High Level
- RDF
- OWL
- OMG/UML
- ODM
3Semantic Web Big Picture
- This document is a plan for achieving a set of
connected applications for data on the Web in
such a way as to form a consistent logical web of
data (semantic web). Tim Berners-Lee,
http//www.w3.org/DesignIssues/Semantic.html - The Semantic Web is a metadata based
infrastructure for reasoning on the Web - It extends the current Web (and does not replace
it) - Semantic Web - Goals
- Standardized machine processable Meta-data that
facilitates inferencing - A layer cake of technologies providing an
architecture for a metadata enhanced web - See also http//www.w3.org/DesignIssues/Architectu
re.html
4Semantic Web Layer Cake
OWL
5Semantic Web What is Needed
- A resource should provide information about
itself, called metadata - metadata should be in a machine processable
format - agents should be able to reason about
(meta)data - metadata vocabularies should be defined
6What is Needed (Technically)?
- Machine processable metadata
- unambiguous names for resources (URIs)
- a common data model for expressing metadata (RDF)
- ways to access the metadata on the Web
- common vocabularies (Ontologies)
7Resource
- A resource can be anything that has identity.
Familiar examples include an electronic document,
an image, a service (e.g., "today's weather
report for Los Angeles"), and a collection of
other resources. - Not all resources are network "retrievable"
e.g., human beings, corporations, and bound books
in a library can also be considered resources. - The resource is the conceptual mapping to an
entity or set of entities, not necessarily the
entity which corresponds to that mapping at any
particular instance in time. - Thus, a resource can remain constant even when
its content---the entities to which it currently
corresponds---changes over time, provided that
the conceptual mapping is not changed in the
process.
8What Can Be a Resource?
- The name "http//x.org/love" itself.  It is
simply a string that conforms to the URL syntax
specified in RFC2396. - A particular concept of love. (Or other things
that are not directly on the Web, such as cars
and people. ) - A Web location, which is a logical source of
document instances that describe the concept of
love. The Web location is the abstract interface
or endpoint from which document instances can be
obtained. This Web location might be associated
with a particular server, a file on a server, or
an executable program that creates and returns
the description dynamically. It may return the
same or a different document instance each time
it is queried. - A document instance that describes the concept of
love, obtained at a particular point in time from
the Web location http//x.org/love.Â
9URI, URL, and URN
- A Uniform Resource Identifier (URI) is a compact
string of characters for identifying an abstract
or physical resource. - "Uniform Resource Locator" (URL) refers to the
subset of URI that identify resources via a
representation of their primary access mechanism
(e.g., their network "location"), rather than
identifying the resource by name or by some other
attribute(s) of that resource. - The term "Uniform Resource Name" (URN) refers to
the subset of URI that are required to remain
globally unique and persistent even when the
resource ceases to exist or becomes
unavailable.
10URI, URL, and URN (Cont.)
- URI BNF
- URI-reference absoluteURI relativeURI
"" fragment - absoluteURI scheme "" ( hier_part
opaque_part ) - hier_part ( net_path abs_path ) "?" query
- net_path "//" authority abs_path
- abs_path "/" path_segments
- URN BNF
- ltURNgt "urn" ltNIDgt "" ltNSSgt
- Example URL - http//www.ietf.org/rfc/rfc2396.txt
- Example URN - urnuuid44bc7776-a7d1-4fb5-88d5-c63
6c4c4dc09
11XML
- Extensible Markup Language (XML)
- a markup specification language describing text
or data - allows creation of domain specific markup
- usually for storage, transmission, or processing
by a program - says nothing about what you should do with the
data - lt?xml version"1.0" standalone"yes"?gt
- lt! This is a comment in XML --gt
- ltconversation type"private"gt
- ltgreetinggtHello, world!lt/greetinggt
- ltresponsegtStop the planet, I want to get
off!lt/responsegt - lt/conversationgt
- XML namespaces
- collection of element and attribute names
identified by Uniform Resource Identifier
references. Each reference can declare a prefix
to be used by each name. - ltx xmlnsspchttp//www.company.com/company-schema
- exhttp//www.example.org/security
gt - ltspcconversation extypeprivategt
Trusted SW
12XML Schema
- Document Type Definition (DTD)
- optionally used to describe the markup in any
specific type of document - sets out names for the different types of
element, where they may occur, and how they fit
together - XML Schema
- describes structure and datatypes used in xml
documents - written as XML simplifying parsing requirements
- Style Sheets
- document with hints/algorithms for
rendering/transforming data - Cascading Style Sheets (CSS)
- used with HTML to aid in visual rendering
- associate with an XML document to allow visual
rendering - Extensible Style sheet Language Transformations
(XSLT) - more complex and powerful style sheet language
- transform XML to other formats (HTML,other forms
of XML, text)
13Resource Description Framework
- Statements can be modeled (mathematically) with
- Resources an element, a URI, a literal,
- Properties directed relations between two
resources - Statements triples of two resources bound by a
property - usual terminology (s,p,o) for subject,
predicate, object - RDF is a general model for such statements
- with machine readable formats (e.g., XML or n3)
- URIs ground RDF into the Web
14RDF is a Graph
- Tuples are a general form capable of representing
most anything - An (s,p,o) triple can be viewed as a labeled edge
in a graph - i.e., a set of RDF statements is a directed,
labeled graph - both objects and subjects are the graph nodes
- predicates also referred to as properties are
the edges
15RDF is a Graph (Cont.)
- the formal semantics of RDF are also described
using graphs - RDF-Schema (RDFS) define basic vocabulary terms
such as resource and class
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs'http//www.w3.org/2000/01/rdf-schema'
xmlns"http//my.example.org"
xmlnsex"http//my.example.org"
xmlnsbase"http//my.example.org"gt
ltrdfDescription rdfabout"http//my.example.org
aSubject"gt ltexaProperty
rdfresource"http//my.example.orgaObject"/gt
lt/rdfDescriptiongt lt/rdfRDFgt
16Representing RDF in XML
- Encode nodes and edges as XML elements or with
literals - Encode the property (i.e., edge) in its own
namespace - Blank Nodes are nodes without URIs
- the vehicle is a thing that consists of
wheels, an engine and the breaks - RDF Nodes can have type(s) using the property
rdftype
ltrdfRDF xmlnsaxsvghttp//svg.example.org xml
nsrdf"http//www.w3.org/1999/02/22-rdf-syntax-ns
"gt ltrdfDescription rdfabout"FullSlide"gt
ltaxsvgLabelledBygt ltrdfDescription
rdfabout"BottomLegend"/gt lt/axsvgLabelledBygt
lt/rdfDescriptiongt ltrdfRDFgt
17Main RDFS Classes
18Ontologies on top of RDF/S
- Ontology - defines the concepts and relationships
used to describe and represent an area of
knowledge - With Ontologies, you can construct new classes
from existing ones - enumerate its content
- through intersection, union, complement
- through property restrictions
- To do so, OWL introduces its own Class and Thing
to differentiate the individuals from the classes
19Web Ontology Language (OWL)
- 2004 W3C Recommendation
- Three layers of OWL are defined Lite, DL, and
Full - increasing level of complexity and expressiveness
- Full is the whole thing (Research Level)
- DL (Description Logic) restricts Full in some
respects (Decidable) - Lite restricts DL even more (Easily implemented
and taught)
20OWL Full
- No constraints on the various constructs
- owlClass is equivalent to rdfsClass
- owlThing is equivalent to rdfsResource
- This means that, e.g., a Class can also be an
individual - it is possible to talk about class of classes,
etc - A real superset of RDFS
21OWL DL
- owlClass, owlThing, owlObjectProperty,
owlDatatypeProperty are strictly separated - i.e., a class cannot be an individual of another
class - No characterization of datatype properties
possible - No cardinality constraint on transitive
properties - No mixture of owlClass and rdfsClass in
definitions - essentially use OWL concepts only!
- Some restrictions on annotations
- Goal maximal subset of OWL Full against which
current research can assure that a decidable
reasoning procedure is realizable
22OWL Lite
- All of DLs restrictions, plus some more
- class construction can be done only through
- intersection
- property constraints
- Goal provide a minimal useful subset, easily
implemented - simple class hierarchies can be built
- property constraints and characterizations can be
used
23Example OWL
lt?xml version'1.0' encoding'UTF-8'?gt lt!DOCTYPE
rdfRDF lt!ENTITY rdf 'http//www.w3.org/1999/02/
22-rdf-syntax-ns'gt lt!ENTITY owl
'http//www.w3.org/2002/07/owl'gt lt!ENTITY rdfs
'http//www.w3.org/2000/01/rdf-schema'gt
gt ltrdfRDF xmlbase"file//simple.owl"xmlnsrdf
"rdf" xmlnsowl"owl" xmlnsrdfs"rdfs"gt ltow
lOntology rdfabout""/gt ltowlClass
rdfID"Class_0"/gt ltowlClass rdfID"Class_1"gt
ltrdfssubClassOf rdfresource"Class_0"/gt
ltrdfssubClassOf rdfresource"OGr0"/gt lt/owlClas
sgt ltowlClass rdfID"Class_2"gt
ltrdfssubClassOf rdfresource"Class_0"/gt
ltrdfssubClassOf rdfresource"OGr3"/gt
ltrdfssubClassOf rdfresource"OGr6"/gt lt/owlClas
sgt ltowlRestriction rdfID"OGr0"gt
ltowlallValuesFrom rdfresource"Class_2"/gt
ltowlonProperty rdfresource"Role_A"/gt lt/owlRes
trictiongt
24Example OWL (Cont.)
ltowlRestriction rdfID"OGr3"gt
ltowlallValuesFrom rdfresource"Class_1"/gt
ltowlonProperty rdfresource"Role_B"/gt lt/owlRes
trictiongt ltowlRestriction rdfID"OGr6"gt
ltowlallValuesFrom rdfresource"Class_1"/gt
ltowlonProperty rdfresource"the_Association"/gt
lt/owlRestrictiongt ltowlObjectProperty
rdfID"Role_A"gt ltrdfssubPropertyOf
rdfresource"the_Association"/gt lt/owlObjectProp
ertygt ltowlObjectProperty rdfID"Role_B"gt
ltrdfssubPropertyOf rdfresource"the_Association
"/gt lt/owlObjectPropertygt ltowlDatatypeProperty
rdfID"c2_attr1"gt ltrdfsdomain
rdfresource"Class_2"/gt ltrdfsrange
rdfresource"http//www.w3.org/2001/XMLSchemastr
ing"/gt lt/owlDatatypePropertygt ltowlObjectProperty
rdfID"the_Association"/gt ltrdfsDatatype
rdfabout"http//www.w3.org/2001/XMLSchemastring
"/gt lt/rdfRDFgt
25UML of Example OWL
26Other Semantic Web Links
- Open Source Semantic Web site
- http//www.semwebcentral.org/
- Semantic Web Service Ontology
- http//www.daml.org/services/owl-s/1.0/
- Semantic Web Rule Language
- http//www.daml.org/2003/11/swrl/
- OWL Query Language
- http//ksl-web.stanford.edu/KSL_Abstract/KSL-03-14
.html - OWL Validator
- http//phoebus.cs.man.ac.uk9999/OWL/Validator/
- RDF Validator
- http//www.w3.org/RDF/Validator/
- Existing Ontologies such as OWL Time Ontology
- http//www.cs.rochester.edu/ferguson/daml/
27TOC Part II
- How ATT Is Involved
- Who is the OMG and how are they involved
- What is the latest
28DAML Program
- Sponsored by DARPA
- Developed DAMLOIL, precursor to OWL
- Developed as an extension to XML and the Resource
Description Framework (RDF) - Provides a rich set of constructs for ontology
creation and information markup - Machine readable and understandable
- Understandable means a machine's ability to solve
a well-defined problem by performing well-defined
operations on existing well-defined data - ATTs DAML Contract,
- Components for Ontology Driven Information Push
(CODIP) - http//codip.grci.com/
29OMG Basics
Object Management Group is the largest and
longest standing not-for-profit, open-membership
consortium which develops and maintains computer
industry specifications.
- Founded April, 1989
- International Software Standards Consortium
Headquartered in the U.S. - Approximately 600 Member Companies
- Source and caretaker of specifications for
- Model Driven Architecture (MDA)
- Meta Object Facility (MOF)
- Unified Modeling Language (UML)
- XML Metadata Interchange (XMI)
- Common Warehouse Metamodel (CWM)
- CORBA including Realtime, Embedded, Fault
Tolerant - CORBAservices, CORBAfacilities
30OMG Technical Plenaries
Board of Directors
Technical Committees
Architecture Board (AB)
Domain
Platform (PTC)
Business Enterprise TF C4I TF Finance
TF Healthcare TF Life Sciences TF Space
TF Telecom TF Transport. TF eGov SIG S/W
Radio SIG Systems Engineering
Liaison SC Object Reference Model
SC Business Rules SIG Java Community
Process SIG MDA Users SIG Security SIG Test
Val. SIG Web Services SIG
Product Std Def SC Architecture and Design
Task Force (ADTF) MARS TF Real-time TF Ontology
SIG Agent SIG Japan SIG
31OMG Adoption ProcessWhere is the ODM now?
OMG Technical Plenaries meet at Technical
Meetings which occur five times annually.
32Ontology Definition Metamodel (ODM) RFP Scope
- A standard meta-model for ontology modeling
- A UML2 Profile for depicting Ontologies
- With at least mappings
- Between ODM and the profile
- Between ODM and the W3C OWL DL
Mapping
User
Car
Model
Realizations
33ODM RFP Initial Submissions Overview
Submitter ODM Profile Mapping(s)
DSTC Web-KB based beyond minimum required Not provided Not provided
Gentleware ATT Built from UML2 infrastructure Reuses UML infrastructure meta-model. Default behavior for stereotype packages plus 14 specific stereotypes. Mapping to OWL/DL based on ODM entity and stereotypes.
IBM Corresponds directly to OWL constructs Each ODM entity type is also a UML stereotype Complete one-to-one mapping of ODM to OWL/DL
Sandpiper Software Supports FOL and OWL beyond minimum required Subset draft provided, implicit in Visual Ontology Modeler Not provided, but implicit in Visual Ontology Modeler
34Joint Submission and Work Products
- All 4 initial submitters agreed to pursue a joint
response - They are working with Ontology SIG to define
- Usage Scenarios Goals for ODM document
- Posted to Ontology SIG Web page for public review
comment (1/15/04) - ODM metamodel
- RDFS and OWL, XTM, SCL (Language mappings)
- Common Core if needed
- XMI artifacts
- JODM (Java API for ODM)
- Core, SCL, RDFS and OWL packages
- UML 2 vs OWL Full document
- ODM submission document
35Usage Scenarios and Goals for ODM
- Intended to establish a set of usage scenarios
and goals that motivate development of an
Ontology Definition Metamodel (ODM) using the
Meta-Object Facility (MOF) and an associated
Unified Modeling Language (UML) profile for
creating, managing and visualizing OWL ontologies
as UML models. - Business Applications
- Run Time Interoperation, Application Generation,
Ontology Lifecycle - Analytic Applications
- Emergent Property Discovery ,Exchange of Complex
Data Sets - Engineering Applications
- Information Systems Development, Ontology
Analysis
36Applications
- Three clusters of similar application
perspectives - Business Applications
- Transcendent source of structure, a high degree
of formality, largely read-only. - External control relative to nearly all users and
slowly changing - Analytic Applications
- Wide ranges of authoritativeness, internally
defined and highly changeable - Dynamic, flexible ontologies, using mostly large,
read-only collections with a real-time focus. - Engineering Applications
- Wide ranges of authoritativeness, externally
defined with volatile instances - primarily internally control with a focus on
design-time application.
37Goals for the ODM
- Support ontologies expressed in existing
description logic, and higher order logic
languages - Provide a basis for information systems process
descriptions to support interoperability. - Support physical world concepts, including time,
space, bulk or mass nouns like water, and
things that do not have identifiable instances. - Provide a basis for describing multiple facets of
representations, stateful representations, and
model-based architectures. - Support efficient mechanisms and tools.
- Support modules and version control.
38ODM Meta Model
Draft
Draft
39ODM Core Package Deleted but may return
Draft
Draft
40ODM XML Topic Map Overview
Draft
41ODM RDFS Overview
Draft
42ODM OWL Overview
Draft
43Simplified Common Logic (SCL)
Draft
- Next generation Knowledge Interchange Format
(KIF) - Going through ISO Process
- Semantically - First Order Logic
- a single homogenous universe (non-empty set) of
individuals over which all quantifiers range - any expression that can be substituted for a
quantified variable must denote something in this
universe - Relations hold between finite sequences of
individuals - Individuals are 'logically atomic. All that can
be said about them is the relations they take
part in - mathematically, a first-order interpretation is a
purely relational structure
Draft
44Expressions
45Terms
46Names and Terms
- The lexical syntax section of the SCL document
has rules for what can be a valid name. - Some of these rules cannot be expressed in OCL.
For example - name ((alpha other) wordchar) - specialname
- which depends on preceding definitions of
alpha and other - A name may not contain a quoted string
- We can use OCL to rule out special names but not
to state rules about what kinds of ascii
characters are allowed. Enforcing these rules
has to be the responsibility of the parser. - The Name/CommentedTerm/Application partition is
disjoint - context Term inv DisjointPartion
- (self.oclIsKindOf(Name) xor self.oclIsKindOf(Co
mmentedTerm)) and - (self.oclIsKindOf(Name) xor self.oclIsKindOf(Ap
plication)) and - (self.oclIsKindOf(CommentedTerm) xor
self.oclIsKindOf(Application)) - Note lack of simple disjoint declaration in MOF
47Atoms
48Sentences
49Atoms and Sentences
- Holding and RoleSet form a disjoint partition
- context Atom inv DisjointPartition
- self.oclIsKindOf(Holding) xor
self.oclIsKindOf(RoleSet) - The partition formed by the subclasses of
Sentence is disjoint - context Sentence inv DisjointPartition
- (self.oclIsKindOf(and) xor self.oclIsKindOf(or)
) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(not
)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(imp
lies)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(iff
)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(for
all)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(exi
sts)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(Ato
m)) and - (self.oclIsKindOf(and) xor self.oclIsKindOf(Com
mentedSentence)) and - (self.oclIsKindOf(or) xor
self.oclIsKindOf(not)) and - (self.oclIsKindOf(or) xor
self.oclIsKindOf(implies)) and - (self.oclIsKindOf(or) xor
self.oclIsKindOf(iff)) and - (self.oclIsKindOf(or) xor
self.oclIsKindOf(forall)) and
50Boolean (Logical) Sentences
51Quantified Sentences
52Phrases
53Phrases
- A phrase contains an Import, a Sentence, or a
TextComment context SCLPhrase inv XOR - (self.import-gtnotEmpty( ) xor
self.sentence-gtnotEmpty( )) and - (self.import-gtnotEmpty( ) xor
self.textComment-gtnotEmpty( )) and - (self.sentence-gtnotEmpty( ) xor
self.textComment-gtnotEmpty( ))
54Draft XMI for SCL
55OWL Full and UML 2.0 Compared
- To compare the features of OWL and UML 2.0, in
order to - facilitate translation of models between UML and
ODM - Inform the design of features in the various
layers of the ODM - Features more or less in common
- Class
- Property
- Features in UML not in OWL
- Features in OWL not in UML
56UML
- Booch, Rumbaugh, Jacobson
- Evolving Standard
- 1.3, 1.4, 1.5 (aka 1.4 with Action Semantics, not
officially released ?)
- 2.0
- Merge of 1.x with SDL/MSC
- More precise, Actions, Interfaces/Ports
- Attributes Associations represent the concept
of property - Wiley released Tom Penders UML Bible, reported
to do an excellent job at presenting and
comparing UML 1.4 and 2.0
57UML (Cont.)
- UML models are organized in a series of 4
metalevels - M3 is the MOF, the universal modeling language in
which modeling systems are specified - M2 is the model of a particular modeling system.
The UML metamodel is an M2 construct, as it is
specified in the M3 MOF. - M1 is the model of a particular application
represented in a particular modeling system. The
UML Class diagram model of an order entry system
is an M1 construct expressed in the M2 metamodel
for the UML Class diagram. - M0 is the population of a particular application.
The population of a particular order entry
system at a time is an M0 construct.
58OWL vs UML Class
- Basic structures very similar
- Both based on classes
- A class is a set of instances
- The set of instances of a class is its extent
- Subclass relationship applies
- A mandatory property specifies an existential
quantification at the M1 level - But not that a concrete M0 instance exists
- All horses have color, but we may not know the
color of a particular horse. - Both allow multiple superclasses and disjoint
subclasses
59OWL vs UML Class
- Key difference
- In OWL, all classes are subclasses of Thing
- Individuals are instances of Thing
- But not necessarily any other class
- In UML, there is no universal superclass
- All instances are instances of non-universal
classes - Dynamic classification allows instances to move
between classes. - But an OWL individual is outside the UML system
60OWL vs UML Class
- Substantial difference
- Subclasses in both can be declared
- Given an instance of a subclass, we can infer the
membership in the superclass - OWL allows a subclass to be defined by a
predicate - Given an instance of a superclass, we can infer
which subclass it is an instance of. - Predicate definition languages Lite, DL and Full
- All less expressive than UML OCL
61OWL vs UML Class
- Substantial difference
- UML has strict separation of metalevels. An M1
class cannot be an M0 instance - OWL Full allows classes to be instances of classes
62Ontologies - Issues with Meta-Levels
- Each occurrence of a type-of or instance relation
changes meta-level. - RDFS, OWL/Full and DAML allow instance in one
meta-level to be treated as classes in the level
below. (OWL/L and OWL/DL do not.) - This results in unexpected situations for UML and
most OO languages - Entities with the same ID (e.g. applY) are
treated as an instance in one level and as
classes in another. - A single ontology can define several
meta-levels within a single model. -
X Y new X() // Level 2 Y Q new Y() // Level
3 Class Y extends Z // Level 2
63OWL vs UML Property
- Basic structure very similar
- Both have concept of property
- A property can be a class
- OWL property is binary, UML is n-ary
- But n-ary property can be expressed as a nested
collection of binary properties, so no difference
in expressibility - As a consequence of property as class
- Both support subproperties
- Both allow properties to have properties
- But only OWL Full allows properties of properties
to have restrictions
64OWL vs UML Property
- Basic structure very similar
- Both have distinguished ends for properties
- Domain and range for OWL
- Source and target for UML
- Target/Range can be a programming language
literal - Attribute in UML, datatype property in OWL
- Or a class
- Association or attribute in UML, object property
in OWL
65OWL vs UML Property
- Basic structure very similar
- Both have bi-directional properties
- UML bi-directional association
- OWL inverse-of
- Both allow a property to be common to all
instances of a class - UML static property
- Two different methods in OWL
66OWL vs UML Property
- Key difference
- in OWL a property by default relates Thing to
Thing, while in UML a property is tied to a
non-top class. - OWL most general declaration can be tied to a
non-top class in either domain or range or both - So in OWL a property can be declared many times
with different restrictions, but is always the
same property - In UML a property applies only to subclasses of
the class for which it is declared. - UML property name unique within a namespace.
67OWL vs UML Property
- Substantial difference
- Both allow cardinality constraints on
source/domain and target/range - OWL allows some cardinality on the most general
declaration - But additional cardinalities when applied to a
particular class (subject to subclass
consistency) - Target class can be specified when applied to a
class (AllValuesFrom) - Or Target can be constrained to intersect with a
class (SomeValuesFrom)
68OWL vs UML Property
- Substantial difference
- OWL allows properties to be declared as
- Symmetric
- Transitive
- UML allows property to be derived
- But does not provide a derivation language
69In UML but not OWL
- Methods and associated facilities
- Operations, responsibilities, static operations,
interface classes, abstract classes, qualified
associations and active classes - Complex objects (part-of relationship) and
associated facilities - Composition, aggregation, composite structures,
ports, connectors, collaboration, reference and
value objects, and template - Access control, keywords and dependency
- Scoping (private, protected, public)
- Behavior, state, event models
70In OWL not UML
- Predicate definition language
- Declaration that classes are equivalent
- Three versions of predicate language
- OWL Lite intersection of named classes
- OWL DL boolean combinations of classes
- OWL Full arbitrarily complex descriptions
- Enumerated classes
- Property restrictions
- Boolean combinations
- But all are less expressive than OCL
- Eg cant define square as subclass of rectangle
where length width
71In OWL not UML
- Names are M0 in UML, so not constrained
- OWL names by default do not satisfy the unique
name assumption - So OWL provides features to discipline names
- AllDifferent (declared set of names satisfying
unique name assumption) - SameAs (two names declared synonyms)
- DifferentFrom (two names declared not synonyms)
- Classes and properties can be declared equivalent
- Can include defining predicates.
72UOP Example Mapping
- The following OWL-UML mapping is used by Duet
for translating OWL Ontologies into UML models,
and conversely, UML models into OWL Ontologies.
73UOP Example Mapping
74Simple UML
75Simple OWL
- lt?xml version'1.0' encoding'UTF-8'?gt
- lt!DOCTYPE rdfRDF lt!ENTITY rdf
'http//www.w3.org/1999/02/22-rdf-syntax-ns'gt
lt!ENTITY owl 'http//www.w3.org/2002/07/owl'gt
lt!ENTITY rdfs 'http//www.w3.org/2000/01/rdf-schem
a'gt gt - ltrdfRDF xmlbase"file//simple.owl"xmlnsrdf"r
df" xmlnsowl"owl" xmlnsrdfs"rdfs"gt - ltowlOntology rdfabout""/gt
- ltowlClass rdfID"Class_0"/gt
- ltowlClass rdfID"Class_1"gt
- ltrdfssubClassOf rdfresource"Class_0"/gt
- ltrdfssubClassOf rdfresource"OGr0"/gt
- lt/owlClassgt
- ltowlClass rdfID"Class_2"gt
- ltrdfssubClassOf rdfresource"Class_0"/gt
- ltrdfssubClassOf rdfresource"OGr3"/gt
- ltrdfssubClassOf rdfresource"OGr6"/gt
- lt/owlClassgt
- ltowlRestriction rdfID"OGr0"gt
- ltowlallValuesFrom rdfresource"Class_2"/gt
- ltowlonProperty rdfresource"Role_A"/gt
- lt/owlRestrictiongt
- ltowlRestriction rdfID"OGr3"gt
- ltowlallValuesFrom rdfresource"Class_1"/gt
- ltowlonProperty rdfresource"Role_B"/gt
- lt/owlRestrictiongt
- ltowlRestriction rdfID"OGr6"gt
- ltowlallValuesFrom rdfresource"Class_1"/gt
- ltowlonProperty rdfresource"the_Association
"/gt - lt/owlRestrictiongt
- ltowlObjectProperty rdfID"Role_A"gt
- ltrdfssubPropertyOf rdfresource"the_Associa
tion"/gt - lt/owlObjectPropertygt
- ltowlObjectProperty rdfID"Role_B"gt
- ltrdfssubPropertyOf rdfresource"the_Associa
tion"/gt - lt/owlObjectPropertygt
- ltowlDatatypeProperty rdfID"c2_attr1"gt
- ltrdfsdomain rdfresource"Class_2"/gt
- ltrdfsrange rdfresource"http//www.w3.org/20
01/XMLSchemastring"/gt - lt/owlDatatypePropertygt
- ltowlObjectProperty rdfID"the_Association"/gt
76Roundtriped Simple UML
77References
- Ivan Herman, Short Tutorial on RDF, RDFS and OWL,
http//www.w3.org/Consortium/Offices/Presentations
/RDFTutorial/Overview.html - David Booth, Four Uses of a URL Name, Concept,
Web Location and Document Instance,
http//www.w3.org/2002/11/dbooth-names/dbooth-name
s_clean.htm - T. Berners-Lee, R. Fielding, L. Masinter, August
1998 Uniform Resource Identifiers (URI) Generic
Syntax, http//www.ietf.org/rfc/rfc2396.txt - Cris Kobryn, UML 2.0 Explained,
http//www.taug2.com/learnmore/uml2explained/index
.cfm - Visual Modelling With Rational Rose 2002 and UML,
Terry Quatrani - L.Hart, P. Emery, B. Colomb, K. Raymond, D.
Chang, Y. Ye, E. Kendall, M. Dutra, ODM Revised
Submission, Working Papers and Presentations, Jan
26 2004
78References (Cont.)
- L.Hart, P. Emery, Components for Ontology Driven
Information Push, http//codip.grci.com/ - L.Hart, P. Emery, B. Colomb, K. Raymond, D.
Chang, Y. Ye, E. Kendall, M. Dutra, Usage
Scenarios and Goals Motivating Development of an
Ontology Definition Metamodel, http//www.omg.org/
cgi-bin/doc?ontology/2004-01-01 - L.Hart, P. Emery, B. Colomb, K. Raymond
S.Taraporewalla, D. Chang, Y. Ye, E. Kendall, M.
Dutra, - http//www.omg.org/cgi-bin/doc?ontology/2004
-03-01 - Pat Hayes, SCL Simple Common Logic,
http//www.ihmc.us/users/phayes/SCL_december_2.htm
l Draft - Pat Hayes, Simplified Common Logic A flexible
framework for information interchange based on
first-order logic, http//www.ihmc.us/users/phayes
/SCL_for_Harry.ppt