About This Document: This describes the open SDC4 specification maintained by the Semantic Data Charter. SDCStudio by Axius SDC, Inc. is one commercial implementation of this specification. See ABOUT_SDC4_AND_SDCSTUDIO.md for the distinction between open specifications and commercial tools.
Executive Summary
True government-wide interoperability requires structural reuse without semantic compromise. This document demonstrates how SDC4's separation of structure from semantics enables different government domains to share the same components while maintaining their distinct semantic requirements.
Core Principle: One structural model + Many domain ontologies = Scalable "all of government" interoperability
The Cross-Domain Challenge
NIEM's Approach: Shared Semantic Structure
Architecture:
NIEM Core
|
+---------------+---------------+
| | |
Justice Emergency Mgmt Immigration
(augments) (augments) (augments)
Problem: All domains must agree on core semantic definitions.
Example: "Person"
- Justice needs: FBI ID, criminal history, arrest records
- Healthcare needs: Medical record number, blood type, allergies
- Education needs: Student ID, grade level, enrollment status
- Social Services needs: Case number, benefit eligibility, household income
NIEM's Dilemma: Core PersonType can't satisfy all domains without becoming bloated.
SDC4's Approach: Shared Structural Patterns
Architecture:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)
Solution: All domains use same structural types, link to different ontologies.
Scenario 1: Integrated Emergency Response
The Use Case
Natural disaster requires coordinated response across:
- Emergency Management: Track incident, resources, affected persons
- Healthcare: Treat injured, track medical supplies, coordinate hospitals
- Social Services: Provide shelter, food assistance, case management
- Justice: Maintain security, traffic control, evacuations
Traditional NIEM Approach
Emergency Management IEPD:
<em:IncidentPerson>
<nc:Person>
<nc:PersonName>
<nc:PersonFullName>Jane Doe</nc:PersonFullName>
</nc:PersonName>
</nc:Person>
<em:PersonInjuryDescriptionText>Broken arm</em:PersonInjuryDescriptionText>
</em:IncidentPerson>
Healthcare System (non-NIEM):
{
"resourceType": "Patient",
"name": [{"text": "Jane Doe"}],
"condition": [{"code": {"text": "Fracture of arm"}}]
}
Problem: Systems speak different languages. Manual mapping required.
SDC4 Approach: Shared Structure, Domain Semantics
Emergency Management Model:
<sdc4:ms-sv6a9d3g90988 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Affected Person</label>
<sdc4:ms-tw7b0e4h01999>
<label>Name</label>
<xdstring-value>Jane Doe</xdstring-value>
</sdc4:ms-tw7b0e4h01999>
<sdc4:ms-ux8c1f5i12900>
<label>Injury Description</label>
<xdstring-value>Broken arm</xdstring-value>
</sdc4:ms-ux8c1f5i12900>
<sdc4:ms-vy9d2g6j23911>
<label>Current Location</label>
<xdstring-value>Shelter A</xdstring-value>
</sdc4:ms-vy9d2g6j23911>
</sdc4:ms-sv6a9d3g90988>
Schema annotations: Cluster ms-sv6a9d3g90988 links to http://niem.gov/emergency-management/IncidentPersonType and http://schema.org/Person. Name component ms-tw7b0e4h01999 links to http://niem.gov/niem-core/PersonName and http://schema.org/name.
Healthcare Model (same person):
<sdc4:ms-wz0e3h7k34922 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Patient</label>
<sdc4:ms-tw7b0e4h01999><!-- REUSED Name component from EM -->
<label>Name</label>
<xdstring-value>Jane Doe</xdstring-value>
</sdc4:ms-tw7b0e4h01999>
<sdc4:ms-xa1f4i8l45933>
<label>Condition</label>
<xdstring-value>Fracture of arm</xdstring-value>
</sdc4:ms-xa1f4i8l45933>
<sdc4:ms-yb2g5j9m56944>
<label>Medical Record</label>
<xdstring-value>MRN-DISASTER-001</xdstring-value>
</sdc4:ms-yb2g5j9m56944>
</sdc4:ms-wz0e3h7k34922>
Schema annotations: Cluster ms-wz0e3h7k34922 links to http://hl7.org/fhir/Patient and http://schema.org/Patient. Condition component ms-xa1f4i8l45933 links to http://hl7.org/fhir/Condition and http://snomed.info/sct/263102004.
Social Services Model (same person):
<sdc4:ms-zc3h6k0n67955 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Client</label>
<sdc4:ms-tw7b0e4h01999><!-- REUSED Name component from EM and Healthcare -->
<label>Name</label>
<xdstring-value>Jane Doe</xdstring-value>
</sdc4:ms-tw7b0e4h01999>
<sdc4:ms-ad4i7l1o78966>
<label>Case Number</label>
<xdstring-value>DISASTER-CASE-2025-001</xdstring-value>
</sdc4:ms-ad4i7l1o78966>
<sdc4:ms-be5j8m2p89977>
<label>Assistance Type</label>
<xdstring-value>SHELTER</xdstring-value>
<enumeration>
<code>SHELTER</code>
<display>Emergency Shelter</display>
</enumeration>
</sdc4:ms-be5j8m2p89977>
<sdc4:ms-cf6k9n3q90988>
<label>Shelter Assignment</label>
<xdstring-value>Shelter A</xdstring-value>
</sdc4:ms-cf6k9n3q90988>
</sdc4:ms-zc3h6k0n67955>
Schema annotations: Cluster ms-zc3h6k0n67955 links to http://example.gov/social-services/DisasterClientType and http://schema.org/Person.
Key Benefits:
- Same Structure: All use ClusterType + XdStringType
- Component Reuse: Name component (
ms-tw7b0e4h01999) is reused across all three domains - Different Semantics: EM uses NIEM URIs, Healthcare uses FHIR URIs, Social Services uses domain-specific URIs in schema annotations
- Automatic Interoperability: Systems understand ClusterType/XdStringType structure without domain knowledge
- Data Correlation: Can match records by the shared Name component ID or by common
schema.org/namesemantic link in schema annotations
Scenario 2: Multi-Agency Case Management
The Use Case
Child welfare case involves:
- Social Services: Case management, family services
- Healthcare: Medical treatment, mental health
- Education: School enrollment, special education
- Justice: Court orders, custody arrangements
Shared Structural Components
Person Identity Pattern (used by all four domains):
<sdc4:ms-dg7l0o4r01999 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Child Identity</label>
<sdc4:ms-tw7b0e4h01999><!-- Shared Name component -->
<label>Name</label>
<xdstring-value>[name value]</xdstring-value>
</sdc4:ms-tw7b0e4h01999>
<sdc4:ms-ot6w0z4b34688><!-- Shared Birth Date component -->
<label>Birth Date</label>
<xdtemporal-value>[date value]</xdtemporal-value>
</sdc4:ms-ot6w0z4b34688>
<sdc4:ms-eh8m1p5s12900><!-- Domain-specific ID component -->
<label>[Domain-Specific ID Label]</label>
<xdstring-value>[domain id value]</xdstring-value>
</sdc4:ms-eh8m1p5s12900>
</sdc4:ms-dg7l0o4r01999>
Schema annotations: Cluster ms-dg7l0o4r01999 has domain-specific rdfs:isDefinedBy URI and universal http://schema.org/Person link. Name component (ms-tw7b0e4h01999) links to http://schema.org/name. Birth Date component (ms-ot6w0z4b34688) links to http://schema.org/birthDate. ID component (ms-eh8m1p5s12900) has domain-specific semantic link.
Address Pattern (used by all four domains):
<sdc4:ms-fi9n2q6t23911 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Address</label>
<sdc4:ms-gj0o3r7u34922><!-- Shared Street component -->
<label>Street</label>
<xdstring-value>[street value]</xdstring-value>
</sdc4:ms-gj0o3r7u34922>
<sdc4:ms-hk1p4s8v45933><!-- Shared City component -->
<label>City</label>
<xdstring-value>[city value]</xdstring-value>
</sdc4:ms-hk1p4s8v45933>
<sdc4:ms-il2q5t9w56944><!-- Shared State component -->
<label>State</label>
<xdstring-value>[state value]</xdstring-value>
</sdc4:ms-il2q5t9w56944>
<sdc4:ms-jm3r6u0x67955><!-- Shared Postal Code component -->
<label>Postal Code</label>
<xdstring-value>[zip value]</xdstring-value>
</sdc4:ms-jm3r6u0x67955>
</sdc4:ms-fi9n2q6t23911>
Schema annotations: Address Cluster (ms-fi9n2q6t23911) has domain-specific address URI and universal http://schema.org/PostalAddress link. All child components (Street ms-gj0o3r7u34922, City ms-hk1p4s8v45933, State ms-il2q5t9w56944, Postal Code ms-jm3r6u0x67955) link to corresponding http://schema.org/ properties.
Domain-Specific Instantiations
Social Services:
<sdc4:ms-kn4s7v1y78966 xmlns:sdc4="https://semanticdatacharter.com/ns/sdc4/">
<label>Child Case</label>
<!-- Reuse identity pattern -->
<sdc4:ms-dg7l0o4r01999>
<label>Child Identity</label>
<sdc4:ms-tw7b0e4h01999><!-- Shared Name -->
<label>Name</label>
<xdstring-value>Tommy Lee</xdstring-value>
</sdc4:ms-tw7b0e4h01999>
<sdc4:ms-ot6w0z4b34688><!-- Shared Birth Date -->
<label>Birth Date</label>
<xdtemporal-value>2015-04-10</xdtemporal-value>
</sdc4:ms-ot6w0z4b34688>
</sdc4:ms-dg7l0o4r01999>
<!-- Domain-specific -->
<sdc4:ms-lo5t8w2z89977>
<label>Assigned Case Worker</label>
<xdstring-value>Mary Smith</xdstring-value>
</sdc4:ms-lo5t8w2z89977>
</sdc4:ms-kn4s7v1y78966>
Healthcare:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)0
Education:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)1
Justice:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)2
Interoperability Achieved:
- Same Structure: All four use identical ClusterType/XdStringType/XdTemporalType/XdCountType patterns
- Component Reuse: Child Identity Cluster (
ms-dg7l0o4r01999), Name (ms-tw7b0e4h01999), and Birth Date (ms-ot6w0z4b34688) components are identical across all four domains - Semantic Bridges: Schema annotations link to
schema.org/*URIs providing common semantic reference points - Domain Autonomy: Each domain maintains its own semantic URIs in schema annotations (NIEM, FHIR, SIF, domain-specific)
- Data Integration: Systems can correlate records by matching the shared component IDs or by querying semantic annotations
Scenario 3: Transportation and Infrastructure
The Use Case
Multi-modal transportation planning requires:
- Surface Transportation: Highway systems, traffic management
- Emergency Management: Evacuation routes, incident response
- Infrastructure Protection: Critical infrastructure security
- Justice: Traffic enforcement, accident investigation
Shared Concept: "Location"
SDC4 Location Pattern (domain-agnostic):
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)3
Schema annotations: Coordinates Cluster (ms-tw3b6e0i67955) links to http://schema.org/GeoCoordinates. Latitude (ms-ux4c7f1j78966) and Longitude (ms-vy5d8g2k89977) components link to respective Schema.org properties.
Domain Instantiations
Surface Transportation - Traffic Incident:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)4
Schema annotations: Traffic Incident Cluster (ms-wx6e9h3l01011) links to http://niem.gov/domains/surface-transportation/TrafficIncident. Highway (ms-xy7f0i4m12022) links to http://niem.gov/domains/surface-transportation/HighwayName. Mile Marker (ms-yz8g1j5n23033) links to http://niem.gov/domains/surface-transportation/MileMarker.
Emergency Management - Evacuation Point:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)5
Schema annotations: Evacuation Point Cluster (ms-za9h2k6o34044) links to http://niem.gov/domains/emergency-management/EvacuationLocation. Facility Name (ms-ab0i3l7p45055) links to http://niem.gov/niem-core/FacilityName. Capacity (ms-bc1j4m8q56066) links to http://niem.gov/domains/emergency-management/ShelterCapacity.
Infrastructure Protection - Critical Asset:
SDC4 Structural Model
(Cluster, XdString, XdTemporal, etc.)
|
+---------------+---------------+---------------+
| | | |
Justice Healthcare Education Social Services
(NIEM URIs) (FHIR URIs) (SIF URIs) (Domain URIs)6
Schema annotations: Critical Infrastructure Asset Cluster (ms-cd2k5n9r67077) links to http://niem.gov/domains/infrastructure/CriticalInfrastructureAsset. Security Zone (ms-de3l6o0s78088) links to http://niem.gov/domains/infrastructure/SecurityZoneCode with enumeration constraint defining allowed values (RESTRICTED, CONTROLLED, PUBLIC).
Benefit: All three domains use identical coordinate representation (XdQuantity + schema.org refs), enabling geographic correlation across systems.
Reusable Component Library
Core Patterns for All Domains
1. Person Identity
- Cluster + XdString (name) + XdTemporal (birthdate)
- Links: schema.org/Person, domain-specific person type
2. Location
- Cluster + XdQuantity (lat/long) + XdString (address components)
- Links: schema.org/Place, schema.org/GeoCoordinates
3. Temporal Event
- Cluster + XdTemporal (start) + XdTemporal (end) + XdInterval (duration)
- Links: schema.org/Event, domain-specific activity type
4. Identifier
- XdString + domain-specific ontology_ref
- Links: schema.org/identifier, domain-specific ID type
5. Measurement
- XdQuantity + units
- Links: schema.org/QuantitativeValue, domain-specific measurement type
6. Enumeration
- XdString + enumeration codes
- Links: schema.org/Enumeration, domain-specific code system
Governance Benefits
NIEM's Governance Challenge
Adding New Domain:
- Domain proposes new concepts
- NBAC reviews for overlap with existing domains
- Harmonization if conflicts found
- Core augmentation or domain namespace created
- Other domains review changes
- Wait for release cycle
Timeline: 1-3 years
SDC4's Governance Simplicity
Adding New Domain:
- Domain maps concepts to SDC4 structural types
- Domain publishes ontology with URIs
- Domain creates models linking to ontology
- Done
Timeline: Weeks
No Cross-Domain Coordination Required because:
- Structure is domain-agnostic
- Semantics are domain-controlled
- Ontology URIs provide semantic bridges where needed
Scalability Analysis
NIEM Complexity Growth
With N domains:
- Vocabulary size: O(N) namespaces × M concepts = O(N×M)
- Harmonization: O(N²) pairwise interactions
- Governance burden: O(N) domains × K concepts = O(N×K)
Example:
- 13 domains → 13 vocabularies → 78 pairwise harmonization potential
- Add domain 14 → 13 new pairwise relationships → full NBAC review
SDC4 Complexity Growth
With N domains:
- Structural types: O(1) — fixed ~20 types
- Ontologies: O(N) — each domain has one
- Governance: O(1) per domain — no cross-domain dependencies
Example:
- 13 domains → 13 ontologies → same 20 structural types
- Add domain 14 → 1 new ontology → reuse existing 20 types → no cross-domain review
Key Insight: SDC4 achieves constant governance complexity while NIEM has quadratic governance complexity.
Implementation Strategy
Phase 1: Pilot with Two Domains
Recommendation: Start with domains that already exchange data.
Example: Justice + Emergency Management
- Map existing NIEM PersonType to SDC4 Cluster + XdTypes
- Add NIEM URI references as ontology_ref
- Add schema.org bridges
- Test data exchange
- Validate structural interoperability
Phase 2: Add Third Domain with Different Standard
Example: Add Healthcare (FHIR-based)
- Map FHIR Patient to SDC4 Cluster + XdTypes
- Add FHIR URI references
- Add same schema.org bridges as Phase 1
- Test three-way data correlation
- Validate cross-standard interoperability
Phase 3: Scale to All 13 NIEM Domains
Process:
- Each domain independently maps to SDC4
- Each maintains NIEM URI references
- No inter-domain coordination required
- Incremental rollout possible
Phase 4: Beyond NIEM Domains
Expansion to:
- International standards (ISO, UN/CEFACT)
- Industry standards (MISMO, ACORD)
- Academic standards (PESC, EDM)
Conclusion
SDC4's separation of structure from semantics unlocks true cross-domain reuse:
- Structural Unity: ~20 core types serve all domains
- Semantic Diversity: Each domain links to authoritative ontologies
- Governance Independence: Domains evolve semantics without affecting structure
- Scalable Growth: Linear complexity vs. quadratic in NIEM
- Multi-Standard Support: Same structure bridges NIEM, FHIR, SIF, etc.
Result: "All of government" interoperability without "all of government" governance overhead.
Next Steps
For strategic vision:
- NIEM_GOVERNMENT_WIDE_VISION.md - Path to universal adoption
For practical mapping:
- NIEM_PERSON_TO_SDC4.md - Person patterns
- NIEM_SDC4_TYPE_MAPPING.md - Complete type reference
For quick lookup:
- NIEM_SDC4_QUICK_REFERENCE.md - Common mappings
Document Navigation: ← Previous: NIEM Person to SDC4 | Next: NIEM Government-Wide Vision →
About This Documentation
This document describes the open SDC4 specification maintained by the Semantic Data Charter community.
Open Source:
- Specification: https://semanticdatacharter.com
- GitHub: https://github.com/SemanticDataCharter
- License: CC BY 4.0
Commercial Implementation:
- SDCStudio: https://axius-sdc.com (by Axius SDC, Inc.)
See ABOUT_SDC4_AND_SDCSTUDIO.md for details.
This document is part of the SDC4 Integration Guide series. Author: Timothy W. Cook (Founder, Axius SDC, Inc.) w/Claude (Anthropic AI Assistant) License: Creative Commons Attribution 4.0 International (CC BY 4.0)