DDHub-Semantic-Interoperability

Vocabulary development. Guidelines and definitions

The vocabulary development consists in enumerating the nouns and verbs that can be used to construct a semantic graph. The semantic graph enables detailed contextualization of the drilling real-time signals available during drilling operations.

As seen from a graph perspective:

Remark: The templates have been slightly modified: we don’t edit the links anymore. They are now edited automatically. The results ofthe automatic edition can be found under the auto-generated folder.

We use markdown to write the documents. Information about the langage can be found there. Inclusion of figures is dones using the following template:

![Label](relative path to the image)

Definition set files

The vocabulary definitions are split among several files, to facilitate the edition. Each file is called a Definition set file. It is possible to provide an overall description of the topic covered by a single file. The name of the topic is extracted from the file name. The overall structure of such a file is as follows:

- Description:

# NOUNS

# VERBS

Below is an example, taken from the DWISSemantics.md file:

- Description: definitions of the base noun and verb. All verbs and nouns in the DWIS vocabulary are children of those. 

# NOUNS
## DWISNoun <!-- NOUN -->
- Display name: DWIS noun
- Parent class: 
- Attributes:
- Specialization:
- Description: 
- Examples:

# VERBS
## DWISVerb <!-- VERB -->
- Display name: DWIS verb
- Parent verb: 
- Subject class: DWISNoun
- Object class: DWISNoun
- Description: 
- Examples: 

Nouns

A noun is fully characterized by:

Name

The identification name of the noun. It should ideally follow some notational convention.

Display name

A variant of the name used for pretty printing of the noun. It can have a more human friendly syntax.

Parent relation

There can be relations between nouns. We only consider sub-typing relations. Each noun is associated to a (unique) parent. Circular parenting is not permitted. There is a common ancestor to all nouns: DWISNode. One can therefore derive a tree structure from the nouns. The parent relation should be consistent with the is a relation. For example, if the DeadlineHookload noun has parent the Hookload noun, then consistency is in place. When asserting that a signal s is a DeadlineHookload, one implicitely asserts that s is a Hookload, which is true. A contrario, stating the the noun TopDriveShaft has parent noun TopDrive is erroneous: if an element e is a TopDriveShaft, then one implicitely asserts that e is also a TopDrive, which is false. In this example, using the parent relation between TopDriveShaft and TopDrive is not correct. One should instead use a is made of relation, or something similar.

Attributes

Nouns can define a set of attributes. An attribute is characterized by:

Specialization values

Description

Examples

Template

Below is an empty template that can be used to define a new noun.

## NounName <!-- NOUN -->
- Display name: MechanicalElementState
- Parent class: Noun name
- Attributes:
  - AttributeName
    - Type: bool
    - Description: 
- Specialization:
  - AttributeName = default value
- Description: 
- Examples:

Below is an example:

## HighPassFilter <!-- NOUN -->
- Display name: HighPassFilter
- Parent class: Filter
- Attributes:
  - CutOffFrequency
    - Type: double
    - Description: 
- Specialization:
- Description: 
- Examples:

## Verbs Verbs are used to connect nodes in the graph. Verbs are identified by their name, and do not support parametrization. A verb is characterized by:

Template

## VerbName <!-- VERB -->
- Display name: verb display name
- Parent verb: verb name
- Subject class: Noun name
- Object class: Noun name
- Description: 
- Examples: 

Below is an example:

## IsResampledBy <!-- VERB -->
- Display name: IsResampledBy
- Parent verb: IsTransformationOutput
- Subject class: DrillingDataPoint
- Object class: Resampling
- Description: 
- Examples: 

Examples

It ispossible to write down example, to illustrate the intended usage of the introduced nouns and verbs. Both verbs and nouns templates have an example field, and the syntax will be similar. An example is characterized by:

- Examples:
  - Example name
    - NounName1:instanceName1 //declaration of the first instance
    - NounName2:instanceName2 //declaration of the second instance    
    - NounName3:instanceName3 //declaration of the third instance
    - ...
    - instanceName1 verbs1 instanceName1 //the first sentence
    - instanceName2 verb2 instanceName2 //the second sentence

For example:

- Examples:
  - Downhole ECD example
    - DrillingDataPoint:downholeECD 
    - PressureToEquivalentDensityTransformation:trans 
    - DrillingDataPoint:downholePressure 
    - downholePressure isTransformationInput trans 
    - downholeECD isTransformationOutput trans 
  - Downhole ECD example with TVD
    - DrillingDataPoint:downholeECD 
    - DrillingDataPoint:TVD
    - PressureToEquivalentDensityTransformation:trans 
    - DrillingDataPoint:downholePressure 
    - downholePressure isTransformationInput trans 
    - TVD isTransformationInput trans 
    - downholeECD isTransformationOutput trans 

Categories

Open Questions

Questions are discussed here