semantic search on dot15926 platform at semantic days 2012
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/SemanticDays2012TRANSCRIPT
![Page 1: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/11.jpg)
11
Name Queries@find(label=contains('UOM'))
![Page 12: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/12.jpg)
12
Part 2 Type Queries
@find(id=R1, type=part2.ClassOfClassOfInformationRepresentation)
![Page 13: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/13.jpg)
13
Part 2 Relationship Queries@find(type=part2.Classification, hasClassifier=R5, hasClassified=out)
![Page 14: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/18.jpg)
18
Template “Contraction” Results
![Page 19: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/21.jpg)
21
![Page 22: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/22.jpg)
22
OIM Enhanced with Query
![Page 23: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/23.jpg)
23
![Page 24: Semantic Search on dot15926 Platform at Semantic Days 2012](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081516/54b508cd4a7959fd6d8b45f8/html5/thumbnails/26.jpg)
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