Class Annotation

Namespace
Kuestenlogik.Bowire.Semantics
Assembly
Kuestenlogik.Bowire.dll

One semantic annotation: a tagged claim that the field addressed by Key carries the meaning Semantic, and that the claim originates from Source.

public sealed record Annotation : IEquatable<Annotation>
Inheritance
Annotation
Implements
Inherited Members

Remarks

Annotations are the single data model the entire frame-semantics framework runs on. Detectors propose them; plugins ship them as part of their Discovery-Descriptor; users edit them; viewers and editors consume them.

Equality is value-based (record default). Two annotations from different sources can therefore coexist in a single store without clobbering one another — the store keys them by (Key, Source) internally and applies the resolution priority at lookup time.

Constructors

Annotation(AnnotationKey, SemanticTag, AnnotationSource)

One semantic annotation: a tagged claim that the field addressed by Key carries the meaning Semantic, and that the claim originates from Source.

public Annotation(AnnotationKey Key, SemanticTag Semantic, AnnotationSource Source)

Parameters

Key AnnotationKey

Four-dimensional address of the annotated field.

Semantic SemanticTag

The semantic kind this field carries.

Source AnnotationSource

Origin of the annotation, used for resolution priority.

Remarks

Annotations are the single data model the entire frame-semantics framework runs on. Detectors propose them; plugins ship them as part of their Discovery-Descriptor; users edit them; viewers and editors consume them.

Equality is value-based (record default). Two annotations from different sources can therefore coexist in a single store without clobbering one another — the store keys them by (Key, Source) internally and applies the resolution priority at lookup time.

Properties

Key

Four-dimensional address of the annotated field.

public AnnotationKey Key { get; init; }

Property Value

AnnotationKey

Semantic

The semantic kind this field carries.

public SemanticTag Semantic { get; init; }

Property Value

SemanticTag

Source

Origin of the annotation, used for resolution priority.

public AnnotationSource Source { get; init; }

Property Value

AnnotationSource

Methods

Deconstruct(out AnnotationKey, out SemanticTag, out AnnotationSource)

public void Deconstruct(out AnnotationKey Key, out SemanticTag Semantic, out AnnotationSource Source)

Parameters

Key AnnotationKey
Semantic SemanticTag
Source AnnotationSource

Equals(Annotation?)

public bool Equals(Annotation? other)

Parameters

other Annotation

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(Annotation?, Annotation?)

public static bool operator ==(Annotation? left, Annotation? right)

Parameters

left Annotation
right Annotation

Returns

bool

operator !=(Annotation?, Annotation?)

public static bool operator !=(Annotation? left, Annotation? right)

Parameters

left Annotation
right Annotation

Returns

bool