OntoDL: Unterschied zwischen den Versionen

Aus CTS2-LE
Zur Navigation springen Zur Suche springen
(OntoDL Language Reference)
K
 
(10 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 ==
  
Zeile 13: Zeile 15:
  
 
== OntoDL Core Concepts ==
 
== OntoDL Core Concepts ==
OntoDL is two interpreter languages in one. Under the hood there is a powerful but simple OntoDL Object Language 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. 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.
+
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.
  
 
;[[OntoDL Core Cncepts: Directives vs. Statements|Directives vs. Statements]]
 
;[[OntoDL Core Cncepts: Directives vs. Statements|Directives vs. Statements]]
 
:Learn more about the two languages that make up OntoDL and how they are interlaced to simplify the definition of ontologies.
 
:Learn more about the two languages that make up OntoDL and how they are interlaced to simplify the definition of ontologies.
 
+
;[[OntoDL Core Concepts: OntoDL Objects|OntoDL Objects]]
=== OntoDL Objects ===
+
:Learn more about objects and properties and OntoDL features for customizing these to your demands.
In OntoDL everything is an object that has a name and a type. Depending on its type, an object has various properties defined. E.g. if you want to create a terminology named "Animales", you will define an object "Animals" of type ''codesystem'' and set that object's properties - e.g. a description or a version number - to proper values. Within that terminology you can then define a hierarchy of concept objects, e.g. representing "mamals", "lions", etc. Again each object has properties that can be set to describe the semantics and representation of the object.
 
  
 
== OntoDL Tutorial ==
 
== OntoDL Tutorial ==
=== Defining Terminologies and Concepts ===
+
;Defining a Terminology: From OOL to OML
In this section the most important language features of OntoDL are explained. In order to make this more comprehensive, a holistic example will be used that shows how OntoDL can be used to easily define semantics-rich structured terminologies for a hospital.  
+
: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.
* [[OntoDL Tutorial: Defining a Terminology|Defining a Terminology]]
+
: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]]
* Refining Concept Definitions
+
;Linking Concepts: From Value Sets to Ontologies
* Using Heading Templates
+
: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.
* Using Custom Style Sheets
+
: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)]]
 
+
;Hiding it All: From Patterns to Programing
=== Defining Custom Properties ===
+
: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.
* Defining and Using a Custom Property
+
:Lessons: Using Patterns (Part 1), The Power of Obligations (Part 1), Defining your own Macro, Setting Properties (Part 3), Generating a Code Hierarchy
* Using the _parent Property
 
 
 
=== Using Existing Terminologies ===
 
* Using the CTS2LE Global Object
 
* Using Patterns
 
* Defining a Value Set
 
=== Defining Concept Relationships ===
 
* Defining and using a predicate-object
 
* Using default target systems for 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.
=== OntoDL Object Language (OOL) ===
 
  
 
;[[OntoDL Syntax|OOL Syntax Overview]]  
 
;[[OntoDL Syntax|OOL Syntax Overview]]  
 +
:This overview shows the complete OntoDL language syntax on a single page.
  
==== OntoDL Object Language (OOL) Statements ====
+
;[[OntoDL Object Language (OOL)|OntoDL Object Language (OOL)]]
;[[OntoDL Statement: define|define]]
+
:'''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]]
:define a new OntoDL object
+
:'''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]]
;[[OntoDL Statement: set|set]]
+
:'''OOL System Objects:''' [[OntoDL System Object: CTS2LE|''CTS2LE'']], [[OntoDL System Object: OntoDL|''OntoDL'']], [[OntoDL System Object: FHIR|''FHIR'']]
: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
 
 
 
All OOL Statements build uopn a small set of [[OntoDL Statement: Base Types|'''Base Types''']].
 
 
 
==== OntoDL Object Language (OOL) Object Types ====
 
;[[OntoDL Object Type: codesystem|codesystem]]
 
:object representing the OntoDL definition of an ontology, terminology or value set
 
;[[OntoDL Object Type: system|system]]
 
:object representing an externally defined ontology, terminology or value set
 
;[[OntoDL Object Type: concept|concept]]
 
:object representing a concept (internally or externally defined)
 
;[[OntoDL Object Type: predicate|predicate]]
 
:object representing the definition of a predicate that defines a relationship between two concepts
 
;[[OntoDL Object Type: property|property]]
 
:object representing the definition of a property to an object
 
;[[OntoDL Object Type: string|string]]
 
:object representing a text, name, URI, etc.
 
;[[OntoDL Object Type: collection|collection]]
 
:object representing a set of objects
 
 
 
==== OntoDL Object Language (OOL) System Objects ====
 
;[[OntoDL System Object: CTS2LE|CTS2LE]]
 
:system object for configuring how OntoDL interacts with a CTS2LE terminology server
 
;[[OntoDL System Object: OntoDL|OntoDL]]
 
:system object for configuring the OntoDL Interpreter
 
;[[OntoDL System Object: FHIR|FHIR]]
 
:system object for controlling how the OntoDL Interpreter transforms your document to a set of FHIR resources
 
 
 
=== OntoDL Macro Language (OML)  ===
 
 
 
==== OML Style Sheet Directives ====
 
;[[OntoDL Style Sheet Directive: OntoDL.StyleName|OntoDL.''StyleName'']]
 
:implicit assignment of a value to the property ''StyleName'' within the definiton scope of an OntoDL object
 
;[[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
 
  
==== OML 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