Class Subject

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

public class Subject extends Object implements ComprehensiveIdentification
Represents an epistemic agent (human, organization, or AI) capable of holding beliefs and acquiring knowledge. Modernized to implement ComprehensiveIdentification and support dynamic traits and consistent identity.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Subject

      public Subject(String name)
      Creates a new Subject.
      Parameters:
      name - the name of the subject
  • 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
    • addBelief

      public void addBelief(Belief belief)
      Adds a belief to the subject's belief system.
      Parameters:
      belief - the belief to add
    • addKnowledge

      public void addKnowledge(Knowledge knowledge)
      Adds knowledge to the subject's knowledge base. Also adds the underlying belief if not already present.
      Parameters:
      knowledge - the knowledge to add
    • getBeliefs

      public List<Belief> getBeliefs()
      Returns an unmodifiable view of the subject's beliefs.
      Returns:
      the list of beliefs
    • getKnowledgeBase

      public List<Knowledge> getKnowledgeBase()
      Returns an unmodifiable view of the subject's knowledge base.
      Returns:
      the list of knowledge
    • knows

      public boolean knows(Proposition proposition)
      Checks if the subject "knows" a certain proposition.
      Parameters:
      proposition - the proposition to check
      Returns:
      true if it exists in the knowledge base
    • 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