semantic search on dot15926 platform at semantic days 2012

26
1 Semantic search and reporting implementation on .15926 platform Victor Agroskin 10.05.2012

Upload: victor-agroskin

Post on 13-Jan-2015

1.165 views

Category:

Technology


0 download

DESCRIPTION

The goal of .15926 (pronounced "dot15926") project http://techinvestlab.ru/ISO15926en is to allow business user to perform advanced tasks with data using only engineering discipline-specific or geometry-specific terms, patterns and metaphors. Currently ISO 15926 is supported with possible extensions to STEP or discipline level standards. To this goal we've created a platform for ISO 15926 ontology programming - a set of tools to build and deploy domain-specific languages (DSLs) for easy viewing, navigation, search, editing and mapping of ISO 15926 compliant data. Specific instruments are required to build higher abstraction language layers and define domain-specific constructs, rising above an “assembler” level of table/RDF/OWL representations of ISO 15926 data. We use Python programming language with special libraries and syntax tricks to build DSLs. By using general-purpose programming language for DSL construction it is possible to solve the problem of code reuse, be it for a user interfaces or for a specific ISO 15926 editing, search or mapping tasks. One DSL, semantic search language of dot15926 Scanner, was created, implemented and optimized for work with various triple representations of ISO 15926 type and template instances stored both in files or at SPARQL endpoints. During the talk we shall show how the search language helps in the following tasks - data verification, pattern matching for the "raising" of templates, and construction of a high level object information models (OIMs) for user viewing. Presentation delivered at https://www.posccaesar.org/wiki/PCA/SemanticDays2012

TRANSCRIPT

Page 1: Semantic Search on dot15926 Platform at Semantic Days 2012

1

Semantic search and reporting implementation on .15926

platform

Victor Agroskin 10.05.2012

Page 2: Semantic Search on dot15926 Platform at Semantic Days 2012

2

About the .15926 project• TechInvestLab.ru – Moscow-based strategy,

organization and IT architecture consultancy• Software platform for ontology programming – allow

business user to perform advanced tasks with data using only domain-specific terms, patterns and metaphors

• .15926 public releases:– Browser, March 2011– Editor, December 2011– TabLan modeling methodology, March 2012– SearchLan query language, May 2012 (planned)

• Russian-speaking community of approx. 100 friends

Page 3: Semantic Search on dot15926 Platform at Semantic Days 2012

3

Ontology Programming Platform• A long road to business user starts from rather

complex things• Programming, modeling, ontologizing – different

names for one activity– Mapping and compiling are the same

• Ontology-related computations based on general-purpose multi-paradigm language– Not a logic one!

• Domain Specific Languages (DSLs) - defining higher abstraction language layers and domain-specific constructs – From triples to instances to templates to patterns…

Page 4: Semantic Search on dot15926 Platform at Semantic Days 2012

4

Language Workbench IDE • The goal – to have a product of Language Workbench class for

ontology work• Fully integrated DSL development – definitions, libraries, editors • Turing-complete mapping environment to any schema

(conceptual or proprietary CAD/PLM)• Seamless integration with outside data sources – tables,

databases, XML• Python realization:

– Core functionality to work with various triple representations of ISO 15926 type and template instances

– Core support of SPARQL querying, optimized for work with federated endpoints as unreliable infrastructure

– Plug-in architecture for data analysis and transformation (mappings, searches, verification, reasoning, etc.)

– Optimized for ISO 15926 data structure searches (indexing, substring filtering, etc.)

Page 5: Semantic Search on dot15926 Platform at Semantic Days 2012

5

Tables

ISO 15926 Data____

Table Reader

.15926 Builder

RDF/OWL Files

iRING, Part 8, PCA RDL/JORD, Part 4

.15926 Core

15926-2,7 OWL Definitions

15926-2classes, relationships,

individuals

15926-7template definitions, template instances

15926-6metadata

15926-7template constructor

TabLan Mapping Mapping

SPARQL Endpoint

Tem

plat

eLi

brar

y

OIM Writer

.15926 Scanner

OIM Definition

SearchLan Interface

Tem

plat

eLi

brar

yRDF/OWL Files

& SPARQL

Editor Interface

Page 6: Semantic Search on dot15926 Platform at Semantic Days 2012

