OntoDL: Unterschied zwischen den Versionen

Aus CTS2-LE
Zur Navigation springen Zur Suche springen
(About OntoDL)
K
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
The name has changed and so did the site: [[Ontologies with Style(s)]]
 +
 
== About OntoDL ==
 
== About OntoDL ==
  
 
OntoDL is a language for defining structured vocabularies - from simple value sets up to complex ontologies. The editor for writing OntoDL programs is MS Word. OntoDL progams are executed by an interpreter that is implemented as a MS Word makro.
 
OntoDL is a language for defining structured vocabularies - from simple value sets up to complex ontologies. The editor for writing OntoDL programs is MS Word. OntoDL progams are executed by an interpreter that is implemented as a MS Word makro.
  
While OntoDL commands are embedded into any MS Word document, the specification of a vocabulary is also the documentation of the vocabulary. For making OntoDL look like "normal" MS Word texts, OntoDL commands can be linked to style sheets. The OntoDL interpreter implicitly executes the commands assigned to a style sheet whenever it discovers a line of text within a document that if formatted using this style sheet.
+
While OntoDL commands are embedded into any MS Word document, the specification of a vocabulary is also the documentation of the vocabulary. For making OntoDL look like "normal" MS Word texts, OntoDL commands can be linked to style sheets. The OntoDL interpreter implicitly executes the commands assigned to a style sheet whenever it discovers a line of text within a document that if formatted using this style sheet. By this you can e.g. advise the interpreter to consider headline hierarchies as hierarchies of concepts.
  
=== A simple Example ===
+
;[[OntoDL Introduction: A First Example|A First Example]]
Below a first and very simple example is given how an OntoDL terminology definition looks like. The medium colum of the table below shows the text as it appears in the MS Word document. The left column shows the style sheets for formatting each of the paragraphs of the text. The right colum gives some short comment on how the OntoDL interpreter acts on the paragraph.
+
:This example gives an impression how a typical OntoDL code system definition looks like.
 +
;[[OntoDL Introduction: FHIR, CTS2, CTS2-LE and OntoDL|FHIR, CTS2, CTS2-LE and OntoDL]]
 +
:Learn how OntoDL fully builds upon standards and works together with the CTS2-LE terminology server.
 +
;[[OntoDL Introduction: Installation and Setup|Installation and Setup]]
 +
:OntoDL runs from within your MS Word. Make sure you have all required libraries properly installed.
  
<hr>
+
== OntoDL Core Concepts ==
{|
+
OntoDL is two interpreter languages in one. Under the hood there is a powerful but simple OntoDL Object Language (OOL) that allows to define arbitrary complex ontologies using a small set of OntoDL statements. You may write OntoDL programs in this language but mostly you will instead rather write some small macros in the OntoDL Macro Language (OML). Such macros define how common means of MS Word like style sheets and heading levels map onto the OntoDL Object Language. E.g. with a one-line-macro you can define that a level-2-headline shall define a ''codesystem'' object in the OntoDL Object Language with the name and URI of the codesystem povided in the headline text.
|-
 
! style="text-align:left" | Style Sheet !! &nbsp;&nbsp;&nbsp;&nbsp; !! style="text-align:left" | Text !! &nbsp;&nbsp;&nbsp;&nbsp; !! style="text-align:left" | ''Comment''
 
|-
 
| OntoDL                     || ||style="background:#fff588"| <font face="courier">#heading 1 codesystem .Name ( .URN )</font> || || ''Direct the OntoDL interpreter to consider all level-1-headings as code system definitons.''
 
|-
 
| OntoDL                      || ||style="background:#fff588"| <font face="courier">#heading 2-5 concept .Name </font> || || ''Direct the OntoDL interpreter to consider all level-2 to level-5-headings as a hierarchy of concept definitons.''
 
|-
 
| Überschrift 1              || ||style="background:#fff588"| '''Body Parts (http://sample.com/bodyparts)''' || || ''A codesystem named "Body Parts" is defined.''
 
|-
 
| OntoDL.Description          || ||style="background:#fff588"| This codesystem provides concepts for the parts of the body. || || ''The description of the code system. The formatting of the style sheet OntoDL.Description can be defined by the document author.
 
|-
 
| Überschrift 2              || ||style="background:#fff588"| '''organs''' || || ''A concept "organs" is defined within the codesystem "Body Parts"''
 
|-
 
| Überschrift 3              || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;'''heart''' || || ''A concept "heart" is defined as a subconcept to "organs"''
 
|-
 
| OntoDL.Definition          || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;The heart pumps blood through the body. || || ''A description is assigned to the concept "heart"''
 
|-
 
| OntoDL.Designation[lang=de] || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;''Herz'' || || ''A German translation is given.''
 
|-
 
| Überschrift 3              || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;'''kidney''' || || ''A concept "kidney" is defined as a subconcept to "organs"''
 
|-
 
| Überschrift 2               || ||style="background:#fff588"| '''extremity''' || || ''A concept "extremity" is defined within the codesystem "Body Parts"''
 
|-
 
| Überschrift 3              || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;'''arm''' || || ''A concept "arm" is defined as a subconcept to "extremity"''
 
|-
 
| Überschrift 3              || ||style="background:#fff588"| &nbsp;&nbsp;&nbsp;&nbsp;'''leg''' || || ''A concept "leg" is defined as a subconcept to "extremity"''
 
|}
 
