Concept constructor
Concept({
- required String id,
- required String content,
- double activationLevel = 0.5,
- DateTime? creationTime,
- Map<
String, dynamic> ? properties, - SemanticVector? embedding,
- EmotionalValence emotionalValence = EmotionalValence.neutral,
- double emotionalIntensity = 0.0,
- PerceptionModality modality = PerceptionModality.abstract,
- double familiarity = 0.5,
- double contextualRelevance = 0.5,
Implementation
Concept({
required this.id,
required this.content,
double activationLevel = 0.5,
DateTime? creationTime,
List<String>? relatedConceptIds,
Map<String, dynamic>? properties,
SemanticVector? embedding,
this.emotionalValence = EmotionalValence.neutral,
this.emotionalIntensity = 0.0,
this.modality = PerceptionModality.abstract,
this.familiarity = 0.5,
this.contextualRelevance = 0.5,
}) : assert(activationLevel >= 0.0 && activationLevel <= 1.0,
'activationLevel must be in [0, 1]'),
assert(emotionalIntensity >= 0.0 && emotionalIntensity <= 1.0,
'emotionalIntensity must be in [0, 1]'),
assert(familiarity >= 0.0 && familiarity <= 1.0,
'familiarity must be in [0, 1]'),
assert(contextualRelevance >= 0.0 && contextualRelevance <= 1.0,
'contextualRelevance must be in [0, 1]'),
activationLevel = activationLevel,
creationTime = creationTime ?? DateTime.now(),
relatedConceptIds = relatedConceptIds ?? const [],
properties = properties ?? const {},
embedding = embedding;