HAS_BUILDING_MATERIAL
HAS_BUILDING_MATERIAL edge/relationship definition.
Description
Connects an ARCHITECTURAL ( :Place:Context ) or ( :Thing:BuildingSection ) to a ( :Vocab:MaterialType ) node to record that the material is a primary element in its construction. Additional details (e.g., size, color, masonry style, etc.) may be recorded as edge properties.
Analogy
"Formation" column in "Context" table or join row(s), column(s), or table(s) defining relationship between a Context and a formation type.
CIDOC-CRM Mapping
MAYBE include a short summmary here, but leave the details for the designated CIDOC-CRM section.
Relevant Nodes, Directions, and Cardinality
[ :Place:Context | :Thing:BuildingSection ] ——[ :HAS_BUILDING_MATERIAL ]——> @[0..*] [ :Vocab:MaterialType ] ⟵ @[0..*]
- Each ARCHITECTURAL Context or BuildingSection may have zero or many primary building MaterialTypes.
- Each MaterialType may be a primary building material for zero or many Contexts or BuildingSections.
Edge/Relationship Properties
| property | type | req? | uniq? | description | example(s) |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| sizeLength | float | n | n | A numerical value for the average length measurement of individual pieces of this building material, in terms of the unit defined in the sizeUnit property, to two decimal points. | 61.00 |
| sizeWidth | float | n | n | A numerical value for the average width measurement of individual pieces of this building material, in terms of the unit defined in the sizeUnit property, to two decimal points. | 26.50 |
| sizeHeight | float | n | n | A numerical value for the average height measurement of individual pieces of this building material, in terms of the unit defined in the sizeUnit property, to two decimal points. | 30.50 |
| sizeUnit | string | n | n | The unit of measurement for the recorded size measurements (sizeLength, sizeWidth, sizeHeight properties), selected from options defined in the ( :Vocab:MeasureUnit ) controlled vocabulary. | "centimeters" |
| percent | integer | n | n | A numerical value (no decimal points) of the approximate percentage of this material in terms of the whole. | 85 |
| color | string | n | n | A description of the average color of this building material, selected from options in ( :Vocab:Color ). | "Very Dark Grey" |
| stoneFinish | string | n | n | A description of the finish type for STONE building material, selected from options in ( :Vocab:StoneFinishType ). | "roughly hewn" |
| masonryStyle | string | n | n | A description of the masonry style for walls and other masonry features, selected from options in ( :Vocab:MasonryStyle ). | "regular courses" |
| masonryTechnique | [string list] | n | n | Any observed masonry technique, as a string array, selected from options in ( :Vocab:MasonryTechnique ). | ["corbels", "quoins", "string courses"] |
POSSIBLE: System/Audit Properties
Need to decide if we should include the full (or a partial) audit trail for edge/relationships. I'm leaning toward YES.(these are not required/enforced by Neo4j but are populated via the UJAP Database web application; these could also be handled—perhaps more simply—by edge/relationship to AuditEvent nodes)
| property | type | req? | uniq? | description | example(s) |
|---|---|---|---|---|---|
| proposedAt | datetime | n | n | Timestamp of entity proposal (initial database record creation) | "2026-01-30T02:39:15.638Z" |
| proposedBy | string | n | n | Email or userID of the person who created this entity's initial/proposed record | "person@email.com" |
| approvedAt | datetime | n | n | Timestamp of entity proposal (initial database record creation) | "2026-01-30T12:47:15.638Z" |
| approvedBy | string | n | n | Email or userID of the person who created this entity's initial/proposed record | "person@email.com" |
| committedAt | datetime | n | n | of node entity COMMIT (i.e., formal approval/ publishing to database by an admin). | "2026-01-31T02:41:56.043Z" |
| committedBy | string | n | n | Email or userID of the person who COMMITTED this node entity. | "person@email.com" |
Example Visualization
Insert visualization here, drawn in Arrows.app and using the correct color-coding.