Introduction
The concept graph can be constructed in different ways. This page contains various design models represented as class diagrams.
Graph Design Models
Generic Graph
Nodes and edges are represented in a generic way, allowing an arbitrary graph to be constructed.
Pro
- Complete flexibility
- Easily extensible
Con
- Nodes must be overloaded with all attributes
- No inherent meaning. Must rely on convention
Fixed Node Types, No Edges
The graph has readily apparent kinds of nodes, likely to be commonly occurring in any statement. Each kind of node is separated into a specific node type, with a fixed relationship to other node types. Edges are no longer needed.
By distilling the essential node types, this representation removes the ambiguity of a free-form graph, making the formation of meaningful sentences direct and obvious.
Pro
- Sentence structure is clear
- Each node type can have appropriate attributes
Con
- Extensibility requires continually adding new node types
- No method for augmenting semantics (can't make new associations between nodes)
Qualified Concept Names
The concept names in the Fixed Node Type diagram can now be used for multiple purposes by annotating them with well-known tags. For example, "preferred" or "abbreviation". Overloading the ConceptName in this way allows synonyms to be folded in by adding a type named "synonym".
Pro
- Reduced complexity of representation
- Simple mechanism for extending semantics in a controlled way
Con
- expressions still limited by fixed structure of the graph