Semantic Web - PowerPoint PPT Presentation

About This Presentation
Title:

Semantic Web

Description:

'This document is a plan for achieving a set of connected ... OWL Query Language. http://ksl-web.stanford.edu/KSL_Abstract/KSL-03-14.html. OWL Validator ... – PowerPoint PPT presentation

Number of Views:202
Avg rating:3.0/5.0
Slides: 79
Provided by: lewis48
Learn more at: https://cs.gmu.edu
Category:
Tags: ksl | semantic | web

less

Transcript and Presenter's Notes

Title: Semantic Web


1
Semantic Web
  • Presentation
  • by
  • Patrick Emery
  • for
  • SWE 723 Precise Modeling

2
TOC
  • Semantic Web High Level
  • RDF
  • OWL
  • OMG/UML
  • ODM

3
Semantic 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

4
Semantic Web Layer Cake
OWL
5
Semantic 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

6
What 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)

7
Resource
  • 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.

8
What 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. 

9
URI, 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.

10
URI, 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

11
XML
  • 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
12
XML 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)

13
Resource 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

14
RDF 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

15
RDF 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
16
Representing 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
17
Main RDFS Classes
18
Ontologies 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

19
Web 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)

20
OWL 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

21
OWL 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

22
OWL 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

23
Example 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
24
Example 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
25
UML of Example OWL
26
Other 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/

27
TOC Part II
  • How ATT Is Involved
  • Who is the OMG and how are they involved
  • What is the latest

28
DAML 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/

29
OMG 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

30
OMG 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
31
OMG Adoption ProcessWhere is the ODM now?
OMG Technical Plenaries meet at Technical
Meetings which occur five times annually.
32
Ontology 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
33
ODM 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
34
Joint 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

35
Usage 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

36
Applications
  • 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.

37
Goals 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.

38
ODM Meta Model
Draft
Draft
39
ODM Core Package Deleted but may return
Draft
Draft
40
ODM XML Topic Map Overview
Draft
41
ODM RDFS Overview
Draft
42
ODM OWL Overview
Draft
43
Simplified 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
44
Expressions
45
Terms
46
Names 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

47
Atoms
48
Sentences
49
Atoms 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

50
Boolean (Logical) Sentences
51
Quantified Sentences
52
Phrases
53
Phrases
  • 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( ))

54
Draft XMI for SCL
55
OWL 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

56
UML
  • 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

57
UML (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.

58
OWL 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

59
OWL 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

60
OWL 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

61
OWL 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

62
Ontologies - 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
63
OWL 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

64
OWL 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

65
OWL 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

66
OWL 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.

67
OWL 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)

68
OWL 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

69
In 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

70
In 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

71
In 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.

72
UOP 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.

73
UOP Example Mapping
74
Simple UML
75
Simple 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

76
Roundtriped Simple UML
77
References
  • 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

78
References (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
Write a Comment
User Comments (0)
About PowerShow.com