6

Engineering Data Domain• Big Data

– PCA RDL – more then 3 mil. triples and set to grow– … but it is just reusable reference data!

• Data integration vs. data reuse – do not throw away intermediary files, but learn to work with them– Distributed semantic networks with many-layered

semantic predefined by engineering knowledge• Mappings across several ontologies• Specialized semantic tools required for:

– Data modeling– Mappings– Reasoning – Search

Page 7: Semantic Search on dot15926 Platform at Semantic Days 2012

7

ISO 15926 (Meta) LanguagesConceptual Graphical Data Query

Patterns

Part 7 Templates Part 8 RDF/OWL

ConventionsPart 2 Type Instances

Part 2,7 Instance Diagrams

EXPRESS EXPRESS-G OWL

RDF SPARQL

XML

Page 8: Semantic Search on dot15926 Platform at Semantic Days 2012

8

+ Engineering LanguagesConceptual Graphical Data Query

Engineering Specialty

Information

Drawings & Diagrams

CAD/PLM Formats

Natural Language

Patterns

Part 7 Templates Part 8 RDF/OWL

ConventionsPart 2 Type Instances

Part 2-7 Instance Diagrams

EXPRESS EXPRESS-G OWL

RDF SPARQL

XML

Page 9: Semantic Search on dot15926 Platform at Semantic Days 2012

9

Filling the GapsConceptual Graphical Data QueryEngineering

Specialty DataDrawings & Diagrams

CAD/PLM Formats

Natural Language

Patterns GellishTabLan.15926

SearchLan.15926

Part 7 Templates Part 8 RDF/OWL

ConventionsPart 2 Type Instances

Part 2-7 Instance Diagrams

EXPRESS EXPRESS-G OWLRDF SPARQLXML

Page 10: Semantic Search on dot15926 Platform at Semantic Days 2012

10

SearchLan.15926• Query language for 15926-restricted (Part 2 type

instances and template instances) RDF graph• Built over SPARQL• Integrated 15926-8 specific data and meta-data

(annotation properties) queries• Available on .15926 platform to plug-ins and in user

interface• Extendable as standard Python functions• High-level logic available for language extension• Configurable for specific presets: collections of

interrelated data sources (files and endpoints) with namespace conventions, template libraries and metadata annotations

Page 11: Semantic Search on dot15926 Platform at Semantic Days 2012

11

Name Queries@find(label=contains('UOM'))

Page 12: Semantic Search on dot15926 Platform at Semantic Days 2012

12

Part 2 Type Queries

@find(id=R1, type=part2.ClassOfClassOfInformationRepresentation)

Page 13: Semantic Search on dot15926 Platform at Semantic Days 2012

13

Part 2 Relationship Queries@find(type=part2.Classification, hasClassifier=R5, hasClassified=out)

Page 14: Semantic Search on dot15926 Platform at Semantic Days 2012

14

Template Queries@find(type=p7tpl.DescriptionByInformationObject, hasRepresented=out, hasPattern=find(label=icontains(“snip”)))

Page 15: Semantic Search on dot15926 Platform at Semantic Days 2012

15

Reference Data Verification (1)@find(type=part2.Classification, hasClassified=

find(type=part2.any.ClassOfRelationship), hasClassifier=find(type=part2.any.ClassOfClassOfIndividual)

)

Page 16: Semantic Search on dot15926 Platform at Semantic Days 2012

16

Reference Data Verification (2)@find(type=part2.Classification, hasClassified=

find(type=part2.any.ClassOfIndividual), hasClassifier=find(type=part2.any.ClassOfClassOfRelationship)

)

Page 17: Semantic Search on dot15926 Platform at Semantic Days 2012

17

Template “Contraction” Query

@find(type=part2.ClassOfIndirectProperty, hasClassOfPossessor=out, hasPropertySpace=

find(type=part2.Classification, hasClassifier=out, hasClassified=find(type=part2.PropertyQuantification, hasInput=out,

hasResult=find(type=part2.RealNumber)

))

)

3051CGCO Individual

COPossessor

Temperature Range-40°C – 85°C

Property Range

PropertySpace

CO Indirect Property

Classifier

Temperature 85°C

Property