<hr><p>
 
 
 
=== CTS2, FHIR, CTS2-LE and OntoDL ===
 
 
 
=== Installation and Setup ===
 
  
== OntoDL Core Concepts ==
+
;[[OntoDL Core Cncepts: Directives vs. Statements|Directives vs. Statements]]
=== OntoDL Objects ===
+
:Learn more about the two languages that make up OntoDL and how they are interlaced to simplify the definition of ontologies.
=== Directives vs. Statements ===
+
;[[OntoDL Core Concepts: OntoDL Objects|OntoDL Objects]]
 +
:Learn more about objects and properties and OntoDL features for customizing these to your demands.
  
 
== OntoDL Tutorial ==
 
== OntoDL Tutorial ==
=== Defining Terminologies and Concepts ===
+
;Defining a Terminology&#058; From OOL to OML
* Defining a Terminology
+
:This initial course shows how to define a simple terminology. Starting with plain OOL, step-by-step additional OML means are applied in order to make the terminology definition look like a ordinary MS Word document.
* Refining Concept Definitions
+
:Lessons: [[OntoDL Tutorial: Defining a Terminology|Defining a Terminology]], [[OntoDL Tutorial: Setting Properties (Part 1)|Setting Properties (Part 1)]], [[OntoDL Tutorial: Mapping Concept Hierarchies onto Word Sections|Mapping Concept Hierarchies onto Word Sections]], [[OntoDL Tutorial: Using Defaults (Part 1)|Using Defaults (Part 1)]], [[OntoDL Tutorial: Mapping Properties onto Style Sheets|Mapping Properties onto Style Sheets]], [[OntoDL Tutorial: Defining Custom Properties|Defining Custom Properties]]
* Using Heading Templates
+
;Linking Concepts&#058; From Value Sets to Ontologies
* Using Custom Style Sheets
+
:The second course shows how concepts from external code systems (e.g. ICD-10 or SNOMED CT) can be used in OntoDL. Starting with the setup of a value set based on existing concepts this section closes with the definition of an ontology that includes manifold links among concepts from different code systems.
=== Defining Custom Properties ===
+
:Lessons: [[OntoDL Tutorial: Using an External Code System|Using an External Code System]], [[OntoDL Tutorial: OntoDL Global Objects|OntoDL Global Objects]], [[OntoDL Tutorial: Defining a Value Set|Defining a Value Set]], [[OntoDL Tutorial: Linking Concepts|Linking Concepts]], [[OntoDL Tutorial: Using Defaults (Part 2)|Using Defaults (Part 2)]], [[OntoDL Tutorial: Setting Properties (Part 2)|Setting Properties (Part 2)]]
=== Using Existing Terminologies ===
+
;Hiding it All&#058; From Patterns to Programing
* Using the CTS2LE Global Object
+
:The third course shows how you can use OntoDL features to fully hide away OntoDL behind commom MS Word elements. Starting with further text replacement directives, this section stepwise goes into programing your own macros for processing MS Word styles.
* Using Patterns
+
:Lessons: Using Patterns (Part 1), The Power of Obligations (Part 1), Defining your own Macro, Setting Properties (Part 3), Generating a Code Hierarchy
* Defining a Value Set
 
