ICDD as CIM Container - statnett/Talk2PowerSystem GitHub Wiki

Table of Contents

Related issues (the date reflects when posted, not when last updated):

Intro

CIM needs a "Container" to transfer large or related CIM models: a zip with a semantic manifest that describes the models (datasets) inside.

IEC 61970-600-1 section 5.6 File exchange describes how to zip (contain and compress) related CIMXML files. However:

  • No overall description is provided.
  • No explicit links between files can be captured.
  • Per-file metadata ("file header") is provided, but since filenames are local, it cannot refer reliably to other files.

Tools must open each file, or rely on local naming conventions: Citing two standard clauses:

  • FILX1: A given exchange consists of multiple files. The CGMES defines that instance files that belong to a given logical exchange shall be either zipped together or zipped individually.
  • FILX2: The CGMES defines no naming convention applied to the .xml or .zip file names. Although different business processes may define such a file naming convention, the applications shall rely solely on the information provided in the file headers in order to process the instance files

So there is a need for a better way to contain information, avoiding the use of local filenaming standards, and providing explicit semantic metadata about provenance, links, and process steps.

Office Open XML

Office Open XML is a Zip format with a descriptor that is widel used for office files (Microsoft and Open Office). It is standard ECMA-376 or ISO/IEC 29500:2016. See this introduction: OpenXML-White-Paper.

It fulfills the basic requirements (container, compression and description), but has some features that make it less than ideal for CIM:

  • It packages document content (text and images). It can be used to package other files, but it really is intended for documents.
  • It's based on XML not RDF.
  • Relations between files are not captured.

ICDD

Information Container for Linked Document Delivery (ICDD) is standard ISO 21597.

  • It is a similar packaging format (zip with descriptor)
  • But one can package any files, including RDF (in a folder called "Payload triples")
  • The container and files are described in "Index" (an RDF file)
  • A specified "Links" file (RDF) interlinks package contents
  • In addition to RDF, it uses RDFS/OWL ontologies and SHACL to validate the metadata
  • Basic and extended Link Types are supported
    • Links between files are supported, as well as between file parts (eg a material sheet linked to a particular building component through its IFC GUID)
  • Although it primarily targets RDF tooling, there are also XSD schemas and XSLT transformations for XML tooling

ICDD Illustrations

Basic illustration:

A great illustration from the paper Using ICDD Containers for documentation data archives: Semi-automated creation of linked documentation data archives using an Information Container for linked Document Delivery

ICDD Purpose

Originally it was designed for the AECO industry. In AECO, you need to exchange complex files: BIM (IFC) but also BOM sheets, PDFs, etc. ICDD:

  • Structures and exchanges linked construction data,
  • Integrates with BIM to create transparent, traceable, and automated information workflows
  • Is used in Common Data Environments (CDEs)
  • Acts as a standardized "package" for project information, linking BIM elements (like IFC models) to authoritative documents using linked data principles
  • Improves interoperability for better lifecycle management and data continuity.

Note: this standard may also be relevant: CEN/CENELEC EN 17632 BIM - Semantic Modelling and Linking (SML)

ICDD Bibliography

A search for "ICDD" in Semantic_BIM zotero library finds these (green means we have the paper):

  • Search for "ISO 21597" finds these

Start with this presentation by Manos Argyris (Amberg Group): A Framework for Producing “Information Container for linked Document Delivery (ICDD)”

The tagging and scope of that Zotero library can be improved.

To Research

  • How to use DCAT and ICDD together?
  • What is the relation between CIM filenames in a zip and graph names?
  • What data flow scenarios should be supported (eg if the ICDD includes a full model and a difference model, you need to load and validate the full model, then apply and validate the difference)

Maybe these are great topics for the "BIM-CIM integration" task/paper