@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

@prefix sw:     <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix skos:   <http://www.w3.org/2004/02/skos/core#> .
@prefix vann:   <http://purl.org/vocab/vann/> .
@prefix voaf:   <http://purl.org/vocommons/voaf#> .
@prefix dce:    <http://purl.org/dc/elements/1.1/> .
@prefix dct:    <http://purl.org/dc/terms/> .
@prefix widoco:	<https://w3id.org/widoco/vocab#>.
@prefix vaem:   <http://www.linkedmodel.org/schema/vaem#>.

@prefix resource: <https://ontology.flandersmake.be/resource/ontology#> .
@prefix product:  <https://ontology.flandersmake.be/product/ontology#> .
@prefix routing:  <https://ontology.flandersmake.be/routing/ontology#> .
@prefix event:    <https://ontology.flandersmake.be/event/ontology#> .

@prefix scenario: <https://ontology.flandersmake.be/scenario/ontology#> .
@base             <https://ontology.flandersmake.be/scenario/ontology#> .
@prefix :         <https://ontology.flandersmake.be/scenario/ontology#> .

###############################################################################
# Scenario ontology
###############################################################################

<https://ontology.flandersmake.be/scenario/ontology> 
    rdf:type owl:Ontology ;
    vann:preferredNamespaceUri    "https://ontology.flandersmake.be/scenario/ontology#" ;
    vann:preferredNamespacePrefix "scenario" ;
    owl:versionIRI <https://ontology.flandersmake.be/scenario/ontology/1.0.1>;
    owl:versionInfo "1.0.3" ;
    rdfs:label "The Scenario ontology"@en ;
    rdfs:comment "An ontology of a context for manufacturing decisions, allowing performance calculations under uncertainty";
    dct:created  "2025-01-01"^^xsd:date ;
    dct:modified "2026-03-18"^^xsd:date ;
    dct:issued   "2026-02-27"^^xsd:date ;
    dce:title "The Scenario ontology"@en ;

    dce:abstract '''
The Scenario ontology is a vocabulary for expressing manufacturing or planning decisions
in some context as a factory for a period or a time. Decisions are Routings triggering Product consumption or production and Resource reservation. An Outcome is a Scenario associated with Predicition(s) and provides expected values for uncertain Product flows and Resource (un)availabilities.
'''@en;

    widoco:introduction '''
Manufacturing decisions need to be managed in some context before being executed on the floor. This allows to compare different sets of decisions for example.

Such a context is called `Scenario`. This can for instance be a week for a factory. For that week and that factory, the planning decisions might be:
- amount of production for a process
- amount of products transported from a location to another location
- amount of material ordered to a supplier
'''@en;

    dce:description '''
The following concepts are implemented in this ontology.

### Abstract concepts:
- **AbstractScenario**: a context holding planning decisions.
- **AbstractRouting**: a Routing in the context of a Scenario, holding the quantity planned (decision).
- **AbstractProduct**: a Product in the context of a Scenario.
- **AbstractResource**: a Resource in the context of a Scenario.


```mermaid
classDiagram
    AbstractScenario o--> AbstractProduct: product
    class AbstractProduct:::abst {
        routingFlow: real
    } 
    AbstractProduct --> Product

    AbstractScenario o--> AbstractResource: resource
    class AbstractResource:::abst {
        routingReservation: real
        capabilityContributionReservation: real
    } 
    AbstractResource --> Resource

    class AbstractScenario:::abst  
    AbstractScenario o--> AbstractRouting: routing
    class AbstractRouting:::abst {
        quantity: real
    } 
    AbstractRouting --> Routing

    AbstractScenario o--> AbstractCapabilityContribution
    class AbstractCapabilityContribution:::abst {
        quantity: real
    } 
    AbstractCapabilityContribution --> CapabilityImplementation
    CapabilityImplementation --> Capability : provided

    AbstractScenario o--> AbstractCapability: capability
    class AbstractCapability:::abst {
        quantityProvided: real
        quantityRequired: real
    } 
    AbstractCapability --> Capability


    classDef default fill:white,color:black
    classDef abst fill:#bae1ff ,color:black
    classDef scen fill:#f96,color:black
    classDef pred fill:#e9edc9,color:black
    classDef reaz fill:#e1c8ea,color:black
```

As a function of those planned quantities (AbstractRouting.quantity), the AbstractScenario will calculate for every Product the resulting flow (production or consumption): the routingFlow. Similarly, the AbstractScenario will calculate for every Resource the resulting reservation: the routingReserveration.

### Base Concepts:
- **Scenario**: an environment for decisions, as for instance a time-frame for an organization
- **Prediction**: beliefs over events, conditional probabilities on their outcomes 
- **Realization**: a Prediction, with possibly stated outcomes for some Events 
- **Outcome**: an Outcome associates a Scenario with Realization(s), and provides expected values for this Scenario and this Prediction, such as KPI values.

```mermaid
classDiagram
    class AbstractScenario:::abst  

    AbstractScenario <|-- Scenario
    class Scenario:::scen  

    AbstractScenario <|-- Outcome
    Scenario o--> Outcome
    class Outcome:::pred {
        kpis
    }
 
    Outcome --> "0 .. *" Realization
    Prediction "1" <-- Realization
    class Realization {
        statedOutcomes
    }

    classDef default fill:white,color:black
    classDef abst fill:#bae1ff ,color:black
    classDef scen fill:#f96,color:black
    classDef pred fill:#e9edc9,color:black
    classDef reaz fill:#e1c8ea,color:black
```

### Indicator

An Indicator is a property of an Outcome, providing information about the Outcome (e.g. about its performance)

```mermaid
classDiagram
    direction RL
  
    namespace upperOntology {
        class Indicator:::pred  
        class DatatypeProperty
    } 
    namespace domainOntology {
        class anIndicator:::pred  
        class Outcome:::pred  
        class decimal
    }

    DatatypeProperty <|-- Indicator

    anIndicator --> Indicator: type
    anIndicator --> Outcome: domain
    anIndicator --> decimal: range

    classDef default fill:white,color:black
    classDef abst fill:#bae1ff ,color:black
    classDef scen fill:#f96,color:black
    classDef pred fill:#e9edc9,color:black
    classDef reaz fill:#e1c8ea,color:black
```

Note that the Outcome may accept several Realization/Predictions, for mutually disjoint set of Events. Events of different Predictions must be independent.

### Detail concepts: Product and Routing:

- events:
  - **ProductFlowEvent**: an uncertain flow of Product (sale, supply)
  - **ResourceEventUnavailability**: an uncertain unavailability of Resource (breakdown)

- scenario level concepts
  - **ScenarioRouting**: the level of a routing in the context of a Scenario: stated decisions
  - **ScenarioProduct**: the contextual information over a Product in context of a Scenario, such as the initial stock level
- outcome level concepts:
  - **OutcomeRouting**: the level of a routing in the context of a Outcome: derived decisions
  - **OutcomeProduct**: derived information over a Product as function of a Realization/Prediction and a Scenario
The Realization level is not implemented. See the comments on this repository README.md.

The domain is structured in 3 levels:
- the **domain** itself
- a **Product** (or a Resource) in this domain
- an **Event** for a Product in this domain

The planning cycle is structure in 3 phases
- the **Scenario**: the decisions
- the **Outcome**: expected consequences under uncertainty
- the **EventRealization**: a realized consequece with an associated probability, not displayed here below

This results in 3 x 3 = 9 concepts, 6 of them displayed below:
- in phase Scenario 
  - the scenario
  - a product in that scenario
  - an event for that product
- in phase Outcome
  - the outcome
  - a product in that outcome
  - an event for that product in that outcome

```mermaid
classDiagram
    Product --> ProductFlowEvent

    class ProductFlowEvent:::scen
    class Scenario:::scen  
    Scenario o--> ScenarioRouting: routing
    class ScenarioRouting:::scen {
        quantity: real
    } 
    ScenarioRouting --> RoutingDefinition
    Scenario o--> ScenarioProduct: product
    class ScenarioProduct:::scen {
        routingFlow: real
        stockInitial: real
    } 
    ScenarioProduct --> Product

    Scenario o--> Outcome
    class Outcome:::pred 
    Outcome o--> OutcomeRouting: routing
    class OutcomeRouting:::pred {
        quantity: real
    }
    OutcomeRouting --> ScenarioRouting

    Outcome o--> OutcomeProduct: product
    class OutcomeProduct:::pred {
        eventFlow: real
        routingFlow: real
        routingFlowTotal: real
        stockFinal: real
    }
    OutcomeProduct --> ScenarioProduct
    OutcomeProduct o--> OutcomeProductEvent: event
    class OutcomeProductEvent:::pred {
        flowExpected: real
    }
    OutcomeProductEvent --> ProductFlowEvent

    classDef default fill:white,color:black
    classDef scen fill:#f96,color:black
    classDef pred fill:#e9edc9,color:black
    classDef reaz fill:#e1c8ea,color:black
```
'''@en.  
   
