@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix arch: <https://meta.linked.archi/core#> .
@prefix archvis: <https://meta.linked.archi/core-vis#> .
@prefix dc: <https://meta.linked.archi/bpmn/dc#> .
@prefix :   <https://meta.linked.archi/bpmn/dc#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dce: <http://purl.org/dc/elements/1.1/> .


<https://meta.linked.archi/bpmn/dc#>
    a owl:Ontology ;
    cc:license                    "http://creativecommons.org/licenses/by/4.0/" ;
    vann:preferredNamespaceUri    "https://meta.linked.archi/bpmn/dc#" ;
    vann:preferredNamespacePrefix "dc" ;
    dcterms:title "Linked.Archi DC Ontology (OMG DD/DC)"@en ;
    dce:description               '''OWL mapping of the OMG DD Diagram Common (DC) datatypes.'''@en ;
    rdfs:comment """Maps the OMG DD Diagram Common (DC) package.
Source: DC.cmof — defines primitive types (Boolean, Integer, Real, String)
and DataTypes (Bounds, Point, Font) used by the DI and BPMNDI packages.
Bounds and Point carry coordinate properties typed as Real (xsd:double).
Font carries name (String), size (Real), and boolean flags."""@en ;
    dcterms:issued "2026-01-27"^^xsd:date ;
    dcterms:modified              "2026-05-06"^^xsd:date ;
    dce:publisher                 "Linked.Archi"@en,
                                  <https://linked.archi> ;
    bibo:status                   "draft" ;
    dc:source <https://www.omg.org/spec/DD/20100524/DC> ;
    dcterms:source "http://www.omg.org/spec/DD/20100524/DC-XMI"^^xsd:string ;
    rdfs:seeAlso <https://www.omg.org/spec/BPMN/2.0.2/> ;
    dcterms:references <https://www.omg.org/spec/BPMN/2.0.2/PDF> ;
    rdfs:comment """Validated against:
  • DC.xsd — Bounds, Point, Font datatypes and their attributes
Source: .reference/omg/bpmn202/DC.xsd"""@en ;
    owl:imports <https://meta.linked.archi/core-vis#> ;
    owl:imports <https://meta.linked.archi/core#> ;
    owl:versionInfo "2.0.2"@en ;
.

# ── DataTypes (cmof:DataType — value types, not identity-bearing classes) ──

dc:Bounds a rdfs:Datatype ;
    skos:prefLabel "Bounds"@en ;
    skos:definition "Rectangle defined by x, y, width, height. CMOF DataType from DC.cmof."@en ;
.

dc:Point a rdfs:Datatype ;
    skos:prefLabel "Point"@en ;
    skos:definition "2D coordinate (x, y). CMOF DataType from DC.cmof."@en ;
.

dc:Font a rdfs:Datatype ;
    skos:prefLabel "Font"@en ;
    skos:definition "Font descriptor with name, size, and style flags. CMOF DataType from DC.cmof."@en ;
.

# ── Bounds properties (all Real → xsd:double) ──

dc:x a owl:DatatypeProperty ;
    skos:prefLabel "x"@en ;
    rdfs:range xsd:double ;
.

dc:y a owl:DatatypeProperty ;
    skos:prefLabel "y"@en ;
    rdfs:range xsd:double ;
.

dc:width a owl:DatatypeProperty ;
    skos:prefLabel "width"@en ;
    rdfs:range xsd:double ;
.

dc:height a owl:DatatypeProperty ;
    skos:prefLabel "height"@en ;
    rdfs:range xsd:double ;
.

# ── Font properties ──

dc:name a owl:DatatypeProperty ;
    skos:prefLabel "name"@en ;
    rdfs:range xsd:string ;
.

dc:size a owl:DatatypeProperty ;
    skos:prefLabel "size"@en ;
    rdfs:range xsd:double ;
.

dc:isBold a owl:DatatypeProperty ;
    skos:prefLabel "isBold"@en ;
    rdfs:range xsd:boolean ;
.

dc:isItalic a owl:DatatypeProperty ;
    skos:prefLabel "isItalic"@en ;
    rdfs:range xsd:boolean ;
.

dc:isUnderline a owl:DatatypeProperty ;
    skos:prefLabel "isUnderline"@en ;
    rdfs:range xsd:boolean ;
.

dc:isStrikeThrough a owl:DatatypeProperty ;
    skos:prefLabel "isStrikeThrough"@en ;
    rdfs:range xsd:boolean ;
.
