Your SlideShare is downloading. ×
 Establishing a Bridge from Graph-based Modeling Languages to Ontology Languages
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Establishing a Bridge from Graph-based Modeling Languages to Ontology Languages

649

Published on

Talk at the 3rd Workshop on Transforming and Weaving Ontologies in Model Driven Engineering (co-located with TOOLS), 30 June 2010, Malaga, Spain.

Talk at the 3rd Workshop on Transforming and Weaving Ontologies in Model Driven Engineering (co-located with TOOLS), 30 June 2010, Malaga, Spain.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
649
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • All edge classes are subsumed by a super concept TopEdge There exist two object properties to and from, which define source and target vertex of an edge
  • (objectFlowProperty some Vertex) or (inv(objectFlowProperty) some Vertex)
  • Transcript

    • 1. Establishing a Bridge from Graph-based Modeling Languages to Ontology Languages Tobias Walter Hannes Schwarz Yuan Ren (University of Aberdeen) 30.06.2010 TWOMDE 2010
    • 2. Objectives
      • Introduction
      • Modeling of TGraphs and Schemas in OWL
      • Bridge
        • Cardinality Expressions
        • Quantified Expressions
        • Boolean Connectives
        • Path Descriptions
      • Advantages of the TGraph Approach and OWL
      • Conclusion
    • 3. Introduction (TGraph Approach)
      • TGraph (Model)
      • Directed graphs, their edges and vertices are typed and attributed, and for each vertex the incident edges are ordered. In addition, the vertices and edges of the graph are ordered globally.
      • Example (M1 layer)
      abstract syntax concrete syntax
    • 4. Introduction (TGraph Approach)
      • Graph Schema (Metamodel)
      • Schemas define types of edges and vertices, associates them with attributes, and structures them in generalization hierarchies
      • grUML (Metamodeling Language)
      • Metamodeling language used for modeling schemas corresponds to a subset of UML class diagrams
      • Example (M2 layer)
    • 5. Introduction (GReQL)
      • Graph Repository Query Language
      • declarative, expression-based query language for TGraphs
      • FWR expressions
        • from - declares variables
        • with - summarizes predicates which have to be fulfilled by the variables
        • report - determines the result structure of the query
      • Example
      • Constraint in GReQL:
      from v:V with reMatch(v.name, &quot;.*Action.*&quot;) report v as “Action “; forall n: V {ActivityNode} @ n.name <> &quot;&quot;
    • 6. Description Logics
      • Description Logics (DLs) are logics designed to represent and reason on structured knowledge
      • The domain of interest is structured into ( TBox ):
        • concepts, which correspond to classes, and denote sets of individuals
        • roles, which correspond to associations, and denote binary relations on individuals
      • The knowledge is asserted through so-called assertions ( ABox )
      • Provide formal semantics
      • DLs provide the foundations for standard ontology languages, like OWL2
      Knowledge Base TBox ABox Inference Engine Application
    • 7. Modeling of TGraphs and Schemas in OWL
      • Each vertex class is represented as an OWL class
      • All vertex classes are subsumed by a super concept Vertex
      Declaration ( Class (ActivityNode)) Declaration ( Class (Vertex)) SubClassOf (ActivityNode Vertex)
    • 8. Modeling of TGraphs and Schemas in OWL
      • Each edge class is represented by an OWL class.
        • Two object properties which define the source ( from ) and target ( to ) vertices of an edge
        • An object property is declared as the chain of the two object properties
      Declaration ( Class (HasNode)) Declaration ( ObjectProperty (fromHasNode)) ObjectPropertyDomain (fromHasNode HasNode) ObjectPropertyRange (fromHasNode ActivityDiagram) Declaration (ObjectProperty(toHasNode)) ObjectPropertyDomain (toHasNode HasNode) ObjectPropertyRange (toHasNode ActivityNode) Declaration ( ObjectProperty (HasNodeProperty)) SubObjectPropertyChain ( InverseObjectProperty (fromHasNode) toHasNode) HasNodeProperty)
    • 9. Modeling of TGraphs and Schemas in OWL
      • All OWL classes representing edge classes and their object properties to and from are subsumed by one single object property topEdgeProperty ,
        • topEdgeProperty has a transitive super object property transitiveTopEdgeProperty
      Declaration ( ObjectProperty (topEdgeProperty)) ObjectPropertyDomain (topEdgeProperty Vertex) ObjectPropertyRange (topEdgeProperty Vertex) SubObjectPropertyOf ( HasNodeProperty topEdgeProperty) Declaration ( ObjectProperty (transitiveTopEdgeProperty)) SubObjectPropertyO f(topEdgeProperty transitiveTopEdgeProperty) TransitiveObjectProperty (transitiveTopEdgeProperty)
    • 10. Modeling of TGraphs and Schemas in OWL
      • Each attribute is transformed to a data property in OWL
      • Specialization relationships relating vertex classes and edge classes, respectively, are transformed to OWL subclass axioms
      Declaration ( DataProperty (name)) DataPropertyDomain (name ActivityNode) DataPropertyRange (name xsd:string) SubClassOf(ObjectFlow ActivityEdge) SubClassOf(Action ActivityNode)
    • 11. Modeling of TGraphs and Schemas in OWL
      • TGraphs themselves are transformed to a set of assertions.
      .... Declaration (Individual(start)) Declaration (Individual(process)) Declaration (Individual(finish)) ClassAssertion (start Initial) ClassAssertion (process ControlFlow) ClassAssertion (finish Final) ObjectPropertyAssertion (controlFlowProperty start process) ObjectPropertyAssertion (controlFlowProperty process finish) ....
    • 12. Cardinality Expressions
      • grUML
      • Cardinalities directly defined by annotating edge classes
      • OWL
      • Defined by class expressions ObjectMinCardinality , ObjectMaxCardinalit y, and ObjectExactCardinality
      SubClassOf (ActivityNode ObjectExactCardinality (1 InverseObjectProperty (HasNodeProperty) ActivityDiagram))
    • 13. Quantified Expressions
      • grUML+ GReQL
      • Universal quantification:
      • Existential quantification
      • OWL
      • ObjectAllValuesFrom class expression for universal quantification
      • ObjectSomeValuesFrom class expression for existential quantification
      forall n: V { ActivityNode } @ n. name <> &quot;&quot; forall f: V {Final} @ exists a:V{ ActivityNode } @ a -->{ ActivityEdge } f SubClassOf (ActivityDiagram ObjectAllValuesFrom (HasNodeProperty ObjectIntersectionOf ( ObjectComplementOf ( DataHasValue ( name &quot;&quot;)) ActivityNode ))) SubClassOf ( Final ObjectSomeValuesFrom ( InverseObjectProperty( ActivityEdgeProperty ) ActivityNode ))
    • 14. Boolean Connectives
      • grUML + GReQL
      • operators and , or , not
      • OWL
      • ObjectIntersectionOf , ObjectUnionOf , ObjectComplementOf class expressions.
      forall ad: V {ActivityDiagram} @ ( exists i:V{Initial} @ ad --> {HasNode} i) and ( exists f: V {Final} @ ad -->{HasNode} f) SubClassOf (ActivityDiagram ObjectIntersectionOf ( ObjectSomeValuesFrom (HasNodeProperty Initial) ObjectSomeValuesFrom (HasNodeProperty Final) ))
    • 15. Path Descriptions (Simple Path Description)
      • grUML+ GReQL
      • --> (outgoing) , <-- (incoming), <-> (direction not important)
      • optionally an edge type restriction in curly braces.
      forall v: V {Action} @ exists w: V @ v --> w forall w: V {ObjectNode} @ exists v: V @ w <--{ObjectFlow} v
      • OWL
      • ObjectSomeValuesFrom class expressions
      • topEdgeProperty or OWL class representing the edge type
      SubClassOf (Action ObjectSomeValuesFrom (topEdgeProperty Vertex) ) SubClassOf (ObjectNode ObjectSomeValuesFrom (objectFlowProperty Vertex) ))
    • 16. Path Descriptions (Goal- and Start-Restrictions)
      • grUML+ GReQL
      • Restriction of start and end vertices of a path description
      • Vertex class expression which restricts the start or end vertex is separated from the path description with a &
      forall o: V {ObjectNode} @ exists v: V @ o --> &{Action, ObjectNode} v
      • OWL
      • Class expression to describe goal and start of edge
      • for example: ObjectUnionOf
      SubClassOf (ObjectNode ObjectSomeValuesFrom (topEdgeProperty ObjectUnionOf (ObjectNode Action) ))
    • 17. Path Descriptions (Sequential Path Description)
      • grUML+ GReQL
      • Simple concatenation of path descriptions
      forall i: V {Initial} @ exists v: V @ i -->--> v
      • OWL
      • Nested ObjectSomeValuesFrom class expressions
      SubClassOf (Initial ObjectSomeValuesFrom (topEdgeProperty ObjectSomeValuesFrom (topEdgeProperty Vertex)) )
    • 18. Path Descriptions (Exponentiated Path Description)
      • grUML+ GReQL
      • Natural number to define exponents of path descriptions
      forall i: V {Initial} @ exists v: V @ i -->^2 v
      • OWL
      • Nested ObjectSomeValuesFrom class expressions
      SubClassOf (Initial ObjectSomeValuesFrom (topEdgeProperty ObjectSomeValuesFrom (topEdgeProperty Vertex)) )
    • 19. Path Descriptions (Optional Path Description)
      • grUML+ GReQL
      • Marking a path as optional by surrounding it with brackets
      forall o: V {ObjectNode} @ exists v: V @ o --> [-->] v
      • OWL
      • ObjectUnionOf expression to represent the optional path
      SubClassOf (Initial ObjectSomeValuesFrom (topEdgeProperty ObjectSomeValuesFrom (topEdgeProperty Vertex)))
    • 20. Path Descriptions (Alternative Path Description)
      • grUML+ GReQL
      • Marking a path as alternative by separating them with a pipe
      forall o:V{ObjectNode} @ exists v:V @ o --> &{Action} | --> &{ObjectNode} v
      • OWL
      • ObjectUnionOf expression to represent alternative paths
      SubClassOf (ObjectNode ObjectUnionOf ( ObjectSomeValuesFrom (topEdgeProperty Action) ObjectSomeValuesFrom (topEdgeProperty ObjectNode) ))
    • 21. Path Descriptions (Iterated Path Description)
      • grUML+ GReQL
      • Use of Kleene operators * and + to define iterated path descriptions
      forall i:V{Initial} @ exists f:V{Final} @ i -->+ f
      • OWL
      • Iterated path expressions realized by transitive object properties
      SubClassOf (Initial ObjectSomeValuesFrom ( transitiveTopEdgeProperty ObjectSomeValuesFrom (transitiveTopEdgeProperty Vertex)))
    • 22. Reasoning (1)
      • Reasoning on at least 2 layers (TBox/ABox)
      • Reasoning at schema layer
      forall f:V{Final} @ exists v:V @ (f --> v) and not (f --> v) SubClassOf (Final ObjectIntersectionOf ( ObjectSomeValuesFrom (topEdgeProperty Vertex) ObjectComplementOf ( ObjectSomeValuesFrom (topEdgeProperty Vertex))))  Final is unsatisfiable
    • 23. Reasoning (2)
      • Reasoning at instance- and schema layer
      Declaration (Individual(initial)) Declaration (Individual(object1)) Declaration (Individual(final)) ClassAssertion (initial Initial) ClassAssertion (final Final) ObjectPropertyAssertion (objectFlowProperty initial object1) ObjectPropertyAssertion (objectFlowProperty object1 final) EquivalentClasses (ObjectNode ObjectUnionOf ( ObjectSomeValuesFrom (objectFlowProperty Vertex) ObjectSomeValuesFrom ( InverseObjectProperty (objectFlowProperty) Vertex)))  object1 has type ObjectNode
    • 24. Explanations
      • Explanations of unsatisfiable classes
      • Explanations of inconsistent models/graphs
      SubClassOf (Final ObjectIntersectionOf ( ObjectSomeValuesFrom (topEdgeProperty Vertex) ObjectComplementOf ( ObjectSomeValuesFrom (topEdgeProperty Vertex)))) Explanation from TwoUse Toolkit --------------------------------------- Unsatisfiability of Final: Explanation: Final equivalentTo not topEdgeProperty some Vertex and topEdgeProperty some Vertex SubClassOf (Initial ObjectSomeValuesFrom ( transitiveTopEdgeProperty ObjectSomeValuesFrom (transitiveTopEdgeProperty Vertex))) Explanation from TwoUse Toolkit --------------------------------------- CHECK CONSISTENCY Consistent: No Explanation: receiveOrder type Action Action subClassOf ActivityNode ActivityNode equivalentTo transitiveTopEdgeProperty some Final
    • 25. Open World Assumption
      • Assumes incomplete information by default
      • Guidance and validation of incomplete models
      Query for possible model element types types after Send Invoice Possible replacement of control nodes by one single object flow
    • 26. Conclusion
      • Transformation bridge between Modelware and Ontoware
      • Intersection of modelware and ontoware
        • Standard modeling constructs
        • Path Descriptions
      • Differences
        • Reasoning technologies of OWL
        • Simplicity and Efficiency of TGraphs

    ×