Top Quadrant Metrics and QA Support Top Braid
Top. Quadrant Metrics and QA Support Top. Braid Suite Supporting the Complete Semantic Application Lifecycle © Copyright 2009 Top. Quadrant Inc. Slide 1
Metrics Agenda § § § § Kinds of Metrics Approach to Metrics Model Metrics Class Metrics Property Metrics Other QA Support Conclusion © Copyright 2009 Top. Quadrant Inc. Slide 2
Kinds of Metrics Models Coupling Compliance Complexity Correctness Cohesion Consistency Classes of Properties Axioms © Copyright 2009 Top. Quadrant Inc. Slide 3
Models and Namespaces: NASA Ontologies q. Enterprise q. Information q. Technology ØStructure, ØElectrical, ØHydraulic, ØThermal, Ø… q. Lifecycle q. Social ØCompetencies ØCritical Skills ØHuman Organizational Risks © Copyright 2009 Top. Quadrant Inc. Slide 4
Translation of NIEM XML Schemas to OWL NIEM XSD Schemas NIEM OWL Ontologies Import into Top. Braid Composer © Copyright 2009 Top. Quadrant Inc. Slide 5
NIEM Person (Proto) OWL Model To address reusability, the NIEM Person was re-factored into individual ‘Details’ classes. © Copyright 2009 Top. Quadrant Inc. Slide 6
Metrics on the NIEM OWL Model SELECT ? class ? restriction. Count WHERE { ? class a owl: Class. LET ( ? restriction. Count : = smf: count. Results( "SELECT DISTINCT ? property WHERE { ? class rdfs: sub. Class. Of ? restriction a owl: Restriction. ? restriction owl: on. Property ? property }" )) } © Copyright 2009 Top. Quadrant Inc. Slide 7
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 Top. Quadrant Inc. Slide 8
Approach to Metrics § § § User-Definable Extensible Flexible Reporting Model-Based Rule-Based © Copyright 2009 Top. Quadrant Inc. Slide 9
Model Metrics - 1 § § Namespaces versus Named Graphs Model-Based Rule-Based Flexible Reporting © Copyright 2009 Top. Quadrant Inc. Slide 10
NASA Cx. DA: Importance of Data Architecture © Copyright 2009 Top. Quadrant Inc. Slide 11
Model Metrics - 2 § Class Metrics for Number of: – – – – – Classes (No. C) Leaf Classes (No. LC) Root Classes (No. RC) Superclasses (No. Sp. C) Subclasses (No. Sb. C) Classes with Equivalent Class Expressions (No. Eq. C) Classes with ‘Has. Value’ restriction Axioms (No. Hv. R) Average Depth of Inheritance (Av. Do. I) Max Depth of Inheritance (Mx. Do. I) © Copyright 2009 Top. Quadrant Inc. Slide 12
Metrics for Individual Models OARS - Ontology Architecture Requirements Specification Ontology UC - Use Case Ontology © Copyright 2009 Top. Quadrant Inc. Slide 13
Model Metrics - 3 § Property Metrics for Number of: – Datatype Properties (No. Dt. P) – Object Properties (No. OP) – Annotation Properties (No. AP) § Ratio Metrics for – Specialization Ratio (=No. Sb. C/No. Sp. C) – Reuse Ratio (=No. Sb. C/No. C) © Copyright 2009 Top. Quadrant Inc. Slide 14
Model Metrics Examples - 1 Metric A D E H © Copyright 2009 Top. Quadrant Inc. C B F I G Value No. C 9 No. RC 3 No. LC 4 No. Sp. C 4 No. Sb. C 6 Ra. Sp 1. 50 Ra. Ru 0. 67 Slide 15
Top. Braid 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 Top. Quadrant Inc. Slide 16
Top. Braid OQA: Namespace Metrics ‘oqa: Namespace. Metric. Row’ holds metrics for a given namespace © Copyright 2009 Top. Quadrant Inc. Slide 17
Top. Braid 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 Top. Quadrant Inc. Slide 18
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 Top. Quadrant Inc. Slide 19
Class Metrics § Property Metrics for Number of: – Datatype Properties (No. Dt. P) – Object Properties (No. OP) – Annotation Properties (No. AP) § Axiom Metrics for Number of: – Equivalent Class – Has Value Restrictions © Copyright 2009 Top. Quadrant Inc. Slide 20
Top. Braid Class Metrics SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa. owl’ © Copyright 2009 Top. Quadrant Inc. Slide 21
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 Top. Quadrant Inc. Slide 22
Class Metrics Example: OARS Ontology Architecture Requirements Specification © Copyright 2009 Top. Quadrant Inc. Slide 23
JSP Metrics Report Sample Embedded SPARQL query © Copyright 2009 Top. Quadrant Inc. <body> <h 2>Ontology Models Report</h 2> <table class="metric. Table" width="800" align="center"> <tr><td class="cell. Head">No. C</td><td class="cell. Head">No. Eq. C</td><td class="cell. Head">No. Hv. R</td><td class="cell. Head">No. Dt. P</td><td class="cell. Head">No. OP</td> <td class="cell. Head">No. AP</td><td class="cell. Head">No. RC</td><td class="cell. Head">No. LC</td> <td class="cell. Head">No. Sb. C</td><td class="cell. Head">No. Sp. C</td><td class="cell. Head">Ra. Sp</td></tr> <sparql: select var="m. Report"> SELECT * WHERE { ? report a oqa: Model. Metrics. Report. OPTIONAL {? report oqa: classes ? classes }. OPTIONAL {? report oqa: annotation. Properties ? aprops }. OPTIONAL {? report oqa: object. Properties ? oprops }. OPTIONAL {? report oqa: datatype. Properties ? dprops }. OPTIONAL {? report oqa: rootclasses ? rootclasses }. OPTIONAL {? report oqa: leafclasses ? leafclasses }. OPTIONAL {? report oqa: subclasses ? subclasses }. OPTIONAL {? report oqa: superclasses ? superclasses }. OPTIONAL {? report oqa: specialization. Ratio ? ratioraw. LET (? decimal : = smf: index. Of(? ratioraw, ". ")). LET (? ratio : = smf: sub. String(? ratioraw, 0, (? decimal+4)))}. OPTIONAL {? report oqa: classes. With. Equivalent. Class. Expressions ? equiv. Class}. OPTIONAL {? report oqa: classes. With. Has. Value. Restrictions ? cls. Has. Value }. } </sparql: select> <c: for. Each items="${m. Report. rows}" var="model. Row"> <tr> <td class="cell"><sparql: out node="${model. Row. classes}" /></td> <td class="cell"><sparql: out node="${model. Row. equiv. Class}" /></td> <td class="cell"><sparql: out node="${model. Row. cls. Has. Value}" /></td> <td class="cell"><sparql: out node="${model. Row. dprops}" /></td> <td class="cell"><sparql: out node="${model. Row. oprops}" /></td> <td class="cell"><sparql: out node="${model. Row. aprops}" /></td> <td class="cell"><sparql: out node="${model. Row. rootclasses}" /></td> <td class="cell"><sparql: out node="${model. Row. leafclasses}" /></td> <td class="cell"><sparql: out node="${model. Row. subclasses}" /></td> <td class="cell"><sparql: out node="${model. Row. superclasses}" /></td> <td class="cell"><sparql: out node="${model. Row. ratio}" /></td> </tr> </c: for. Each> </table> Slide 24
Property Metrics § Semantic Weight – Occurrences of properties on Classes © Copyright 2009 Top. Quadrant Inc. Slide 25
Other QA Capabilities § § Model Integrity Missing Constructs Model Dependencies Differences across Versions © Copyright 2009 Top. Quadrant Inc. Slide 26
Demos © Copyright 2009 Top. Quadrant Inc. Slide 27
Thank You Ralph Hodgson E-mail: rhodgson@topquadrant. com © Copyright 2009 Top. Quadrant Inc. Slide 28
Backup © Copyright 2009 Top. Quadrant Inc. Slide 29
Refactoring of NIEM Person into a Model with reusable Concepts (person: Appearance. Details) A Person’s ‘Appearance Details’ will be needed for criminal investigations. © Copyright 2009 Top. Quadrant Inc. Slide 30
Refactoring of NIEM Person into a Model with reusable Concepts (person: Condition. Details) A Person’s ‘Condition Details’ will be needed for both driving incidents and criminal investigations. © Copyright 2009 Top. Quadrant Inc. Slide 31
Refactoring of NIEM Person into a Model with reusable Concepts (person: Social. Details) A Person’s ‘Social Details’ will be needed for change of status, such as naturalization. © Copyright 2009 Top. Quadrant Inc. Slide 32
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. © Copyright 2009 Top. Quadrant Inc. Slide 33
- Slides: 33