{ "schemaVersion": "0.1", "dataspace": { "id": "software-architecture", "title": "Software Architecture", "description": "A small illustrative collection of patterns and ideas in software design. The sentences were written for this demo and are not quotations from another corpus." }, "kinds": [ { "id": "concept", "label": "Concept", "plural": "Concepts" }, { "id": "pattern", "label": "Pattern", "plural": "Patterns" }, { "id": "person", "label": "Person", "plural": "Persons" }, { "id": "artifact", "label": "Artifact", "plural": "Artifacts" } ], "sources": [ { "id": "src:software-architecture:authored-demo", "uri": "https://example.invalid/content-explorer/software-architecture/fixture", "title": "Original illustrative demo fixture written for content-explorer", "license": "CC0-1.0", "attribution": "Content Explorer demo authors; fictional source URI is a fixture placeholder" } ], "entities": [ { "id": "urn:ce:software-architecture:concept:coupling", "kindId": "concept", "title": "Coupling", "tldr": "The degree to which software elements depend on one another.", "summary": "Coupling is how much one software element must know about another in order to work.", "tags": [ "dependency" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:coupling:tldr" ] }, { "id": "urn:ce:software-architecture:concept:cohesion", "kindId": "concept", "title": "Cohesion", "tldr": "The degree to which a module groups related responsibilities.", "summary": "Cohesion is how closely the responsibilities inside one module belong together.", "tags": [ "modularity" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:cohesion:tldr" ] }, { "id": "urn:ce:software-architecture:concept:interface", "kindId": "concept", "title": "Interface contract", "tldr": "An agreed description of interaction between components.", "summary": "An interface contract names the interactions two parts are allowed to rely on.", "tags": [ "boundary" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:interface:tldr" ] }, { "id": "urn:ce:software-architecture:pattern:adapter", "kindId": "pattern", "title": "Adapter pattern", "tldr": "An adapter translates between interfaces.", "summary": "An adapter lets a caller use one interface while the callee offers another.", "tags": [ "translation" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:adapter:tldr" ] }, { "id": "urn:ce:software-architecture:pattern:ports-adapters", "kindId": "pattern", "title": "Ports and adapters", "tldr": "A pattern for isolating core logic from outside systems.", "summary": "Ports and adapters keep domain logic from importing the details of a database, a UI, or a network.", "tags": [ "isolation" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:ports-adapters:tldr" ] }, { "id": "urn:ce:software-architecture:pattern:event-driven", "kindId": "pattern", "title": "Event-driven architecture", "tldr": "Software components communicate through events.", "summary": "In an event-driven arrangement, parts announce facts and other parts react, instead of calling each other directly.", "tags": [ "communication" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:event-driven:tldr" ] }, { "id": "urn:ce:software-architecture:person:alexander", "kindId": "person", "title": "Christopher Alexander", "tldr": "Architect whose pattern-language ideas influenced software design.", "summary": "Christopher Alexander described pattern languages for buildings. Software designers later borrowed that way of naming recurring forms.", "tags": [ "patterns" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:alexander:tldr" ] }, { "id": "urn:ce:software-architecture:artifact:adr", "kindId": "artifact", "title": "Architecture Decision Record", "tldr": "A lightweight record of architectural decisions and rationale.", "summary": "An architecture decision record states a decision, its context, and the consequences the writers accepted.", "tags": [ "record" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:adr:tldr" ] }, { "id": "urn:ce:software-architecture:artifact:c4", "kindId": "artifact", "title": "C4 model diagram", "tldr": "A set of views for communicating software architecture.", "summary": "The C4 model offers a small set of diagrams, from system context down to code, so different readers can stop at the level they need.", "tags": [ "diagram" ], "sourceRefs": [ "src:software-architecture:authored-demo" ], "asOf": "2026-10-12", "claimRefs": [ "claim:c4:tldr" ] } ], "relations": [ { "id": "r1", "predicate": "adapts", "from": "urn:ce:software-architecture:pattern:adapter", "to": "urn:ce:software-architecture:concept:interface", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r2", "predicate": "uses", "from": "urn:ce:software-architecture:pattern:ports-adapters", "to": "urn:ce:software-architecture:concept:interface", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r3", "predicate": "addressed-by", "from": "urn:ce:software-architecture:concept:coupling", "to": "urn:ce:software-architecture:pattern:ports-adapters", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r4", "predicate": "related-to", "from": "urn:ce:software-architecture:concept:cohesion", "to": "urn:ce:software-architecture:concept:coupling", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r5", "predicate": "documents", "from": "urn:ce:software-architecture:artifact:adr", "to": "urn:ce:software-architecture:pattern:ports-adapters", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r6", "predicate": "visualizes", "from": "urn:ce:software-architecture:artifact:c4", "to": "urn:ce:software-architecture:concept:interface", "sourceRefs": [ "src:software-architecture:authored-demo" ] }, { "id": "r7", "predicate": "affects", "from": "urn:ce:software-architecture:pattern:event-driven", "to": "urn:ce:software-architecture:concept:coupling", "sourceRefs": [ "src:software-architecture:authored-demo" ] } ], "claims": [ { "id": "claim:coupling:tldr", "subjectId": "urn:ce:software-architecture:concept:coupling", "key": "tldr", "value": "The degree to which software elements depend on one another.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:cohesion:tldr", "subjectId": "urn:ce:software-architecture:concept:cohesion", "key": "tldr", "value": "The degree to which a module groups related responsibilities.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:interface:tldr", "subjectId": "urn:ce:software-architecture:concept:interface", "key": "tldr", "value": "An agreed description of interaction between components.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:adapter:tldr", "subjectId": "urn:ce:software-architecture:pattern:adapter", "key": "tldr", "value": "An adapter translates between interfaces.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:ports-adapters:tldr", "subjectId": "urn:ce:software-architecture:pattern:ports-adapters", "key": "tldr", "value": "A pattern for isolating core logic from outside systems.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:event-driven:tldr", "subjectId": "urn:ce:software-architecture:pattern:event-driven", "key": "tldr", "value": "Software components communicate through events.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:alexander:tldr", "subjectId": "urn:ce:software-architecture:person:alexander", "key": "tldr", "value": "Architect whose pattern-language ideas influenced software design.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:adr:tldr", "subjectId": "urn:ce:software-architecture:artifact:adr", "key": "tldr", "value": "A lightweight record of architectural decisions and rationale.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:c4:tldr", "subjectId": "urn:ce:software-architecture:artifact:c4", "key": "tldr", "value": "A set of views for communicating software architecture.", "status": "asserted", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" }, { "id": "claim:unknown:numeric-scale", "subjectId": "urn:ce:software-architecture:concept:coupling", "key": "numeric-scale", "status": "unknown", "evidenceRefs": [ "src:software-architecture:authored-demo" ], "observedAt": "2026-10-12" } ] }