###############################################################################
# abstract concepts
###############################################################################

# abstract scenario
scenario:AbstractScenario
    rdf:type owl:Class;
    rdfs:comment '''A context for Routing's'''@en.

# abstract product
scenario:product
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractScenario;
    rdfs:range scenario:AbstractProduct.

scenario:AbstractProduct
    rdf:type owl:Class;
    rdfs:comment '''A Product in the context'''@en.
   
scenario:productDefinition
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractProduct;
    rdfs:range product:Definition.

scenario:routingFlow
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''The balance of consumption/production of this Product (derived)'''@en.

# abstract resource
scenario:resource
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractScenario;
    rdfs:range scenario:AbstractResource.

scenario:AbstractResource
    rdf:type owl:Class;
    rdfs:comment '''A Resource in the context'''@en.
   
scenario:resourceDefinition
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractResource;
    rdfs:range resource:Definition.

scenario:routingReservation
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractResource;
    rdfs:range xsd:decimal;
    rdfs:comment '''The total usage (reservation) of this Resource in this context (derived)'''@en.

scenario:capabilityContributionReservation
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractResource;
    rdfs:range xsd:decimal;
    rdfs:comment '''The total usage (reservation) of this Resource contributing to the capabilities required in this contect (derived)'''@en.

# abstract routing
scenario:routing
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractScenario;
    rdfs:range scenario:AbstractRouting.

scenario:AbstractRouting 
    rdf:type owl:Class;
    rdfs:comment '''A Routing in the context'''@en.

scenario:routingDefinition
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractRouting;
    rdfs:range routing:Definition.

scenario:routingQuantity
    rdf:type owl:DatatypeProperty;
    rdfs:domain scenario:AbstractRouting;
    rdfs:range xsd:decimal;
    rdfs:comment '''The executed quantity of this Routing in this Scenario'''@en.

# abstract capability requirement/contribution
scenario:capability
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractScenario;
    rdfs:range scenario:AbstractCapability;
    rdfs:comment '''A capability in the context of a Scenario'''@en.

scenario:capabilityCapability
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractCapability;
    rdfs:range routing:Capability;
    rdfs:label "Capability"@en.

scenario:capabilityRequired
    rdf:type owl:DatatypeProperty;
    rdfs:domain scenario:AbstractCapability;
    rdfs:range xsd:decimal;
    rdfs:label "QuantityRequired"@en.

scenario:capabilityProvided
    rdf:type owl:DatatypeProperty;
    rdfs:domain scenario:AbstractCapability;
    rdfs:range xsd:decimal;
    rdfs:label "QuantityProvided"@en.

scenario:capabilityContribution
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractCapability;
    rdfs:range scenario:AbstractCapabilityContribution.

scenario:AbstractCapabilityContribution
    rdf:type owl:Class;
    rdfs:comment '''A capability contribution by some provider (supplier, resource) for some Capability in the context of a Scenario'''@en.
   
scenario:contributionQuantity
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractCapabilityContribution;
    rdfs:range xsd:decimal;
    rdfs:comment '''The total contribution in terms of unit implementations'''@en;
    rdfs:label "Quantity"@en.

scenario:contributionImplementation
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:AbstractCapabilityContribution;
    rdfs:range routing:CapabilityImplementation;
    rdfs:comment '''The contributing implementation, for some provider and some request'''@en;
    rdfs:label "Implementation"@en.

###############################################################################
# main concepts
###############################################################################

scenario:Scenario
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractScenario;
    rdfs:comment '''A set of decisions, possibly to be executed in some period and/or in some region/site'''@en.

scenario:scenarioRouting
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:routing;
    rdfs:domain scenario:Scenario;
    rdfs:range scenario:Routing.

scenario:Routing 
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractRouting;
    rdfs:comment '''A decision of executing a given Routing a given number of times (input)'''@en.

scenario:routingLeadingResource
    rdfs:type owl:ObjectProperty;
    rdfs:domain scenario:Routing;
    rdfs:range resource:Definition;
    rdfs:comment '''The Resource (if any) used to derive the uncertain quantity'''.

scenario:routingLeadingResourceFractionAvailabilityToUse
    rdfs:type owl:DatatypeProperty;
    rdfs:domain scenario:Routing;
    rdfs:range xsd:decimal;
    rdfs:comment '''The fraction of the available capacity to use (input)'''.

###############################################################################
# concepts related to Products
###############################################################################
scenario:scenarioProduct
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:product;
    rdfs:domain scenario:Scenario;
    rdfs:range scenario:ScenarioProduct.

scenario:ScenarioProduct
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractProduct;
    rdfs:comment '''A Rroduct in the context of a Scenario'''@en.
   
scenario:productStockInitial
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:ScenarioProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''The initila stock of this Product in this Scenario (input)'''@en.

