The PMD Logistics Application Ontology (LOG) is a BFO- and IOF-conformant ontology for logistics and supply chain management. It extends the PMD Core Ontology (PMDCo) and is adopted from the IOF Supply Chain Module.
More information: https://w3id.org/pmd/log/
LOG covers the following domains:
- Organizations and roles — business organizations, suppliers, manufacturers, carriers, freight forwarders and their BFO-aligned roles; integrated with W3C ORG vocabulary for membership, posts, and sites
- Persons — modeled via FOAF (
foaf:Person), linked to organizations throughorg:Membershipandorg:Post - Physical premises and locations —
LOG:LOG_1000146(physical premises, BFO object aggregate) aligned toorg:Site; geospatial sites (PMD:PMD_0040029, BFO:0000029) for spatial modeling; ship-from/ship-to locations with WGS84 coordinates - Shipments and cargo — shipment, load, cargo, lot, traceable resource unit, bill of lading, purchase order
- Transport — transport process, seaway, airway, shipping route, multimodal chains via supply chain nodes
- Facilities — facility, storage facility, distribution center, warehouse; subclassing
LOG:LOG_1000146 → org:Site - Agreements and contracts — commercial service agreement, bill of lading, purchase order, framework contracts
- Processes — transport, receiving, warehousing, packaging, procurement, selling, manufacturing, supply chain processes
- Business functions — freight forwarding, transportation, logistics service, manufacturing service
- Plan specifications — shipment plan, warehousing plan, supply chain plan, packaging plan
| Import | Type | Source |
|---|---|---|
pmdco |
mirror | PMD Core Ontology 3.0.0 |
org |
SLME | W3C Organization Ontology |
foaf |
custom | FOAF Vocabulary — with OWL DL violation fix removing schema:Person/contact:Person equivalencies |
| IRI | Label | BFO alignment |
|---|---|---|
LOG:LOG_1000047 |
business organization | BFO:0000027, org:FormalOrganization |
LOG:LOG_1000050 |
organization | BFO:0000027, org:FormalOrganization |
LOG:LOG_1000146 |
physical premises | BFO:0000027 ∩ ∃BFO:0000082.PMD_0040029, org:Site |
LOG:LOG_1000032 |
facility | LOG_1000146 |
LOG:LOG_1000034 |
storage facility | LOG_1000032 |
LOG:LOG_1000051 |
shipment | BFO:0000027 |
LOG:LOG_1000029 |
material product | BFO:0000040 |
LOG:LOG_1000143 |
transport process | BFO:0000015 |
LOG:LOG_1000129 |
warehousing process | LOG_1000146 context |
LOG:LOG_1000001 |
commercial service agreement | IAO:0000030 (information content entity) |
LOG:LOG_1000002 |
bill of lading | IAO:0000030 |
LOG:LOG_1000088 |
ship from location | PMD:PMD_0040029 |
LOG:LOG_1000089 |
ship to location | PMD:PMD_0040029 |
LOG:LOG_1000090 |
supply chain node | PMD:PMD_0040029 |
Patterns demonstrate how to model real-world logistics scenarios using this ontology. Each pattern provides:
pattern.md— description, entities, and key propertiesshape.ttl— hand-written SHACL shapes for validationshape-data.ttl— real-world annotated example data (with coordinates, addresses, named organizations)
Patterns are validated with pyshacl. SHACL shapes can also be auto-generated from the ontology axioms using the autoshape pipeline.
Models a steel coil shipment from Baosteel (Shanghai) to Volkswagen (Hamburg) via COSCO sea freight.
Entities: shipment, material product, ship-from/ship-to locations (with WGS84 coordinates), bill of lading, consignor/consignee organizations, transport process.
Models an annual steel supply framework agreement negotiated between Baosteel and Volkswagen AG, signed by named representatives holding formal organizational posts.
Entities: commercial service agreement, selling process, persons with titles, org:Post, buyer/supplier roles, HQ sites with coordinates.
Models steel coils arriving at DB Schenker's Hamburg logistics centre, covering the receiving process and subsequent warehousing under a quarterly buffer stock plan.
Entities: storage facility (with address and coordinates), receiving process, warehousing process, warehousing plan specification, material product.
Models automotive parts shipped from Busan to Düsseldorf via Maersk sea freight (Busan → Rotterdam) followed by DB Schenker road freight (Rotterdam → Düsseldorf), with Rotterdam as the intermodal supply chain node.
Entities: two transport process legs, supply chain node, three geospatial sites (with coordinates), two carriers, shipment continuity across legs, temporal ordering.
SHACL shapes are auto-generated from the ontology axioms in three strictness profiles using owl2shacl:
| Profile | File | Description |
|---|---|---|
| Open | patterns/autoshape/auto-shapes-open.ttl |
Properties from other ontologies allowed |
| Semi-closed | patterns/autoshape/auto-shapes-semi-closed.ttl |
Domain constraints validated |
| Closed | patterns/autoshape/auto-shapes-closed.ttl |
Only declared properties allowed |
Generate shapes:
cd src/ontology
sh utils/generate-auto-shapes.shValidate a pattern:
cd patterns
sh test.sh shipment-by-seaValidate all patterns (make target):
cd src/ontology
make validate-patternsLatest release always at: https://w3id.org/pmd/log.owl
| Artefact | Description |
|---|---|
log.owl / log.ttl |
Full ontology with all imports merged |
log-full.owl / log-full.ttl |
Full with inferred axioms (primary release) |
log-base.owl / log-base.ttl |
Base — no imports merged |
log-simple.owl / log-simple.ttl |
Simplified, classified, imports filtered |
This repository uses the Ontology Development Kit (ODK).
Run quality checks:
cd src/ontology
docker run --rm -v $(pwd)/../../:/work -w /work/src/ontology obolibrary/odkfull:latest make IMP=false MIR=falseRefresh imports:
cd src/ontology
docker run --rm -v $(pwd)/../../:/work -w /work/src/ontology obolibrary/odkfull:latest make all_importsCustomizations to the build pipeline belong in src/ontology/log.Makefile — this file is never overwritten by ODK updates.
Please use the Issue tracker to request new terms or report errors.
This ontology repository was created using the Ontology Development Kit (ODK). The autoshape pipeline uses owl2shacl rulesets derived from work by TopQuadrant, adapted from PMD Core Ontology.