View Source GoogleApi.ContentWarehouse.V1.Model.StorageGraphBfgLivegraphProvenanceMetadata (google_api_content_warehouse v0.4.0)

Metadata on source assertions that isn't part of the user-visible Triple payload, and that doesn't really represent data provenance, but that's used to affect the way Livegraph and possibly other horizontal KG infra systems process the triple. Read: fields below really shouldn't be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to "hide" those fields that ought to be purely part of the internal source <-> LG contract. Next id: 6

Attributes

  • directWriteRecordIds (type: list(String.t), default: nil) - If one triple is directly-written after recon by LG without going through Composer, we add the record id it's from. Otherwise, it's empty. Note: 1) LG will dedup record ids before updating it. So this field shouldn't see duplicated record ids. 2) This is used internally by LG only. So if set by clients, they will be dropped by LG.
  • lgInternalWriterId (type: String.t, default: nil) - Identifies the LG internal writers that asserted the triple. This is the same as 'origin_id' in LG. This will only be populated by the LG writers to FactStore
  • provenanceOnlyAddition (type: boolean(), default: nil) - Whether this provenance is a provenance only addition or not. A provenance is considered an "addition" if it belongs to a triple that we expect FactStore to contain on its own (i.e through some inference), and thus we will not attempt to write it explicitly. This is a composer only populated field. Clients are not expected to populate this field.
  • triangulationKey (type: list(String.t), default: nil) - Triples typically have a single triangulation key. This field supports > 1 keys to allow staged transition to a different key scheme. To successfully triangulate in the Livegraph Composer, the triple must have >=3 instances and each triple instance having a pairwise disjoint set of triangulation keys. The triangulation keys supplied for a single input triple are treated part of the same set, so a single triple cannot self-triangulate, regardless of how many triangulation keys it has. Note2: If a triple has multiple provenances, each one is expected to set the same triangulation_keys.
  • weakData (type: boolean(), default: nil) - WARNING! The feature is still under active development and the exact semantics may be subject to change pending KE Design Review. Data marked as weak will be less preferred to regular data which does not have the marker. This allows ingesting data with a lower chance of negatively affecting existing features and products, at the cost of potentially not showing the data when competing data is available. Specifically, weak data is less preferred by conflict resolution inside of Livegraph composition. Additionally, RefX triggering will prefer to trigger based on signals computed from regular data. Aside from data providers choosing to mark their data as weak, Livegraph and RefX are the only horizontal systems expected to use this information. Please contact livegraph-team@ if you see a need for this to change. See go/weak-data for more information.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() ::
  %GoogleApi.ContentWarehouse.V1.Model.StorageGraphBfgLivegraphProvenanceMetadata{
    directWriteRecordIds: [String.t()] | nil,
    lgInternalWriterId: String.t() | nil,
    provenanceOnlyAddition: boolean() | nil,
    triangulationKey: [String.t()] | nil,
    weakData: boolean() | nil
  }

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.