###############################################################################
# concepts related to Resources
###############################################################################
scenario:scenarioResource
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:resource;
    rdfs:domain scenario:Scenario;
    rdfs:range scenario:ScenarioResource.

scenario:ScenarioResource
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractResource;
    rdfs:comment '''A Resource in the context of a Scenario'''@en.
   
scenario:resourceAvailabilityNominal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:ScenarioResource;
    rdfs:range xsd:decimal;
    rdfs:comment '''The nominal availability of this Resource in this Scenario (input)'''@en.

###############################################################################
# concepts related to Capabilities
###############################################################################
scenario:scenarioCapabilityContribution
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:capabilityContribution;
    rdfs:domain scenario:Scenario;
    rdfs:range scenario:ScenarioCapabilityContribution.

scenario:ScenarioCapabilityContribution
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractCapabilityContribution;
    rdfs:comment '''A Resource in the context of a Scenario'''@en.

###############################################################################
# Scenario events ontology
#    events are uncertain outcomes impacting the decisions of a Scenario
###############################################################################

# product event
scenario:ProductFlowEvent
    rdf:type owl:Class;
    rdfs:subClassOf event:ValueEvent;
    rdfs:comment '''An Event modeling uncertainty about a flow of Product (supplies, sales, demand)'''@en.

