Class Concept

java.lang.Object
org.episteme.social.philosophy.Concept
All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named

public class Concept extends Object implements ComprehensiveIdentification
Represents a key idea or element within a philosophical framework.

Concepts can be interlinked to form a semantic network, allowing for complex conceptual mapping and analysis of philosophical systems.

Modernized to implement ComprehensiveIdentification and support dynamic traits and consistent identity. * @version 7.0
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Concept

      public Concept(String name)
      Creates a new Concept.
      Parameters:
      name - the name of the concept
      Throws:
      IllegalArgumentException - if name is null or empty
    • Concept

      public Concept(String name, String description)
      Rich constructor with description.
  • Method Details

    • getId

      public Identification getId()
      Description copied from interface: Identified
      Returns the unique identifier of this entity.
      Specified by:
      getId in interface Identified<Identification>
      Returns:
      the identifier
    • getTraits

      public Map<String,Object> getTraits()
      Description copied from interface: ComprehensiveIdentification
      Returns the traits map for this entity.
      Specified by:
      getTraits in interface Commented
      Specified by:
      getTraits in interface ComprehensiveIdentification
      Returns:
      the traits map
    • getDescription

      public String getDescription()
    • setDescription

      public void setDescription(String description)
    • getRelatedConcepts

      public Set<Concept> getRelatedConcepts()
      Retrieves the set of directly related concepts.
      Returns:
      unmodifiable set of related concepts
    • addRelatedConcept

      public void addRelatedConcept(Concept concept)
      Adds a relation to another concept.
      Parameters:
      concept - the concept to relate to
    • removeRelatedConcept

      public void removeRelatedConcept(Concept concept)
      Removes a relation to another concept.
      Parameters:
      concept - the concept to unlink
    • getAllConcepts

      public Set<Concept> getAllConcepts()
      Recursively retrieves all reachable concepts from this concept. Performs a breadth-first traversal.
      Returns:
      set of all reachable concepts (including this one)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object