© Copyright 2009 TopQuadrant Inc. Slide 1 TopQuadrant Metrics and QA Support TopBraid Suite Supporting the Complete Semantic Application Lifecycle
© Copyright 2009 TopQuadrant Inc. Slide 2 Metrics Agenda Kinds of Metrics Approach to Metrics Model Metrics Class Metrics Property Metrics Other QA Support Conclusion
© Copyright 2009 TopQuadrant Inc. Slide 3 Coupling Compliance Complexity Correctness Cohesion Consistency Kinds of Metrics Models Classes Properties Axioms of
© Copyright 2009 TopQuadrant Inc. Slide 4 Models and Namespaces: NASA Ontologies Enterprise Information Technology Structure, Electrical, Hydraulic, Thermal, … Lifecycle Social Competencies Critical Skills Human Organizational Risks
© Copyright 2009 TopQuadrant Inc. Slide 5 NIEM OWL Ontologies NIEM XSD Schemas Translation of NIEM XML Schemas to OWL Import into TopBraid Composer
© Copyright 2009 TopQuadrant Inc. Slide 6 NIEM Person (Proto) OWL Model To address reusability, the NIEM Person was re-factored into individual ‘Details’ classes.
© Copyright 2009 TopQuadrant Inc. Slide 7 Metrics on the NIEM OWL Model SELECT ?class ?restrictionCount WHERE { ?class a owl:Class. LET ( ?restrictionCount := smf:countResults( "SELECT DISTINCT ?property WHERE { ?class rdfs:subClassOf ?restriction. ?restriction a owl:Restriction. ?restriction owl:onProperty ?property }" )) }
© Copyright 2009 TopQuadrant Inc. Slide 8 Refactoring of NIEM Person into an OWL Model with reusable Concepts (person:Details) Depending on the context of use, concepts describing different details about a person can be selected
© Copyright 2009 TopQuadrant Inc. Slide 9 Approach to Metrics User-Definable Extensible Flexible Reporting Model-Based Rule-Based
© Copyright 2009 TopQuadrant Inc. Slide 10 Model Metrics - 1 Namespaces versus Named Graphs Model-Based Rule-Based Flexible Reporting
© Copyright 2009 TopQuadrant Inc. Slide 11 NASA CxDA: Importance of Data Architecture
© Copyright 2009 TopQuadrant Inc. Slide 12 Model Metrics - 2 Class Metrics for Number of: –Classes (NoC) –Leaf Classes (NoLC) –Root Classes (NoRC) –Superclasses (NoSpC) –Subclasses (NoSbC) –Classes with Equivalent Class Expressions (NoEqC) –Classes with ‘HasValue’ restriction Axioms (NoHvR) –Average Depth of Inheritance (AvDoI) –Max Depth of Inheritance (MxDoI)
© Copyright 2009 TopQuadrant Inc. Slide 13 Metrics for Individual Models OARS - Ontology Architecture Requirements Specification Ontology UC - Use Case Ontology
© Copyright 2009 TopQuadrant Inc. Slide 14 Model Metrics - 3 Property Metrics for Number of: –Datatype Properties (NoDtP) –Object Properties (NoOP) –Annotation Properties (NoAP) Ratio Metrics for –Specialization Ratio (=NoSbC/NoSpC) –Reuse Ratio (=NoSbC/NoC)
© Copyright 2009 TopQuadrant Inc. Slide 15 Model Metrics Examples - 1 A D E F G C H I MetricValue NoC9 NoRC3 NoLC4 NoSpC4 NoSbC6 RaSp1.50 RaRu0.67 B
© Copyright 2009 TopQuadrant Inc. Slide 16 TopBraid Metrics Approach is Model-Based SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’
© Copyright 2009 TopQuadrant Inc. Slide 17 TopBraid OQA: Namespace Metrics ‘oqa:NamespaceMetricRow’ holds metrics for a given namespace
© Copyright 2009 TopQuadrant Inc. Slide 18 TopBraid Metrics Approach is Model-Based SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’
© Copyright 2009 TopQuadrant Inc. Slide 19 SPIN Functions enable Reusable Model Rules SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’
© Copyright 2009 TopQuadrant Inc. Slide 20 Class Metrics Property Metrics for Number of: –Datatype Properties (NoDtP) –Object Properties (NoOP) –Annotation Properties (NoAP) Axiom Metrics for Number of: –Equivalent Class –Has Value Restrictions
© Copyright 2009 TopQuadrant Inc. Slide 21 TopBraid Class Metrics SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’
© Copyright 2009 TopQuadrant Inc. Slide 22 SPARQLMotion Script for Metrics Generation Import the OARS Ontology to run metrics over it. Run the SPIN Engine Import System ontology Get the JSP Script for the report Run the JSP Script Export the HTML Report
© Copyright 2009 TopQuadrant Inc. Slide 23 Class Metrics Example: OARS Ontology Architecture Requirements Specification
© Copyright 2009 TopQuadrant Inc. Slide 24 JSP Metrics Report Sample Ontology Models Report NoC NoEqC NoHvR NoDtP NoOP NoAP NoRC NoLC NoSbC NoSpC RaSp SELECT * WHERE { ?report a oqa:ModelMetricsReport. OPTIONAL {?report oqa:classes ?classes }. OPTIONAL {?report oqa:annotationProperties ?aprops }. OPTIONAL {?report oqa:objectProperties ?oprops }. OPTIONAL {?report oqa:datatypeProperties ?dprops }. OPTIONAL {?report oqa:rootclasses ?rootclasses }. OPTIONAL {?report oqa:leafclasses ?leafclasses }. OPTIONAL {?report oqa:subclasses ?subclasses }. OPTIONAL {?report oqa:superclasses ?superclasses }. OPTIONAL {?report oqa:specializationRatio ?ratioraw. LET (?decimal := smf:indexOf(?ratioraw, ".")). LET (?ratio := smf:subString(?ratioraw, 0, (?decimal+4)))}. OPTIONAL {?report oqa:classesWithEquivalentClassExpressions ?equivClass}. OPTIONAL {?report oqa:classesWithHasValueRestrictions ?clsHasValue }. } Embedded SPARQL query
© Copyright 2009 TopQuadrant Inc. Slide 25 Property Metrics Semantic Weight –Occurrences of properties on Classes
© Copyright 2009 TopQuadrant Inc. Slide 26 Other QA Capabilities Model Integrity Missing Constructs Model Dependencies Differences across Versions
© Copyright 2009 TopQuadrant Inc. Slide 27 Demos
© Copyright 2009 TopQuadrant Inc. Slide 28 Thank You Ralph Hodgson
© Copyright 2009 TopQuadrant Inc. Slide 29 Backup
© Copyright 2009 TopQuadrant Inc. Slide 30 Refactoring of NIEM Person into a Model with reusable Concepts (person:AppearanceDetails) A Person’s ‘Appearance Details’ will be needed for criminal investigations.
© Copyright 2009 TopQuadrant Inc. Slide 31 Refactoring of NIEM Person into a Model with reusable Concepts (person:ConditionDetails) A Person’s ‘Condition Details’ will be needed for both driving incidents and criminal investigations.
© Copyright 2009 TopQuadrant Inc. Slide 32 Refactoring of NIEM Person into a Model with reusable Concepts (person:SocialDetails) A Person’s ‘Social Details’ will be needed for change of status, such as naturalization.
© Copyright 2009 TopQuadrant Inc. Slide 33 Refactoring of NIEM Driving Incident into a Model showing reusable Concepts The NIEM Driving Incident concept is also being re-factored. The use of ‘Augmentation’ classes simplifies the construction of UBL documents.