scenario:productFlowProduct
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:ProductFlowEvent;
    rdfs:range product:Definition.

# resource event
scenario:ResourceUnavailabilityEvent
    rdf:type owl:Class;
    rdfs:subClassOf event:ValueEvent;
    rdfs:comment '''An Evant modeling uncertainty about the unavailability of a Resource (breakdown, maintenance). '''@en.

scenario:resourceUnavailabilityResource
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:ResourceUnavailabilityEvent;
    rdfs:range resource:Definition.

###############################################################################
# Outcome of a Scenario (decisions) with a Realization (uncertainty)
#
# The Realization provides a Prediction, and possibly stated Events.
#       
# As a result of decisions taken and event realizations, following can be derived
#   - amount of :Flashlight
#     - produced on :cellA
#     - sold during the period
#     - in stock at the end of the period
#   - amount of :Lens
#     - received during the period
#     - used in the period
#     - in stock at the end of the period
#
# As a result of these derivations, KPI's will be derived (see following section)
###############################################################################

# Outcome and Realization
scenario:Outcome 
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractScenario.

scenario:outcomeScenario
    rdf:type owl:ObjectProperty;
    rdf:type owl:FunctionalProperty;
    rdfs:domain scenario:Outcome;
    rdfs:range scenario:Scenario.

scenario:outcomeRealization
    rdf:type owl:ObjectProperty;
    rdf:type owl:FunctionalProperty;
    rdfs:domain scenario:Outcome;
    rdfs:range event:PredictionRealization.

# outcome indicator
# Indicator members (read: indicators) have domain Outcome and domain decimal
#    rdfs:domain scenario:Outcome;
#    rdfs:range xsd:decimal.
scenario:Indicator
    rdfs:subClassOf owl:DatatypeProperty;
    rdfs:label "A performance indicator for the Outcome of the Scenario";
    rdfs:subClassOf [
        owl:onProperty rdfs:domain;
        owl:hasValue scenario:Outcome;
    ];
    rdfs:subClassOf [
        owl:onProperty rdfs:range;
        owl:hasValue xsd:decimal;
    ].