TemperatureSingle Property Dimension

CelsiusScale

Classified

Classifier

85

Arithmetic NumberInput Result

Property Quantification

Upper Bound Of Property Range

Ambient TemperatureCO CO Relationship

Classified

Classifier

Classifier

Represented

Pattern ”85"ExpressReal

CO Identification

Classified

Classified

Classifier

Temperature -40°C

Property

Classified

Classifier

-40

Arithmetic NumberInput Result

Lower Bound Of Property Range

Classifier

Represented

Pattern ”-40"ExpressReal

Classified

Classified

Property Quantification

Page 18: Semantic Search on dot15926 Platform at Semantic Days 2012

18

Template “Contraction” Results

Page 19: Semantic Search on dot15926 Platform at Semantic Days 2012

19

Patterns (iRING version)

@find(type=p7tpl.ClassifiedArrangementOfIndividual, hasPart=find(id=uri(‘http://company.com/pr oject/

data#R7554677677’)), hasWhole=out, hasContext=find(label=icontains(‘plant area composition’)))

@find(type=p7tpl.ClasifiedClassOfIdentification,hasRepresented=R1,valPattern=out,hasContext=find(label=icontains(‘area code’)))

P0002

Functional AreaPLANT AREA COMPOSITION

ClassifiedArrangementOfIndividual

 AREA CODE IDENTIFICATION

ClassifiedClassOfIdentification

Page 20: Semantic Search on dot15926 Platform at Semantic Days 2012

20

Object Information Models• Extracting ISO 15926 sub-graphs (not RDF!) and

presenting them in a user interface in a compact form• Partial definition:

oim_settings = [ dict(category="classified by", type=part2.Classification, hasClassified=_this, hasClassifier=_other), dict(category="classifies", type=part2.Classification, hasClassified=_other, hasClassifier=_this), dict(category="is specialization of", type=part2.Specialization, hasSubclass=_this, hasSuperclass=_other), dict(category="is generalization of", type=part2.Specialization, hasSubclass=_other, hasSuperclass=_this), dict(category="is identified by", type=part2.ClassOfIdentification, hasRepresented=_this, hasPattern=_other),]

Page 21: Semantic Search on dot15926 Platform at Semantic Days 2012

21

Page 22: Semantic Search on dot15926 Platform at Semantic Days 2012

22

OIM Enhanced with Query

Page 23: Semantic Search on dot15926 Platform at Semantic Days 2012

23

Page 24: Semantic Search on dot15926 Platform at Semantic Days 2012

24

Roadmap• Open plug-in specification• DSL Workbench IDE• Client-driven feature sets:

– Presets for data sources – servers, files, namespaces, metadata, etc.

– Readers, Writers and Mappings– Template expansion– Data verifiers and reasoners

• Opening the source code for partners• Python based – for foreseeable future

Page 25: Semantic Search on dot15926 Platform at Semantic Days 2012

25

Tables

ISO 15926 Data___

Table Reader

.15926 Builder

.15926 Core

15926-2classes, relationships,

individuals

15926-7template definitions, template instances

15926-6metadata

15926-7template constructor

Te

mp

late

Libr

ary

OIMWriter

.15926 Scanner

SearchLan Interface

Template Expansion

XML, SQL, CAD/PLM API Reader

XML, SQL, CAD/PLM API Writer

XML Files Databases CAD/CAM/PLM

Te

mp

late

Libr

ary

RDF/OWL Files

iRING, Part 8, PCA RDL/JORD, Part 4

15926-2,7 OWL Definitions

SPARQL Endpoint

RDF/OWL Files & SPARQL

Editor Interface

Page 26: Semantic Search on dot15926 Platform at Semantic Days 2012

2626

Thank you!Anatoly Levenchukhttp://ailev.ru (Rus)http://levenchuk.com (Eng)[email protected]

Victor [email protected]

Freeware .15926 Editor available “as is” for evaluation and tests at http://techinvestlab.ru/dot15926Editor

Feedback and comments:[email protected]://community.livejournal.com/dot15926/

TechInvestLab.ru+7 (495) 748-5388Elephant icon by Martin Berube is used for .15926 software according to terms at http://www.iconarchive.com/show/animal-icons-by-martin-berube/elephant-icon.html