=== Defining Concept Relationships ===
 
=== Using Objects ===
 
* Defining an untyped Object
 
* Assigning Objects to Attributes
 
=== More Features ===
 
* Defining Obligations
 
* Using Defaults
 
* Using Hyperlinks for Steering the Tokenizer
 
* Synonyms and Fully Specified Names
 
* Defining and Using OntoDL Functions
 
* Using Globally Defined Objects
 
 
 
  
 
== OntoDL Language Reference ==
 
== OntoDL Language Reference ==
 +
This section provides links to the full OntoDL language reference that gives full definition for all OntoDL statements, directives, types and objects.
  
The OntoDL language consists of three kinds of commands:
+
;[[OntoDL Syntax|OOL Syntax Overview]]  
* OntoDL Statements: ...
+
:This overview shows the complete OntoDL language syntax on a single page.
* Style Sheet Directives: ...
 
* Tokenizer Directives: ...
 
 
 
=== OntoDL Statements ===
 
;[[OntoDL Statement: define|define]]
 
:define a new OntoDL object
 
;[[OntoDL Statement: set|set]]
 
:set the value of a named property of an identifiable object
 
;[[OntoDL Statement: default|default]]
 
:set a default value for a named property
 
;[[OntoDL Statement: Object Relationship|--''predicate''-->]]
 
:define a concept relationship
 
 
 
