document

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidAmountUnit

func ValidAmountUnit(unit string) bool

Types

type AllClaimsVisitor

type AllClaimsVisitor struct {
	Result []Claim
}

func (*AllClaimsVisitor) VisitAmount

func (v *AllClaimsVisitor) VisitAmount(claim *AmountClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitAmountRange

func (v *AllClaimsVisitor) VisitAmountRange(claim *AmountRangeClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitFile

func (v *AllClaimsVisitor) VisitFile(claim *FileClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitIdentifier

func (v *AllClaimsVisitor) VisitIdentifier(claim *IdentifierClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitNoValue

func (v *AllClaimsVisitor) VisitNoValue(claim *NoValueClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitReference

func (v *AllClaimsVisitor) VisitReference(claim *ReferenceClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitRelation

func (v *AllClaimsVisitor) VisitRelation(claim *RelationClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitString

func (v *AllClaimsVisitor) VisitString(claim *StringClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitText

func (v *AllClaimsVisitor) VisitText(claim *TextClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitTime

func (v *AllClaimsVisitor) VisitTime(claim *TimeClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitTimeRange

func (v *AllClaimsVisitor) VisitTimeRange(claim *TimeRangeClaim) (VisitResult, errors.E)

func (*AllClaimsVisitor) VisitUnknownValue

func (v *AllClaimsVisitor) VisitUnknownValue(claim *UnknownValueClaim) (VisitResult, errors.E)

type AmountClaim

type AmountClaim struct {
	CoreClaim

	Prop   Reference  `json:"prop"`
	Amount float64    `json:"amount"`
	Unit   AmountUnit `json:"unit"`
}

type AmountClaims

type AmountClaims = []AmountClaim

type AmountRangeClaim

type AmountRangeClaim struct {
	CoreClaim

	Prop  Reference  `json:"prop"`
	Lower float64    `json:"lower"`
	Upper float64    `json:"upper"`
	Unit  AmountUnit `json:"unit"`
}

type AmountRangeClaims

type AmountRangeClaims = []AmountRangeClaim

type AmountUnit

type AmountUnit int
const (
	AmountUnitCustom AmountUnit = iota
	AmountUnitNone
	AmountUnitRatio
	AmountUnitKilogramPerKilogram
	AmountUnitKilogram
	AmountUnitKilogramPerCubicMetre
	AmountUnitMetre
	AmountUnitSquareMetre
	AmountUnitMetrePerSecond
	AmountUnitVolt
	AmountUnitWatt
	AmountUnitPascal
	AmountUnitCoulomb
	AmountUnitJoule
	AmountUnitCelsius
	AmountUnitRadian
	AmountUnitHertz
	AmountUnitDollar
	AmountUnitByte
	AmountUnitPixel
	AmountUnitSecond

	// Count of the number of possible values.
	AmountUnitsTotal
)

func (AmountUnit) MarshalJSON

func (u AmountUnit) MarshalJSON() ([]byte, error)

func (*AmountUnit) UnmarshalJSON

func (u *AmountUnit) UnmarshalJSON(b []byte) error

type Claim

type Claim interface {
	GetID() identifier.Identifier
	GetConfidence() Confidence
	AddMeta(claim Claim) errors.E
	GetMetaByID(id identifier.Identifier) Claim
	RemoveMetaByID(id identifier.Identifier) Claim
	VisitMeta(visitor Visitor) errors.E
}

type ClaimTypes

type ClaimTypes struct {
	Identifier   IdentifierClaims   `exhaustruct:"optional" json:"id,omitempty"`
	Reference    ReferenceClaims    `exhaustruct:"optional" json:"ref,omitempty"`
	Text         TextClaims         `exhaustruct:"optional" json:"text,omitempty"`
	String       StringClaims       `exhaustruct:"optional" json:"string,omitempty"`
	Amount       AmountClaims       `exhaustruct:"optional" json:"amount,omitempty"`
	AmountRange  AmountRangeClaims  `exhaustruct:"optional" json:"amountRange,omitempty"`
	Relation     RelationClaims     `exhaustruct:"optional" json:"rel,omitempty"`
	File         FileClaims         `exhaustruct:"optional" json:"file,omitempty"`
	NoValue      NoValueClaims      `exhaustruct:"optional" json:"none,omitempty"`
	UnknownValue UnknownValueClaims `exhaustruct:"optional" json:"unknown,omitempty"`
	Time         TimeClaims         `exhaustruct:"optional" json:"time,omitempty"`
	TimeRange    TimeRangeClaims    `exhaustruct:"optional" json:"timeRange,omitempty"`
}

func (*ClaimTypes) Size

func (c *ClaimTypes) Size() int

func (*ClaimTypes) Visit

func (c *ClaimTypes) Visit(visitor Visitor) errors.E

type Confidence

type Confidence = Score

type CoreClaim

type CoreClaim struct {
	ID         identifier.Identifier `                       json:"id"`
	Confidence Confidence            `                       json:"confidence"`
	Meta       *ClaimTypes           `exhaustruct:"optional" json:"meta,omitempty"`
}

func (*CoreClaim) AddMeta

func (cc *CoreClaim) AddMeta(claim Claim) errors.E

func (CoreClaim) GetConfidence

func (cc CoreClaim) GetConfidence() Confidence

func (CoreClaim) GetID

func (cc CoreClaim) GetID() identifier.Identifier

func (*CoreClaim) GetMeta

func (cc *CoreClaim) GetMeta(propID identifier.Identifier) []Claim

func (*CoreClaim) GetMetaByID

func (cc *CoreClaim) GetMetaByID(id identifier.Identifier) Claim

func (*CoreClaim) RemoveMetaByID

func (cc *CoreClaim) RemoveMetaByID(id identifier.Identifier) Claim

func (*CoreClaim) VisitMeta

func (cc *CoreClaim) VisitMeta(visitor Visitor) errors.E

type CoreDocument

type CoreDocument struct {
	ID     identifier.Identifier `                       json:"id"`
	Score  Score                 `                       json:"score"`
	Scores Scores                `exhaustruct:"optional" json:"scores,omitempty"`
}

type FileClaim

type FileClaim struct {
	CoreClaim

	Prop    Reference `json:"prop"`
	Type    string    `json:"type"`
	URL     string    `json:"url"`
	Preview []string  `json:"preview,omitempty"`
}

type FileClaims

type FileClaims = []FileClaim

type GetByIDVisitor

type GetByIDVisitor struct {
	ID     identifier.Identifier
	Action VisitResult
	Result Claim
}

func (*GetByIDVisitor) VisitAmount

func (v *GetByIDVisitor) VisitAmount(claim *AmountClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitAmountRange

func (v *GetByIDVisitor) VisitAmountRange(claim *AmountRangeClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitFile

func (v *GetByIDVisitor) VisitFile(claim *FileClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitIdentifier

func (v *GetByIDVisitor) VisitIdentifier(claim *IdentifierClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitNoValue

func (v *GetByIDVisitor) VisitNoValue(claim *NoValueClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitReference

func (v *GetByIDVisitor) VisitReference(claim *ReferenceClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitRelation

func (v *GetByIDVisitor) VisitRelation(claim *RelationClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitString

func (v *GetByIDVisitor) VisitString(claim *StringClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitText

func (v *GetByIDVisitor) VisitText(claim *TextClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitTime

func (v *GetByIDVisitor) VisitTime(claim *TimeClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitTimeRange

func (v *GetByIDVisitor) VisitTimeRange(claim *TimeRangeClaim) (VisitResult, errors.E)

func (*GetByIDVisitor) VisitUnknownValue

func (v *GetByIDVisitor) VisitUnknownValue(claim *UnknownValueClaim) (VisitResult, errors.E)

type GetByPropIDVisitor

type GetByPropIDVisitor struct {
	ID     identifier.Identifier
	Action VisitResult
	Result []Claim
}

func (*GetByPropIDVisitor) VisitAmount

func (v *GetByPropIDVisitor) VisitAmount(claim *AmountClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitAmountRange

func (v *GetByPropIDVisitor) VisitAmountRange(claim *AmountRangeClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitFile

func (v *GetByPropIDVisitor) VisitFile(claim *FileClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitIdentifier

func (v *GetByPropIDVisitor) VisitIdentifier(claim *IdentifierClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitNoValue

func (v *GetByPropIDVisitor) VisitNoValue(claim *NoValueClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitReference

func (v *GetByPropIDVisitor) VisitReference(claim *ReferenceClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitRelation

func (v *GetByPropIDVisitor) VisitRelation(claim *RelationClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitString

func (v *GetByPropIDVisitor) VisitString(claim *StringClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitText

func (v *GetByPropIDVisitor) VisitText(claim *TextClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitTime

func (v *GetByPropIDVisitor) VisitTime(claim *TimeClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitTimeRange

func (v *GetByPropIDVisitor) VisitTimeRange(claim *TimeRangeClaim) (VisitResult, errors.E)

func (*GetByPropIDVisitor) VisitUnknownValue

func (v *GetByPropIDVisitor) VisitUnknownValue(claim *UnknownValueClaim) (VisitResult, errors.E)

type IdentifierClaim

type IdentifierClaim struct {
	CoreClaim

	Prop       Reference `json:"prop"`
	Identifier string    `json:"id"`
}

type IdentifierClaims

type IdentifierClaims = []IdentifierClaim

type Mnemonic

type Mnemonic string

type NoValueClaim

type NoValueClaim struct {
	CoreClaim

	Prop Reference `json:"prop"`
}

type NoValueClaims

type NoValueClaims = []NoValueClaim

type Reference

type Reference struct {
	ID    *identifier.Identifier `json:"id,omitempty"`
	Score Score                  `json:"score"`

	// Used to store temporary opaque reference before it is resolved in the second pass when importing data.
	Temporary []string `exhaustruct:"optional" json:"_temp,omitempty"` //nolint:tagliatelle
}

type ReferenceClaim

type ReferenceClaim struct {
	CoreClaim

	Prop Reference `json:"prop"`
	IRI  string    `json:"iri"`
}

type ReferenceClaims

type ReferenceClaims = []ReferenceClaim

type RelationClaim

type RelationClaim struct {
	CoreClaim

	Prop Reference `json:"prop"`
	To   Reference `json:"to"`
}

type RelationClaims

type RelationClaims = []RelationClaim

type Score

type Score float64

type Scores

type Scores map[string]Score

Score name to score mapping.

type StringClaim

type StringClaim struct {
	CoreClaim

	Prop   Reference `json:"prop"`
	String string    `json:"string"`
}

type StringClaims

type StringClaims = []StringClaim

type TextClaim

type TextClaim struct {
	CoreClaim

	Prop Reference              `json:"prop"`
	HTML TranslatableHTMLString `json:"html"`
}

type TextClaims

type TextClaims = []TextClaim

type TimeClaim

type TimeClaim struct {
	CoreClaim

	Prop      Reference     `json:"prop"`
	Timestamp Timestamp     `json:"timestamp"`
	Precision TimePrecision `json:"precision"`
}

type TimeClaims

type TimeClaims = []TimeClaim

type TimePrecision

type TimePrecision int
const (
	TimePrecisionGigaYears TimePrecision = iota
	TimePrecisionHundredMegaYears
	TimePrecisionTenMegaYears
	TimePrecisionMegaYears
	TimePrecisionHundredKiloYears
	TimePrecisionTenKiloYears
	TimePrecisionKiloYears
	TimePrecisionHundredYears
	TimePrecisionTenYears
	TimePrecisionYear
	TimePrecisionMonth
	TimePrecisionDay
	TimePrecisionHour
	TimePrecisionMinute
	TimePrecisionSecond
)

func (TimePrecision) MarshalJSON

func (p TimePrecision) MarshalJSON() ([]byte, error)

func (*TimePrecision) UnmarshalJSON

func (p *TimePrecision) UnmarshalJSON(b []byte) error

type TimeRangeClaim

type TimeRangeClaim struct {
	CoreClaim

	Prop      Reference     `json:"prop"`
	Lower     Timestamp     `json:"lower"`
	Upper     Timestamp     `json:"upper"`
	Precision TimePrecision `json:"precision"`
}

type TimeRangeClaims

type TimeRangeClaims = []TimeRangeClaim

type Timestamp

type Timestamp time.Time

func (Timestamp) MarshalJSON

func (t Timestamp) MarshalJSON() ([]byte, error)

func (Timestamp) String

func (t Timestamp) String() string

func (*Timestamp) UnmarshalJSON

func (t *Timestamp) UnmarshalJSON(data []byte) error

type TranslatableHTMLString

type TranslatableHTMLString map[string]string

Language to HTML string mapping.

type UnknownValueClaim

type UnknownValueClaim struct {
	CoreClaim

	Prop Reference `json:"prop"`
}

type UnknownValueClaims

type UnknownValueClaims = []UnknownValueClaim

type VisitResult

type VisitResult int
const (
	Keep VisitResult = iota
	KeepAndStop
	Drop
	DropAndStop
)

type Visitor

type Visitor interface {
	VisitIdentifier(claim *IdentifierClaim) (VisitResult, errors.E)
	VisitReference(claim *ReferenceClaim) (VisitResult, errors.E)
	VisitText(claim *TextClaim) (VisitResult, errors.E)
	VisitString(claim *StringClaim) (VisitResult, errors.E)
	VisitAmount(claim *AmountClaim) (VisitResult, errors.E)
	VisitAmountRange(claim *AmountRangeClaim) (VisitResult, errors.E)
	VisitRelation(claim *RelationClaim) (VisitResult, errors.E)
	VisitFile(claim *FileClaim) (VisitResult, errors.E)
	VisitNoValue(claim *NoValueClaim) (VisitResult, errors.E)
	VisitUnknownValue(claim *UnknownValueClaim) (VisitResult, errors.E)
	VisitTime(claim *TimeClaim) (VisitResult, errors.E)
	VisitTimeRange(claim *TimeRangeClaim) (VisitResult, errors.E)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL