PIG JSON-LD Schemata

Product Information Graph - JSON Schema Validation (Draft-07)

These schemata validate the JSON-LD representation of PIG items corresponding to the PIG Metamodel. Each schema enforces structural constraints, data types, and cardinalities defined in the PIG metamodel, ensuring interoperability and semantic consistency across different tools and organizations.

Schemata

PIG Metamodel Class Items

These schemata validate PIG class definitions. Classes are derived from the ontology. In general, each concept in the ontology results in a class of either Property, Link, Entity, or Relationship. A class definition must conform to its respective schema and must have a dcterms:title and optionally a dcterms:description to convey meaning.

  • Property.json
    Validates Property class definitions that specify attributes for entities and relationships. May include datatype specifications (string, integer, double, boolean, dateTime, etc.), cardinality constraints (sh:minCount, sh:maxCount), value constraints (sh:minInclusive, sh:maxInclusive, sh:maxLength, sh:pattern), enumeration values (pig:eligibleValue), default values, measurement units, and support for composed properties.
    → OWL mapping: owl:DatatypeProperty
  • Link.json
    Validates Link class definitions that specify navigable connections between items. Defines eligible endpoint classes (pig:eligibleEndpoint) which determine which Entity or Relationship classes can be connected via this link type. Links enable traversal of the information graph and support bi-directional relationships when paired (e.g., "contains" / "is contained by").
    → OWL mapping: owl:ObjectProperty
  • Entity.json
    Validates Entity class definitions for individual information objects. Configures which properties (pig:eligibleProperty) and which outgoing links are allowed (pig:eligibleTargetLink). Entities classify primary information objects such as Requirements, Components and Diagrams in a systems engineering context. Supports specialization hierarchies via pig:specializes and optional visual representation via pig:icon.
    → OWL mapping: owl:Class
  • Relationship.json
    Validates Relationship class definitions for directed connections between entities. Configures which properties (pig:eligibleProperty), source links (pig:eligibleSourceLink) and target links (pig:eligibleTargetLink) are allowed. Relationships are reified connections that can carry their own properties, enabling rich traceability and dependency modeling (e.g., "Refinement" relationships with rationale and traceability status). Relationships classify meaningful statements including a subject and an object, where both the subject and the object is an entity or relationship instance. Supports specialization hierarchies and optional icons.
    → OWL mapping: owl:Class with constrained owl:ObjectProperty endpoints

PIG Metamodel Instance Items

These schemata validate PIG instances (project data or "payload"). Instances represent actual data conforming to the class definitions above. They include revision control, modification tracking, and properties/links as configured by their respective classes.

  • anEntity.json
    Validates entity instances with actual property values and target link references. Includes mandatory metadata: @type (reference to Entity class), pig:revision, dcterms:modified timestamp, optional pig:priorRevision and dcterms:creator. Properties can have direct values (@value) or reference enumeration values (@id) as defined by its class. Target links reference other entity or relationship instances. Must have either dcterms:title or dcterms:description (or both) to convey meaning.
    → OWL mapping: owl:NamedIndividual
  • aRelationship.json
    Validates relationship instances representing directed, reified connections between items (i.e. entity or relationship instances). Similar metadata to entities, but additionally requires both source links (pig:aSourceLink) and target links (pig:aTargetLink) conforming to the class definition. Source and target links reference entity or relationship instances. Properties can carry contextual information about the relationship (e.g., traceability status, rationale, coverage analysis). Reification enables relationships to be first-class items with their own lifecycle and properties. Must have a dcterms:title and optionally a dcterms:description to convey meaning.
    → OWL mapping: owl:NamedIndividual (reified predicate)

PIG Package Item

This schema validates complete PIG data packages. A package contains a subset of the product information graph bundled for specific purposes such as customer-supplier agreements, milestone deliverables, or change requests. Packages include their own context definitions and maintain referential integrity.

  • aPackage.json
    Validates complete JSON-LD package documents with @context (namespace and vocabulary definitions) as well as @graph (array of PIG items). The graph contains a mix of item classes (Property, Link, Entity, Relationship) and instances (anEntity, aRelationship). Package-level metadata includes optional dcterms:modified, dcterms:creator, dcterms:title, and dcterms:description. Validates each item against its corresponding schema based on pig:itemType.
    → OWL mapping: Self-contained RDF graph with ontology and instance data

Key Features

  • Separation of Concerns: Syntax and Semantics are separated, so that no software updates are needed, when the ontology evolves over time.
  • Design for transformation: The PIG metamodel assures loss-less transformation between OWL/RDF (Knowledge Graphs), GQL (Property Graphs) and Object-oriented Programming.
  • Federation: JSON-LD supports dataspaces with federated data under full control of the respective owners.
  • Multi-user Operation: JSON-LD lends itself for traceable multi-user access and versioning.
  • Wide technology support: Good support by many programming languages including JavaScript, Python, Java and C#.
  • JSON Schema Draft-07 compliant: Industry-standard validation with wide tooling support.
  • Strict validation: Additional properties are not allowed to prevent schema violations.
  • Multi-language support: IETF language tags (@language) for internationalization.
  • Modular design: Reusable definitions for each metamodel item type.
  • Package validation: Complete graph validation with both class and instance items.
  • Format validation: Simple datatypes with optinal range limitation, ISO 8601 date-time, URI patterns and CURIE namespace syntax.