has_component

A predicate declaring that the subject contains the object as one of its components -- a mereological relation where the subject is a whole and the object is a named part. The edge names partial inclusion; the subject may carry additional has_component:: edges to other parts, and the object may be a component of other wholes.

The edge lands in Relations on nodes that are composite concepts, artifacts, or systems. A Markdown Node has Wikilink Syntax and Named Edge as components; a Named Edge has Wikilink Syntax as a component; a Compound Node has Markdown Node as its constituent (previously written as composed_of::, consolidated into this predicate).

Carries

The predicate names a whole-to-part direction. The subject is the containing whole; the object is a named component. The edge does not claim that the object is the sole or exhaustive component of the subject -- additional has_component:: edges on the same subject name additional components, each its own partial-inclusion claim. The edge also does not claim that the object exclusively belongs to this subject; the same component can appear in multiple wholes.

A reader encountering X has_component::Y learns that Y is part of X's composition without learning whether Y is the whole of it. The partial-inclusion sense is what distinguishes this predicate from the substrate-dependence and reasoning-dependence predicates in the graph's vocabulary.

Crescent

Against [[built_on -- foundational substrate the subject rests on]]

built_on:: names a foundation-to-dependent direction where the subject rests on an underlying substrate (a file format, a platform, an infrastructure layer). has_component:: names mereological composition. The two predicates can apply to the same subject-object pair when a component also serves as a substrate, but they carry distinct claims: has_component:: says "Y is part of X"; built_on:: says "X depends on Y as foundation." A Markdown Node has_component Wikilink Syntax (wikilinks are part of what makes a file a node); a Markdown Node built_on CommonMark (CommonMark is the substrate file format that predates the node-reading discipline).

Against [[grounded_in -- normative or structural foundation]]

grounded_in:: names intellectual or structural dependence on prior commitments -- a Decision grounded in a Conviction, a Requirement grounded in a Decision. has_component:: names constitutive composition. The axes are distinct: grounding runs through reasoning and justification; component-containment runs through constitution. A Decision does not "have as a component" the Conviction that grounds it; it reasons from it. A Markdown Node does have as a component the Wikilink Syntax it contains.

Typing

Instances

Relations