.15926 Editor v.1.2 released!

February 22, 2013

Yesterday we (TechInvestLab) released .15926 Editor version 1.2. We position it as software environment for ISO 15926 that is like Protege for ordinary OWL ontologies. You may download it here (it is freeware): http://techinvestlab.ru/dot15926Editor

Main feature of this version is user-defined patterns. You can define your own patterns which are now multi-role and may have several options, and use them in search queries. Our test “dictionary” implementation supports patterns for many possible areas of use: template expansion/contraction, pattern modelling, pattern mapping, etc. Predefined pattern set and documentation contain examples of patterns from JORD mapping methodology and from IIP project of iRING User Group. This is how you can define e.g. “classification” pattern:

patterns.append({
'name': 'Classification',
'signature': {'classifier': 'is classified by', 'classified': 'is classifier of',
'classofclassifier': 'is class of member', 'classofmember': 'is class of classifier'},
'options': [ 
    {'type': p7tpl.ClassificationOfIndividual,          'classifier': 'hasClass',           'classified': 'hasIndividual'},
    {'type': p7tpl.ClassificationOfClass,               'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': p7tpl.ClassificationOfRelationship,        'classifier': 'hasRelation',        'classified': 'hasPair'},
    {'type': p7tpl.ClassificationOfClassOfIndividual,   'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': p7tpl.ClassificationOfClassOfRelationship, 'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': part2.ClassOfClassification, 'classofmember': 'hasClassOfClassified', 'classofclassifier': 'hasClassOfClassifier'},
    {'type': p7tpl.ClassOfClassification, 'classofmember': 'hasClassOfClassified', 'classofclassifier': 'hasClassOfClassifier'},

    {'name':       'ClassificationTemplate',    
    'type':        p7tpl.Classification,
                        'classifier':  'hasClassifier',
                        'classified':  'hasClassified',
                        'expansion':       'ClassificationTemplAxiom'},

                        {'name'  : 'ClassificationTemplAxiom',
        'type' : part2.Classification, 
        'classifier' : 'hasClassifier', 
        'classified' : 'hasClassified',}
        ]
})

Here is a screenshot of “out of the box” example patterns visualisation for pump from JORD RDL:

patternexample

We now have new level of compliance to ISO 15926-8 requirements for RDF/OWL template format. But we still can read multiple non-compiant data, and this reading not constrained only to OWL files. Open-source extension for import of template definitions from Excel table used to populate iRING Tools software is included. And you can add extensions for you favorite data formats, this is only easier since previous version (we have more in our API for extensions development).

Also registration and creation of custom object properties for non-standard representation of relationships is allowed and their visualization is improved (the Editor can now be used as a
general-purpose RDF/XML editing software if need arises, with allowing search and editing by all object and data properties at RDF level). Find you “ordinary OWL ontology” in  http://swoogle.umbc.edu/ and open it with .15926 Editor! Or open biology ontology from http://obofoundry.org in next pane to JORD RDL to work on something like “heart properties of a pump” or vice versa :-)

