User Story
As a new contributor to the eknowledge project,
I want comprehensive documentation for the RELATIONS list in relations.py
so that I can understand the ontology design principles when adding or modifying relationships.
Background
The RELATIONS list in relations.py contains 50+ relationship types (e.g., has_property, derived_from, temporally_related_to) but lacks design context. Contributors extending this ontology may:
- Misinterpret relationship scopes (e.g., confusing
part_of vs belongs_to)
- Introduce redundant relationships
- Overlook hierarchical patterns (e.g.,
is_a vs subclass_of)
Current risks include inconsistent relationship additions and increased maintenance costs. The absence of design rationale forces contributors to reverse-engineer patterns from existing entries.
Acceptance Criteria
User Story
As a new contributor to the eknowledge project,
I want comprehensive documentation for the
RELATIONSlist inrelations.pyso that I can understand the ontology design principles when adding or modifying relationships.
Background
The
RELATIONSlist inrelations.pycontains 50+ relationship types (e.g.,has_property,derived_from,temporally_related_to) but lacks design context. Contributors extending this ontology may:part_ofvsbelongs_to)is_avssubclass_of)Current risks include inconsistent relationship additions and increased maintenance costs. The absence of design rationale forces contributors to reverse-engineer patterns from existing entries.
Acceptance Criteria
relations.pyto add a docstring directly above theRELATIONSlist declarationhas_attributeandhas_propertyare distinct)located_invscontains)RELATIONSentriespytestruns pass without modifications to test logic