=== Style Sheet Directives ===
 
  
;[[OntoDL Style Sheet Directive: OntoDL.StyleName|OntoDL.''StyleName'']]
+
;[[OntoDL Object Language (OOL)|OntoDL Object Language (OOL)]]
:implicit assignment of a value to the property ''StyleName'' within the definiton scope of an OntoDL object
+
:'''OOL Language Reference:''' [[OntoDL Statement: Base Types|''Base Types'']] ;[[OntoDL Statement: define|''define'' statement]], [[OntoDL Statement: set|''set'' statement]], [[OntoDL Statement: default|''default'' statement]], [[OntoDL Statement: Object Relationship|''---->'' statement]]
;[[OntoDL Style Sheet Directive: style|#style]]
+
:'''OOL Object Types:''' [[OntoDL Object Type: codesystem|''codesystem'']], [[OntoDL Object Type: system|''system'']], [[OntoDL Object Type: concept|''concept'']], [[OntoDL Object Type: predicate|''predicate'']], [[OntoDL Object Type: property|''property'']], [[OntoDL Object Type: string|''string'']], [[OntoDL Object Type: collection|''collection'']], [[OntoDL Object Type: object|object]], [[OntoDL Object Type: type|type]]
:implicit assignment of a values - encoded within a text of a defined style sheet - to defined properties within the definition scope of an OntoDL object
+
:'''OOL System Objects:''' [[OntoDL System Object: CTS2LE|''CTS2LE'']], [[OntoDL System Object: OntoDL|''OntoDL'']], [[OntoDL System Object: FHIR|''FHIR'']]
;[[OntoDL Style Sheet Directive: heading|#heading]]
 
:binding of the scope of a heading to an OntoDL object definition with an implict assignment of values to properties of the defined object
 
;[[OntoDL Style Sheet Directive: obligation|#obligation]]
 
:trigger the execution of a set of commands and/or directives before or after text of a defined style sheet is processed
 
;[[OntoDL Style Sheet Directive: pattern|#pattern]]
 
:template-based transformation of a text that is formatted with a defined style sheet
 
  
=== Tokenizer Directives ===
+
;[[OntoDL Macro Language (OML)|OntoDL Macro Language (OML)]]
;[[OntoDL Tokenizer Directive: goto|#goto ... #return]]
+
:'''OML Style Sheet Directives:''' [[OntoDL Style Sheet Directive: OntoDL.StyleName|''OntoDL.StyleName'']], [[OntoDL Style Sheet Directive: heading|''#heading'' directive]], [[OntoDL Style Sheet Directive: obligation|''#obligation'' directive]], [[OntoDL Style Sheet Directive: pattern|''#pattern'' directive]], [[OntoDL Style Sheet Directive: table|''#table'' directive]]
:control how the OntoDL tokenizer scans through the document
+
:'''OML Tokenizer Directives:''' [[OntoDL Tokenizer Directive: goto|''#goto ... #return'']], [[OntoDL Tokenizer Directive: package|''#package ... #endpackage'']]
;[[OntoDL Tokenizer Directive: package|#package ... #endpackage]]
 
:define a named subroutine that can be linked to an obligation
 

Aktuelle Version vom 21. September 2016, 16:52 Uhr

The name has changed and so did the site: Ontologies with Style(s)

About OntoDL

OntoDL is a language for defining structured vocabularies - from simple value sets up to complex ontologies. The editor for writing OntoDL programs is MS Word. OntoDL progams are executed by an interpreter that is implemented as a MS Word makro.

While OntoDL commands are embedded into any MS Word document, the specification of a vocabulary is also the documentation of the vocabulary. For making OntoDL look like "normal" MS Word texts, OntoDL commands can be linked to style sheets. The OntoDL interpreter implicitly executes the commands assigned to a style sheet whenever it discovers a line of text within a document that if formatted using this style sheet. By this you can e.g. advise the interpreter to consider headline hierarchies as hierarchies of concepts.

A First Example
This example gives an impression how a typical OntoDL code system definition looks like.
FHIR, CTS2, CTS2-LE and OntoDL
Learn how OntoDL fully builds upon standards and works together with the CTS2-LE terminology server.
Installation and Setup
OntoDL runs from within your MS Word. Make sure you have all required libraries properly installed.

OntoDL Core Concepts

OntoDL is two interpreter languages in one. Under the hood there is a powerful but simple OntoDL Object Language (OOL) that allows to define arbitrary complex ontologies using a small set of OntoDL statements. You may write OntoDL programs in this language but mostly you will instead rather write some small macros in the OntoDL Macro Language (OML). Such macros define how common means of MS Word like style sheets and heading levels map onto the OntoDL Object Language. E.g. with a one-line-macro you can define that a level-2-headline shall define a codesystem object in the OntoDL Object Language with the name and URI of the codesystem povided in the headline text.

Directives vs. Statements
Learn more about the two languages that make up OntoDL and how they are interlaced to simplify the definition of ontologies.
OntoDL Objects
Learn more about objects and properties and OntoDL features for customizing these to your demands.

OntoDL Tutorial

Defining a Terminology: From OOL to OML
This initial course shows how to define a simple terminology. Starting with plain OOL, step-by-step additional OML means are applied in order to make the terminology definition look like a ordinary MS Word document.
Lessons: Defining a Terminology, Setting Properties (Part 1), Mapping Concept Hierarchies onto Word Sections, Using Defaults (Part 1), Mapping Properties onto Style Sheets, Defining Custom Properties
Linking Concepts: From Value Sets to Ontologies
The second course shows how concepts from external code systems (e.g. ICD-10 or SNOMED CT) can be used in OntoDL. Starting with the setup of a value set based on existing concepts this section closes with the definition of an ontology that includes manifold links among concepts from different code systems.
Lessons: Using an External Code System, OntoDL Global Objects, Defining a Value Set, Linking Concepts, Using Defaults (Part 2), Setting Properties (Part 2)
Hiding it All: From Patterns to Programing
The third course shows how you can use OntoDL features to fully hide away OntoDL behind commom MS Word elements. Starting with further text replacement directives, this section stepwise goes into programing your own macros for processing MS Word styles.
Lessons: Using Patterns (Part 1), The Power of Obligations (Part 1), Defining your own Macro, Setting Properties (Part 3), Generating a Code Hierarchy

OntoDL Language Reference

This section provides links to the full OntoDL language reference that gives full definition for all OntoDL statements, directives, types and objects.

OOL Syntax Overview
This overview shows the complete OntoDL language syntax on a single page.
OntoDL Object Language (OOL)
OOL Language Reference: Base Types ;define statement, set statement, default statement, ----> statement
OOL Object Types: codesystem, system, concept, predicate, property, string, collection, object, type
OOL System Objects: CTS2LE, OntoDL, FHIR
OntoDL Macro Language (OML)
OML Style Sheet Directives: OntoDL.StyleName, #heading directive, #obligation directive, #pattern directive, #table directive
OML Tokenizer Directives: #goto ... #return, #package ... #endpackage