We plan to use this version in ontology hackaton/clinic during Ontology Summit 2013. We are registered for participation (http://ontolog.cim3.net/file/work/OntologySummit2013/2013-02-21_OntologySummit2013_Synthesis-I/OntologySummit2013_hackathon-clinics-approach–MikeDean-PeterYim_20130221.pdf) with our russian-speaking community (announce in Russian: http://dot15926.livejournal.com/40280.html).

In the release version 1.2 we closed 53 issues and there was not so many bugs among them. We implemented many new features that not mentioned in this post.

We actively used GitHub.com for software development, not only for configuration management with Git but also for issue tracking with web-based issue tracker of GitHub. We have distributed software development team that resides in Moscow and Saint-Petersburg. Now we want to add in next version 1.3 of our .15926 Editor a set of GitHub-enabled collaborative ontology engineering features (commit to Git, version control with diff function for ontology, issue tracking).

.15926 Editor v.1.1 is here!

November 19, 2012

Today was released .15926 Editor v.1.1, feature release of our ISO 15926 ontology platform (take this freeware here: http://techinvestlab.ru/dot15926Editor).

Main feature of this release is extensively documented API for developing of ISO 15926 mapping adapters (“extensions”, think of plug-ins) according to iRING architecture “ISO 15926 outside”. There are several samples of such an adapters for different file formats (.xlsx, JSON, .txt with example of creation new type of editable view panel within user-defined extension). This extensions can be not only importers and exporters, editors and browsers of different formats. Same API can be used to extend .15926 Editor with validators, reasoners, natural language processors and other “semantic” and “classic AI” stuff. This is rather serious software, documentation for version 1.1 have more than 150 pages.

Software have Python 2.7 REPL with dynamic importing of Python modules (e.g. you can say “import nltk” and have all the power of NLTK software and data along with ISO 15926 ontology programming). We support “exploratory programming” methodology that is mean emphasizing programming and scripting languages over point-and-click interfaces. One of first usage of this feature from 3rd party developers is generation of Python snippets for ISO 15926 visual diagrams with DiagramDesigner of Roman Riabenko. This snippets in .15926 Editor produce valid Part 8 RDF/OWL file that correspond to graph diagram. Download ISO 15926 DiagramDesigner version 1.0.0.9 (alpha) from http://yadi.sk/d/KdFdMAQ50Bql9 and full English documentation from http://yadi.sk/d/bqI3C5zG0HxEN.

We also published small amount of reference data that needed for our samples and examples in TechInvestLab.ru RDL sandbox SPARQL endpoint (http://rdl.techinvestlab.ru:8891/sparql) . Link to our public RDL was added to menu with other known to us ISO 15926-compliant RDLs.

We have better packaging, i.e. Windows installer and update checker to users not miss our next releases.

Sure, there are numerous interface improvements and bug-fixes.

Now we have plans to strengthen work with ISO 15926 patterns in the next release of .15926 Editor. Our software will be smarter.

 

We at TechInvestLab have experience of introducing of ISO 15926 to general public (not professional ontologists) in self-education mode. It required very special reading sequence (in Russian this is in more details at http://dot15926.livejournal.com/27293.html):   

 I. Theory for general understanding.   

 1. Read a book of Chris Partridge “Business Objects: Re-Engineering for Re-Use” http://www.borosolutions.co.uk/research/content/files/books/BusObj-Printed-20050531-with-watermark.pdf/at_download/file (while this book has no references to ISO 15926 or any other language or software or standard). This is mandatory reading for all beginners. In Russian we have video about 4D vs 3D ontology that we recommend as addition for 7th Chapter of this book. Try to find something equal to support 4D understanding (it is very tricky).   

 2. Only then you should read “An Introduction to ISO 15926″ issued by FIATECH consortium — http://fiatech.org/images/stories/techprojects/project_deliverables/iso-intro-ver1.pdf

3. Then you should read first part of book of Matthew West “Developing High Quality Data Models”: http://www.amazon.com/Developing-High-Quality-Data-Models/dp/0123751063 (second part of this book is HQDM specific data model, you need not to read it. First part is mandatory).  

4. Read thesis of Andries van Renssen “Gellish. A Generic Extensible Ontological Language”: http://repository.tudelft.nl/assets/uuid:de26132b-6f03-41b9-b882-c74b7e34a07d/its_renssen_20050914.pdf This is also not about ISO 15926 and not even 4D but there are many interesting things about relations and table format. Take ideas about table data representation and usage of ontology in engineering.  Take no ontology from this book (except very good set of relations).   

This is about 1200 pages (about 4 month for 4 hours/day or reading).   

Many people stops here. This is general education in engineering approach to ontology.   

II. Now you are ready to mastering knowledge of ISO 15926 as a standard.   

1. Read ISO 15926 Part 2 (this is upper ontology, 201 type of entities). 241 pages.   

2. Read 47 pages of draft of ISO 15926 Part 6 (RDL management).

3. Take  .15926 Editor (freeware, http://techinvestlab.ru/dot15926Editor) . Have fun browsing PCA RDL (about 2.7mln triples for near 50000 concepts like “centrifugal pump” — you can prefer do it online from SPARQL endpoint or load from OWL file that take about 1 minute 20 second on a notebook with our Editor). Spend not too much time for this. This is like reading Encyclopedia, only to get understanding.    

4. Read ISO 15926 Part 7 (templates in logic language Plan 9), 126 pages and Part 8 (templates in OWL). 

5. Now try to see examples from http://15926.info/ — now you have a chance to understand it. We have several examples of engineering data in .15926 Editor samples directory. See also sample diagrams on http://techinvestlab.ru/iso15926_sample_diagrams. Up to this moment you will find multiple examples from different sources.

6. Read “ISO 15926 outside” methodology for reference data engineering: http://techinvestlab.ru/files/RefDataEng/RefDataEngr_ver_2_25feb11.doc — 18 pages.    

7. Subscribe for community “ISO 15926″ in LinkedIn and read discussions. Read http://iringug.org (implementations hub) and news at http://iringtoday.com.   

This is about 500 pages and many diagrams to understand. 2 month.

Most of people stops here. If you are not scared, proceed to real thing.   

III. Now you are ready to do you first ISO 15926 systems federation project.

Join somebody with ISO 15926 experience to supervise you modeling activity and tool chain mastering (e.g. TechInvestLab with .15926 Platform tool chain).

Welcome to the ontology-based systems federation community of practice! You have “yellow belt” qualification at this point.

After 3 year you will have “black belt” master level and can participate at Modeling Meeting of POCSCaesar Association.

This is valid for general public while for more experienced developers this self-education sequence can be passed really fast!

TechInvestLab.ru made release of .15926 Editor v1.0 as a freeware. The Editor is intended to become for ISO 15926 data what Protégé became for OWL data – a primary free tool for data exploration and creation. It can be downloaded here: http://techinvestlab.ru/dot15926Editor

.15926 Editor is one of realizations of iRING architecture (http://iringtoday.com/). This is first ISO 15926 software that  included voluntary JORD requirements Compliance Report in its documentation.

With .15926 Editor v1.0 you can
•    Browse ISO 15926-2 upper ontology and use it in three different namespaces:  JORD/PCA RDL, legacy RDS/WIP or ISO 15926-8.
•    Search and navigate all public ISO 15926 SPARQL-endpoints,
… or any other ISO 15926 endpoint you like, with authorization capabilities,
… including search for legacy RDS/WIP identifiers.
•    Search, navigate and edit reference data files distributed publicly, including ISO 15926-4, JORD/PCA RDL and ISO 15926-8 templates,
… or any other ISO 15926 files you like.
•    Create from scratch your own reference classes and templates (or project data including template instances),
… in forms ready for file exchange or upload to triple store,
… generating URI in your namespaces using UUID compliant with RFC 4122 / ITU-T X.667 / ISO/IEC 9834-8,
•    Build complex data project from local files and endpoints, bringing reference data, template definitions and project data together for integrated navigation and verification, customizing namespaces and meta-data attributes.
•    Design and run intricate semantic queries or whole data mining and data verification algorithms for ISO 15926 data,
… using the power of Python general purpose programming language through full-featured REPL environment,
… and accessing APIs of various .15926 Platform components to read, analyze and change reference and project data.
•    Visualize broad set of predefined data patterns and search for patterns in your data.
•    Make conversion of reference and project data from TabLan.15926 data description tables (.xlsx) to ISO 15926.
•    Import reference data from JSON files created by engineering catalog application (third party).
•    Explore (with somewhat limited capabilities) large datasets of non ISO 15926 data,
… OpenCYC knowledge base, for example.

This is how .15926 Editor recognize and show ontology patterns in JORD reference data library:

Most of the contemporary ontology-related applications suppose point-and-click interface, but .15926 Editor combine easy multi-window mouse clicking with the power of interactive text-based Python query exploration and creation of ISO 15926 data. Assume you have a need to send an email to a colleague with designations of all reference data entities on JORD RDL which are instances of Scale and have “celsius” in their labels. It can be done with this script in Python console of .15926 Editor:

outfile = file(‘scales_celsius.txt’, ‘w’)

scales=find(type=part2.Scale, label=icontains(‘celsius’))

for entity in scales:

    designations=find(id=entity, hasDesignation=out)

    for property in designations:

       outfile.write(entity+’ : ‘+property+’\n’)

outfile.close()

Results will be in scales_celsius.txt file in the main program folder.

Or let’s analyze patterns of data in RDL to identify all possible instances of the p7tpl template ClassOfCauseOfBeginningOfClassOfIndividual and form list of possible signatures in a separate file. Run the following script:

outfile = file(‘COCOBOCOI_sign.txt’, ‘w’)

begun=find(type=part2.ClassOfCauseOfBeginningOfClassOfIndividual, hasClassOfBegun=out)

for elem1 in begun:

    causer=find(hasClassOfBegun=elem1, hasClassOfCauser=out)

    for elem2 in causer:

       outfile.write(‘ClassOfCauseOfBeginningOfClassOfIndividual(‘+elem1+’,'+elem2+’)\n’)

outfile.close()

and look for COCOBOCOI_sign.txt  file in the main program folder.

The Editor as an example of .15926 Platform application is not designed to support any particular data integration workflow for specific engineering life cycle processes. Specific applications that take care of diversity of specific CAD/CAM/PLM/ERP/EAM/CRM/etc. data format and support needed format-specific Readers and Writers should be built on .15926 Platform with usage of it semantic graph Builder API (for Readers) and semantic graph Scanner API (for Scanners) that supported by the Platform. Mapping components are integrated in .15926 Platform environment as Python modules, with possibility to access external or internal pattern mapping descriptions and direct access to APIs of source/target data bases.

Russian and English language community for .15926 discussions now have more than 100 subscribers: http://dot15926.livejournal.com/

Slides of my presentation on Ontology Summit 2012 session on System Integration and Federation (http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2012_03_01):

Actually I was co-chaired the session, along with Cory Casanave. Me and Cory also champions of the Summit System Integration and Federation Track. This was very interesting experience.

Ontology Summit is an organized thinking machine that work from January to April every year to brain-storm one of a topic of interest for ontology engineering community. Ontology Summit producing a special artifact: Communique with results of the brain-storming and discussion. One more outcome is synchronization of understanding of the topic of interest by ontology engineering community, but this outcome is intangible.

Summit Communique will be endorsed by Summit participants and broader community and then will be open published on a website (past Communiques: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit) and in “Applied Ontology” journal, the premier journal in the field of Formal Ontology for information systems. Communique has co-lead Editors and track champions as editors. Producing of Communique as a final stage of year’s Summit is a main task of Summit participants meeting in person for 2 days long “Workshop and Symposium” in USA (at a NIST place). Workshop and Symposium at NIST place has possibility of virtual presence (it is “virtureal”) of those participants that cannot be present in person. This symposium has co-chairs. Ontology Summit has general co-chairs.

Year’s topic is decomposed to 3-7 facets/aspects that intensively discussed separately. Such a facet is called “track”. Summit tracks discussion is facilitated by Track Champions and have wiki page “Track Synthesis” as a main outcome artifact. Track Synthesis page (for our Track this is http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2012_SystemsFederationIntegration_Synthesis)  is edited by track champions on a basis of:

Track champions also serve as co-editors for Communique that will comprise of major ideas of Track Synthesis pages of all Tracks.

General Summit co-chairs is responsible for thematic integrity of all Tracks and Workshop and Symposia to provide needed scrutiny to Summit topic.

Every track have one or more online 2-hours Sessions that is comprised of 3-6 short slide presentations on track topics, group chat and Q&A session with a panel of presenters. Audio, slides, chat transcripts and survey results will be published and used by track champions to prepare Track Synthesis. Every separate Session usually have two co-chairs. Session co-chairs are responsible for inviting leading experts on relevant areas relevant to the session topic as speakers, and facilitation of chat and moderate discussion among the panelists and other session participants.

Overall process leads by Organizing Committee that comprised of track champions, workshop and symposium co-chairs, lead co-editors, general Summit co-chairs. Also Organizing Committee has representatives of current six Ontology Summit organizers (Ontolog, NIST, NCOR, NCBO, IAOA, NCO_NITRD) and PR champion.

All the logistics and overall organizing work in “virtual” part of Summit (i.e. tracks and virtual part of Workshop and Symposium) is coordinated by a designate from the Ontolog Forum that acting on behalf and for Organizing Committee. The same organization/logistics function for real part of Workshop and Symposium is similarly provided by a coordinator designated by NIST.

Thus ideas on current Summit topic flow from

  • Ontology Summit discussion list to
  • Track Sessions presentations, panel discussion and chat; surveys and polls, Delphi study to
  • Track Input pages (for all Sessions and surveys) to
  • Track Synthesis pages to
  • Workshop and Symposia final discussions to
  • publishable Communique of a Summit.

My slides for second session of systems engineering track of Ontology Summit 2012 (it was published as additional slides here – http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2012_02_02 ):

My remark in this session was necessity to add methodologists (situational method engieers) to systems engineers and ontologists. Ontologists are not methodologists and thus need professional help to understand what is systems engieering method. We heavily use situational method engineering standards (e.g. ISO 24744) to understand what is systems engineering as a method of work. And after that we can start ontology work with systems engineering.

Today I deliver a talk “Ontology Engineering for Systems Engineering” at one of the session of Ontology Summit — http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2012_01_26

My slides:

This talk was about 20 minutes in English, but yesterday I presented the same topic at INCOSE Russian Chapter meeting about 3 hours (in Russian, with video: http://incose-ru.livejournal.com/32094.html).

Follow

Get every new post delivered to your Inbox.