Upload
mikhail-lomonosov
View
60
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
1
Semantic search and reporting
implementation on .15926
platform
Victor Agroskin
10.05.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
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…
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.)
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-2
classes, relationships,
individuals
15926-7
template definitions,
template instances
15926-6
metadata
15926-7
template constructor
TabLan
Mapping Mapping
SPARQL Endpoint
Te
mp
late
Lib
rary
OIM Writer
.15926 Scanner
OIM
Definition
SearchLan
Interface
Te
mp
late
Lib
rary
RDF/OWL Files
& SPARQL
Editor Interface
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
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
8
+ Engineering Languages
Conceptual 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
9
Filling the GapsConceptual Graphical Data Query
Engineering
Specialty Data
Drawings &
Diagrams
CAD/PLM
Formats
Natural
Language
Patterns Gellish
TabLan.15926
SearchLan
.15926
Part 7 Templates Part 8
RDF/OWL
ConventionsPart 2 Type
Instances
Part 2-7
Instance
Diagrams
EXPRESS EXPRESS-G OWL
RDF SPARQL
XML
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
11
Name Queries
@find(label=contains('UOM'))
12
Part 2 Type Queries
@find(id=R1, type=part2.ClassOfClassOfInformationRepresentation)
13
Part 2 Relationship Queries@find(type=part2.Classification, hasClassifier=R5, hasClassified=out)
14
Template Queries
@find(type=p7tpl.DescriptionByInformationObject,
hasRepresented=out,
hasPattern=find(label=icontains(“snip”)))
15
Reference Data Verification (1)
@find(type=part2.Classification, hasClassified=
find(type=part2.any.ClassOfRelationship), hasClassifier=
find(type=part2.any.ClassOfClassOfIndividual)
)
16
Reference Data Verification (2)@find(type=part2.Classification, hasClassified=
find(type=part2.any.ClassOfIndividual), hasClassifier=
find(type=part2.any.ClassOfClassOfRelationship)
)
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)
)
)
)
18
Template “Contraction” Results
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
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),]
21
22
OIM Enhanced with Query
23
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
25
Tables
Table
Reader
.15926 Builder
15926-2
classes, relationships,
individuals
15926-7
template definitions,
template instances
15926-6
metadata
15926-7
template constructor
Te
mp
late
Lib
rary
OIM
Writer
.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
Lib
rary
RDF/OWL Files
iRING, Part 8, PCA RDL/JORD, Part 4
15926-2,7 OWL
Definitions
SPARQL Endpoint
RDF/OWL Files
& SPARQL
Editor Interface
2626
Thank you!Anatoly Levenchuk
http://ailev.ru (Rus)
http://levenchuk.com (Eng)
Victor Agroskin
Freeware .15926 Editor available “as is” for evaluation and tests at http://techinvestlab.ru/dot15926Editor
Feedback and comments:
http://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