###############################################################################
# outcomeRouting
###############################################################################

scenario:outcomeRouting
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:routing;
    rdfs:domain scenario:Outcome;
    rdfs:range scenario:OutcomeRouting.

scenario:OutcomeRouting 
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractRouting;
    rdfs:comment "A Routing planned in the context of an Outcome, so in the context of Predictions".

###############################################################################
# outcomeProduct
###############################################################################

scenario:outcomeProduct
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:product;
    rdfs:domain scenario:Outcome;
    rdfs:range scenario:OutcomeProduct.

scenario:OutcomeProduct 
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractProduct.

scenario:outcomeProductDefinition
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range scenario:ScenarioProduct. 

scenario:outcomeProductStockBeforeUncertainRouting
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''Stock resulting from event and stated Routing's, before calculating derived Routing's'''@en.

scenario:outcomeProductRoutingFlowTotal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''Total of the flow resulting from the stated (Scenario) and derived (Outcome) Routing's'''@en.

scenario:outcomeProductStockAdjustment
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''Derived correction to keep the final stock positive'''.

scenario:outcomeProductStockFinal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range xsd:decimal;
    rdfs:comment '''Final stock, resulting for the routing flows and the event flows.'''.

scenario:outcomeProductEventFlowTotal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range xsd:decimal;
    rdfs:comment "The balance of Product due to product flow Event's"@en.

# product flow event
scenario:outcomeProductEventFlow    
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProduct;
    rdfs:range scenario:OutcomeProductEventFlow.

scenario:OutcomeProductEventFlow
    rdf:type owl:Class.

scenario:outcomeProductEventFlowEvent
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeProductEventFlow;
    rdfs:range scenario:ProductFlowEvent.
    
scenario:outcomeProductEventFlowValue
    rdf:type owl:DatatypeProperty;
    rdfs:domain scenario:OutcomeProductEventFlow;
    rdfs:range xsd:decimal;
    rdfs:comment'''The expected flow for this Product and this Event in the context of this Outcome'''@en.

###############################################################################
# outcome resource    
###############################################################################
scenario:outcomeResource
    rdf:type owl:ObjectProperty;
    rdfs:subPropertyOf scenario:resource;
    rdfs:domain scenario:Outcome;
    rdfs:range scenario:OutcomeResource.

scenario:OutcomeResource 
    rdf:type owl:Class;
    rdfs:subClassOf scenario:AbstractResource;
    rdfs:comment '''A Resource in the context of a Outcome'''@en.

scenario:outcomeResourceDefinition
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range scenario:ScenarioResource. 

scenario:outcomeResourceEventUnavailabilityTotal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range xsd:decimal;
    rdfs:comment "The Resource reservation due to uncertain Event's"@en.

scenario:outcomeResourceAvailabilityBeforeUncertainRouting
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range xsd:decimal.

scenario:outcomeResourceAvailability
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range xsd:decimal.

scenario:outcomeRoutingReservationTotal
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range xsd:decimal.

# outcomeResourceUncertainUnavailability
scenario:outcomeResourceEventUnavailability    
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResource;
    rdfs:range scenario:OutcomeResourceEventUnavailability.

scenario:OutcomeResourceEventUnavailability
    rdf:type owl:Class.

scenario:outcomeResourceEventUnavailabilityEvent
    rdf:type owl:ObjectProperty;
    rdfs:domain scenario:OutcomeResourceEventUnavailability;
    rdfs:range scenario:ResourceUnavailabilityEvent.
    
scenario:outcomeResourceEventUnavailabilityValue
    rdf:type owl:DatatypeProperty;
    rdfs:domain scenario:OutcomeResourceEventUnavailability;
    rdfs:range xsd:decimal;
    rdfs:comment'''The expected unavailability for this Resource and this Event in the context of this Outcome'''@en.
# Serialization annotations added by generate_docs.py
<https://ontology.flandersmake.be/scenario/ontology>
    <https://w3id.org/widoco/vocab#turtleSerialization> "scenario.ttl" ;
    <https://w3id.org/widoco/vocab#rdfxmlSerialization> "scenario.rdf" ;
    <https://w3id.org/widoco/vocab#ntSerialization> "scenario.nt" ;
    <https://w3id.org/widoco/vocab#jsonldSerialization> "scenario.jsonld" .
