Semantic search and reporting  implementation on .15926          platform         Victor Agroskin           10.05.2012    ...
About the .15926 project• TechInvestLab.ru – Moscow-based strategy,  organization and IT architecture consultancy• Softwar...
Ontology Programming Platform• A long road to business user starts from rather  complex things• Programming, modeling, ont...
Language Workbench IDE• The goal – to have a product of Language Workbench class for  ontology work• Fully integrated DSL ...
SearchLan                                  Tables                                                                         ...
Engineering Data Domain• Big Data   – PCA RDL – more then 3 mil. triples and set to grow   – … but it is just reusable ref...
ISO 15926 (Meta) Languages  Conceptual       Graphical       Data       Query    PatternsPart 7 Templates                 ...
+ Engineering Languages  Conceptual       Graphical       Data        Query  Engineering      Drawings &    CAD/PLM       ...
Filling the Gaps  Conceptual        Graphical       Data         Query  Engineering       Drawings &     CAD/PLM       Nat...
SearchLan.15926• Query language for 15926-restricted (Part 2 type  instances and template instances) RDF graph• Built over...
Name Queries@find(label=contains(UOM))                               11
Part 2 Type Queries@find(id=R1, type=part2.ClassOfClassOfInformationRepresentation)                                       ...
Part 2 Relationship Queries@find(type=part2.Classification, hasClassifier=R5, hasClassified=out)                          ...
Template Queries@find(type=p7tpl.DescriptionByInformationObject,hasRepresented=out,hasPattern=find(label=icontains(“snip”)...
Reference Data Verification (1)@find(type=part2.Classification, hasClassified=      find(type=part2.any.ClassOfRelationshi...
Reference Data Verification (2)@find(type=part2.Classification, hasClassified=      find(type=part2.any.ClassOfIndividual)...
Template “Contraction” Query                                                                                        Proper...
Template “Contraction” Results                                 18
Patterns (iRING version)                              PLANT AREA            Functional Area                    ClassifiedA...
Object Information Models• Extracting ISO 15926 sub-graphs (not RDF!) and  presenting them in a user interface in a compac...
21
OIM Enhanced with Query                          22
23
Roadmap• Open plug-in specification• DSL Workbench IDE• Client-driven feature sets:  – Presets for data sources – servers,...
SearchLanXML Files         Databases                          Tables                CAD/CAM/PLM                           ...
Thank you!Anatoly Levenchukhttp://ailev.ru (Rus)http://levenchuk.com (Eng)ailev@asmp.msk.suVictor Agroskinvic5784@gmail.co...
Upcoming SlideShare
Loading in …5
×

Semantic Search on dot15926 Platform at Semantic Days 2012

1,548 views

Published on

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

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

No Downloads
Views
Total views
1,548
On SlideShare
0
From Embeds
0
Number of Embeds
634
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Why a query language?
  • Why a query language?
  • Why a query language?
  • Semantic Search on dot15926 Platform at Semantic Days 2012

    1. 1. Semantic search and reporting implementation on .15926 platform Victor Agroskin 10.05.2012 1
    2. 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 2
    3. 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… 3
    4. 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.) 4
    5. 5. SearchLan Tables Interface Table Reader OIM WriterTabLan OIMMapping Mapping Definition .15926 Builder .15926 Scanner Template Template Library Library Editor Interface ISO 15926 Data____ 15926-2 15926-7 15926-6 classes, relationships, template definitions, metadata individuals template instances 15926-7 .15926 Core template constructor RDF/OWL Files RDF/OWL Files & SPARQL 15926-2,7 OWL Definitions iRING, Part 8, PCA RDL/JORD, Part 4SPARQL Endpoint 5
    6. 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 6
    7. 7. ISO 15926 (Meta) Languages Conceptual Graphical Data Query PatternsPart 7 Templates Part 8 RDF/OWL Part 2 Type Part 2,7 Conventions Instances Instance Diagrams EXPRESS EXPRESS-G OWL RDF SPARQL XML 7
    8. 8. + Engineering Languages Conceptual Graphical Data Query Engineering Drawings & CAD/PLM Natural Specialty Diagrams Formats Language Information PatternsPart 7 Templates Part 8 RDF/OWL Part 2 Type Part 2-7 Conventions Instances Instance Diagrams EXPRESS EXPRESS-G OWL RDF SPARQL XML 8
    9. 9. Filling the Gaps Conceptual Graphical Data Query Engineering Drawings & CAD/PLM Natural Specialty Data Diagrams Formats Language Patterns Gellish SearchLan TabLan.15926 .15926Part 7 Templates Part 8 RDF/OWL Part 2 Type Part 2-7 Conventions Instances Instance Diagrams EXPRESS EXPRESS-G OWL RDF SPARQL XML 9
    10. 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 10
    11. 11. Name Queries@find(label=contains(UOM)) 11
    12. 12. Part 2 Type Queries@find(id=R1, type=part2.ClassOfClassOfInformationRepresentation) 12
    13. 13. Part 2 Relationship Queries@find(type=part2.Classification, hasClassifier=R5, hasClassified=out) 13
    14. 14. Template Queries@find(type=p7tpl.DescriptionByInformationObject,hasRepresented=out,hasPattern=find(label=icontains(“snip”))) 14
    15. 15. Reference Data Verification (1)@find(type=part2.Classification, hasClassified= find(type=part2.any.ClassOfRelationship), hasClassifier= find(type=part2.any.ClassOfClassOfIndividual)) 15
    16. 16. Reference Data Verification (2)@find(type=part2.Classification, hasClassified= find(type=part2.any.ClassOfIndividual), hasClassifier= find(type=part2.any.ClassOfClassOfRelationship)) 16
    17. 17. Template “Contraction” Query Property Quantification Upper Bound Of Property Range Classified Temperature 85°C 85 Input Result Property Arithmetic Number Ambient Temperature Classified Classified Represented CO CO Relationship Pattern ”85" Classifier Classified ExpressReal Classifier Classifier Classifier Temperature Range 3051CG CO Property -40°C – 85°C Temperature Celsius CO Identification Possessor Space Property Range CO Individual Single Property Dimension Scale CO Indirect Property Classifier Classifier Classifier Pattern ”-40" ExpressReal Classified Represented Classified Classified Temperature -40°C -40 Input Result Property Arithmetic Number Lower Bound Of Property Range Property Quantification@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) ) ) 17)
    18. 18. Template “Contraction” Results 18
    19. 19. Patterns (iRING version) PLANT AREA Functional Area ClassifiedArrangementOfIndividual COMPOSITION P0002 AREA CODE ClassifiedClassOfIdentification IDENTIFICATION@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’))) 19
    20. 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), ] 20
    21. 21. 21
    22. 22. OIM Enhanced with Query 22
    23. 23. 23
    24. 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 24
    25. 25. SearchLanXML Files Databases Tables CAD/CAM/PLM InterfaceXML, SQL, CAD/PLM API Table OIM XML, SQL, CAD/PLM API Reader Reader Writer Writer .15926 Builder .15926 Scanner Template Template Library Library Editor Interface ISO 15926 Data___ 15926-2 15926-7 15926-6 classes, relationships, template definitions, metadata individuals template instances Template Expansion 15926-7 .15926 Core template constructor RDF/OWL Files RDF/OWL Files & SPARQL 15926-2,7 OWL Definitions iRING, Part 8, PCA RDL/JORD, Part 4SPARQL Endpoint 25
    26. 26. Thank you!Anatoly Levenchukhttp://ailev.ru (Rus)http://levenchuk.com (Eng)ailev@asmp.msk.suVictor Agroskinvic5784@gmail.comFreeware .15926 Editor available “as is” for evaluation and tests at http://techinvestlab.ru/dot15926EditorFeedback and comments: dot15926@gmail.com http://community.livejournal.com/dot15926/TechInvestLab.ru+7 (495) 748-5388 26 26

    ×