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
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Semantic Search on dot15926 Platform at Semantic Days 2012
1. Semantic search and reporting
implementation on .15926
platform
Victor Agroskin
10.05.2012
1
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. 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. 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
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. ISO 15926 (Meta) Languages
Conceptual Graphical Data Query
Patterns
Part 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. + Engineering Languages
Conceptual Graphical Data Query
Engineering Drawings & CAD/PLM Natural
Specialty Diagrams Formats Language
Information
Patterns
Part 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. Filling the Gaps
Conceptual Graphical Data Query
Engineering Drawings & CAD/PLM Natural
Specialty Data Diagrams Formats Language
Patterns Gellish SearchLan
TabLan.15926 .15926
Part 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. 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
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
)
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