View Source API Reference google_api_content_warehouse v0.3.0
Modules
API client metadata for GoogleApi.ContentWarehouse.V1.
API calls for all endpoints tagged Projects
.
Handle Tesla connections for GoogleApi.ContentWarehouse.V1.
A client is be a Google product, or subproduct that provides content for AbuseIAm to classify.
Extra information regarding evaluations received through cluster review.
Pair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.
Backends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.
Attributes
-
booleanValue
(type:boolean()
, default:nil
) - Exactly one of the following should be filled in. -
doubleValue
(type:float()
, default:nil
) - -
featureCount
(type:String.t
, default:nil
) - Useful for applications that need to know how many times a specific feature occurs -
int64Value
(type:String.t
, default:nil
) - Useful for timestamps, or for numerical features where it is helpful for decision scripts to have exact values. -
integerValue
(type:integer()
, default:nil
) - integer value field is deprecated and shall only be used for passing the following features hardcoded in spamiam::SpamIAmMessage: spamiam::OrkutSenderId spamiam::OrkutPostnumReports spamiam::BloggerNumComments spamiam::BloggerNumCommentsByOthers Another hard-coded spamiam feature is spamiam::BlogName, which can be specified via string value. -
name
(type:String.t
, default:nil
) - -
stringValue
(type:list(String.t)
, default:nil
) - -
timestampSequence
(type:list(String.t)
, default:nil
) - This field should only be used to store a sequence of timestamps associated with the feature.
A node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France.
Attributes
-
location
(type:String.t
, default:nil
) - The location where the restriction applies. Defaults to the "The world". See go/iii. -
restriction
(type:GoogleApi.ContentWarehouse.V1.Model.AbuseiamUserRestriction.t
, default:nil
) - The UserRestriction that applies to this location. If not specified evaluates to true.
Information about various hashes that can be computed on a message ex: simhash, attachment hash, etc
Relevant information for manual review evaluations.
Attributes
-
region
(type:String.t
, default:nil
) - This is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict.
A SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD.
A structure used to configure a notification to a user.
Describes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.
Verdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.
Describes restrictions on where the verdict applies.
Describes a dimension of a context where a verdict applies.
Information about a video review.
Information about video reviewers.
The serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.
Attributes
-
anchor
(type:list(GoogleApi.ContentWarehouse.V1.Model.AnchorsAnchor.t)
, default:nil
) - -
homepageAnchorsDropped
(type:String.t
, default:nil
) - The total # of local homepage anchors dropped in AnchorAccumulator. -
indexTier
(type:integer()
, default:nil
) - The index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h. -
localAnchorsDropped
(type:String.t
, default:nil
) - The total # of local non-homepage anchors dropped in AnchorAccumulator. -
nonlocalAnchorsDropped
(type:String.t
, default:nil
) - The total # of non-local anchors dropped in AnchorAccumulator. -
redundantAnchorsDropped
(type:String.t
, default:nil
) - The *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor. -
redundantanchorinfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.AnchorsRedundantAnchorInfo.t)
, default:nil
) - -
supplementalAnchorsDropped
(type:String.t
, default:nil
) - The total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED. -
targetDocid
(type:String.t
, default:nil
) - may be implicit -
targetSite
(type:String.t
, default:nil
) - HOST_LEVEL site chunking. -
targetUrl
(type:String.t
, default:nil
) - This is produced during link extraction but not written out in the linklogs in order to save space.
Attributes
-
creationDate
(type:integer()
, default:nil
) - used for history - the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created. -
origText
(type:String.t
, default:nil
) - Original text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space. -
context2
(type:integer()
, default:nil
) - This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the 'context' field.) -
fontsize
(type:integer()
, default:nil
) - -
experimental
(type:boolean()
, default:nil
) - If true, the anchor is for experimental purposes and should not be used in serving. -
fragment
(type:String.t
, default:nil
) - The URL fragment for this anchor (the foo in http://www.google.com#foo) -
sourceType
(type:integer()
, default:nil
) - is to record the quality of the anchor's source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), - Anchors marked TYPE_HIGH_QUALITY are from base documents. - Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). - Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal. -
pagerankWeight
(type:number()
, default:nil
) - Weight to be stored in linkmaps for pageranker -
isLocal
(type:boolean()
, default:nil
) - The bit ~roughly~ indicates whether an anchor's source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above). -
originalTargetDocid
(type:String.t
, default:nil
) - The docid of the anchor's original target. This field is available if and only if the anchor is forwarded. -
fullLeftContext
(type:list(String.t)
, default:nil
) - The full context. These are not written out in the linklogs. -
expired
(type:boolean()
, default:nil
) - true iff exp domain -
catfishTags
(type:list(integer())
, default:nil
) - CATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexing -
deletionDate
(type:integer()
, default:nil
) - -
linkTags
(type:list(integer())
, default:nil
) - Contains info on link type, source page, etc. -
forwardingTypes
(type:integer()
, default:nil
) - How the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater. -
possiblyOldFirstseenDate
(type:boolean()
, default:nil
) - DEPRECATED. It used to be set if firstseen_date is not set. It's to indicate that the anchor is possibly old, but we don't have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies. -
locality
(type:integer()
, default:nil
) - For ranking purposes, the quality of an anchor is measured by its "locality" and "bucket". See quality/anchors/definitions.h for more information. -
demotionreason
(type:integer()
, default:nil
) - DEPRECATED -
parallelLinks
(type:integer()
, default:nil
) - The number of additional links from the same source page to the same target domain. Not populated if is_local is true. -
text
(type:String.t
, default:nil
) - Space-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc . -
source
(type:GoogleApi.ContentWarehouse.V1.Model.AnchorsAnchorSource.t
, default:nil
) - -
bucket
(type:integer()
, default:nil
) - -
fullRightContext
(type:list(String.t)
, default:nil
) - -
targetUrlEncoding
(type:integer()
, default:nil
) - A given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding. -
compressedOriginalTargetUrl
(type:String.t
, default:nil
) - The anchor's original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded. -
firstseenDate
(type:integer()
, default:nil
) - # days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extraction -
setiPagerankWeight
(type:number()
, default:nil
) - TEMPORARY -
context
(type:integer()
, default:nil
) - -
linkAdditionalInfo
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - Additional information related to the anchor, such as additional anchor text or scores. -
type
(type:integer()
, default:nil
) - DEPRECATED: Now in link_tags -
firstseenNearCreation
(type:boolean()
, default:nil
) - true if we think 'firstseen_date' is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it. -
lastUpdateTimestamp
(type:integer()
, default:nil
) - Used for history and freshness tracking - the timestamp this anchor is updated in indexing. -
offset
(type:integer()
, default:nil
) - This is the offset for the first term in the anchor - it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data. -
weight
(type:integer()
, default:nil
) - weights are 0-127 -
deleted
(type:boolean()
, default:nil
) - -
encodedNewsAnchorData
(type:integer()
, default:nil
) - Encoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines. -
compressedImageUrls
(type:list(String.t)
, default:nil
) - If the anchor contained images, these image urls are stored here in compressed form. -
timestamp
(type:String.t
, default:nil
) - This field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62.
attributes of the source document for the link
NOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we'll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.
Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.
Contains info about the entity that something is, or is owned by.
Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.
Contains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINED
A DestinationStream is a /namespace/id[0]/id[1]/.../id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A "comment Stream" (Fountain) on http://www.youtube.com/watch?id=123 It's possible for a single Activity to show in each of these destinations - and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3
Stores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.
Attributes
-
contentType
(type:String.t
, default:nil
) - -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
safeHtmlValue
(type:GoogleApi.ContentWarehouse.V1.Model.WebutilHtmlTypesSafeHtmlProto.t
, default:nil
) - Sanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested. -
value
(type:String.t
, default:nil
) -
Extension data for use in AboutMe.
See NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess.
Attributes
-
diffData
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData.t
, default:nil
) - -
highResUrl
(type:String.t
, default:nil
) - -
inconsistentPhoto
(type:boolean()
, default:nil
) - True if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it's recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photos -
lowResData
(type:String.t
, default:nil
) - Only present if the photo diff is greater than 0.01 on any color band. -
lowResUrl
(type:String.t
, default:nil
) - -
monogramUrl
(type:String.t
, default:nil
) - -
privateLowResAcl
(type:boolean()
, default:nil
) - True if the low-res photo has a private ACL set.
See UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto.
See ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.proto
Additional information about a container. TO BE DELETED: replaced by DeviceContactInfo.
Attributes
-
country
(type:String.t
, default:nil
) - -
countryCode
(type:String.t
, default:nil
) - -
encodedPlaceId
(type:String.t
, default:nil
) - FeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity. -
extendedAddress
(type:String.t
, default:nil
) - -
formatted
(type:String.t
, default:nil
) - -
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
locality
(type:String.t
, default:nil
) - -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
poBox
(type:String.t
, default:nil
) - -
pointSpec
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPointSpec.t
, default:nil
) - -
postalCode
(type:String.t
, default:nil
) - -
region
(type:String.t
, default:nil
) - -
streetAddress
(type:String.t
, default:nil
) - -
type
(type:String.t
, default:nil
) - The type of the address. The type can be free form or one of these predefined values:home
work
*other
Similar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.
Please read go/people-api-howto:age on how to get age data. Message for the Person.age_range_repeated
field. Replaces the existing Person.age_range
field.
Store all app unique info that are needed for app action fulfillment.
The best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, ... Rough source container priority order is Contact, then Profile, then Place.
IMPORTANT NOTES: - Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. - The birthday field should not be used to calculate the requester's age! To determine the requester's age, use person.age_range_repeated. - For more details about age see go/peopleapi-howto/age Birthday value may not be present: - Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. - Dasher users generally don't require birthday, but could optionally have it set by users. - Any other types of accounts (e.g. robot, service) do not have birthdays. - Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: - "Profile Birthday" (person.birthday.metadata.container is PROFILE) may not have a year set if user "hides" the year. - "Account Birthday" (see api-specific notes below) will only be returned for the requester's own profile. - People API (go/peopleapi): Account birthday is only supported in GetPeople for PeopleAPI. If account birthday is needed, use a request mask with: include_field { paths: "person.birthday" }
include_container: ACCOUNT
- People API++ (go/peopleapi++): Account birthday is supported for most apis in PeopleAPI++. If account birthday is needed, use a request mask with: include_field { paths: "person.account_birthday" }
include_container: PROFILE
(note: it will also need include_container: DOMAIN_PROFILE
because they must be requested together: go/people-api-masks#profile-domain_profile) - See go/papi-vs-papi++#birthday for more details.
Whether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don't act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.
Information provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArguments
A url to the person's calendar. As of 03/2018 is not supported for user Profile.
Information related to domain administrator (or authority) certification of a users age.
Attributes
-
channelId
(type:String.t
, default:nil
) - Unique ID that corresponds to a Youtube channel. -
commentCount
(type:String.t
, default:nil
) - Number of comments for a given Youtube channel. -
description
(type:String.t
, default:nil
) - Description of the channel. -
playlistCount
(type:String.t
, default:nil
) - -
profilePictureUrl
(type:String.t
, default:nil
) - A FIFE URL pointing to the channel's profile image (go/avatar-fife-urls) with default fife url options. Also refer to go/people-api-concepts:photos for People API's FIFE best practices. The image could be up to a couple of days stale, though it is much fresher in practice. If a fresh image is required, contact the YouTubeAccountProfileService. The URL itself expires ~30 days after generation. -
profileUrl
(type:String.t
, default:nil
) - URL of user's Youtube channel profile. -
subscriberCount
(type:String.t
, default:nil
) - Number of subscribers for a given Youtube channel. -
title
(type:String.t
, default:nil
) - Title of the YouTube channel -
usesYoutubeNames
(type:boolean()
, default:nil
) - Whether or not the channel's profile has a title/avatar that is canonical in YouTube. Used to determine if the product profile card should be part of the core persona or have their own persona. -
videoCount
(type:String.t
, default:nil
) - Number of videos uploaded in a given Youtube channel.
A circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.
Arbitrary client data that is populated based on the client
Email for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.
Contact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.
Contact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.
Contact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.
A membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.
Contact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.
Contact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.
CoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.
Custom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).
Contains customer data for profile owner proxied from D3.
Container information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)
Information related to delegated group that this contact belongs to.
Extra metadata for an aggregated or raw device contact.
Unique id for an aggregated device contact.
Device contact information.
Attributes
-
containerId
(type:String.t
, default:nil
) - The container ID of the entity this field creates a join to. SeeSourceIdentity.id
. -
containerType
(type:String.t
, default:nil
) - The type of container that this edge points to. SeeSourceIdentity.container_type
. -
extendedData
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData.t
, default:nil
) - Data that is added to the proto by peopleapi read extensions. -
materialized
(type:boolean()
, default:nil
) - True indicates this edge links this source to a container represented by this person object. Note: Except for certain legacy clients, EdgeKeyInfo is only created for for edges to an entity in this person and this will always be true.
Attributes
-
certificate
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiEmailCertificate.t)
, default:nil
) - -
classification
(type:String.t
, default:nil
) - -
contactGroupPreference
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference.t)
, default:nil
) - To read or update, use the CONTACT_GROUP_PREFERENCE mask field. -
displayName
(type:String.t
, default:nil
) - -
extendedData
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiEmailExtendedData.t
, default:nil
) - -
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
signupEmailMetadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata.t
, default:nil
) - -
type
(type:String.t
, default:nil
) - The type of the email address. The type can be free form or one of these predefined values:home
work
*other
-
value
(type:String.t
, default:nil
) -
Represents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.
Minimal S/MIME certificate status i.e. two fields per email address.
Preferred email addresses for contact groups.
Extension data for a person email.
Additional metadata for a signup email. This will only be set if the email's classification is SIGNUP_EMAIL.
Emergency info for Person. See go/emergency-trusted-contacts-papi.
Attributes
-
calendarDay
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleTypeDate.t
, default:nil
) - Event are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. PeopleApi will return these values on reads, and unless the client is a legacy caller in the legacy_timestamp_event_write_behavior_enabled capability allowlist, this value is what is used for Person writes. -
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
prompt
(type:GoogleApi.ContentWarehouse.V1.Model.SocialGraphApiProtoPrompt.t
, default:nil
) - People Prompts settings for contact event data. -
timestampMillis
(type:String.t
, default:nil
) - Clients are recommended to read the calendar_day field instead of timestamp_millis. When writing events, new clients must set calendar_day instead of timestamp_millis. Events are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. For detailed information, see Birthday.date_ms. -
type
(type:String.t
, default:nil
) - The type of the event. The type can be free form or one of these predefined values:anniversary
other
External identifier associated with the person.
The field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acl
Attributes
-
allUsers
(type:boolean()
, default:nil
) - Indicates that the field is accessible to all users including unauthenticated users. For some fields this means "to everyone except blocked users". -
domainUsers
(type:boolean()
, default:nil
) - This is a "synthetic" field. In reality domains are treated as gaia- groups. This field will be 'true' when the field is ACLed to the gaia-group of the requester's domain. -
membership
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl.t
, default:nil
) - -
person
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl.t
, default:nil
) - Indicates that the field is accessible to a person.
Used when the field is accessible to a membership that the person has.
Used when a field is accessible to a circle.
Used when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.
Used when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.
Emergency information for Person field, such as Phone or Email. See go/emergency-trusted-contacts-papi.
The FileAs field in Contacts is used to override the DisplayName of a Contact for that User.
Extension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: profiles-eng-fe@google.com
Gender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the type
string, when read, always maps to the constrained domain of "male", "female", and "other", aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. type
is either "male" or "female" and custom_type
and address_me_as
are exactly as specified by an update to PeopleApi, although they are most often absent for "male" and "female" writes. 2. type
is "other" and custom_type
is set to a freeform string from the request. address_me_as
is equal to whatever was provided at write time. When writing, the free-form string for custom_type
can come from either custom_type
if the field is present on the request, or if custom_type
is absent, the string value of type
will be copied into it. Any value in type
will be coerced to "other" and the free-form value will be copied into custom_type
, even if type
is exactly "other". Prefer to explicitly set custom_type
and set type to "other" instead of setting type to a free-form value. There are weird edge cases when the value is "unknown". Consider the behavior for type
== "unknown" unspecified. Clients reading the gender should use the value from formatted_type
if type
is "male" or "female". If type
is "other", formatted_type
will be "Other" (or some translation) and clients should read custom_type
for more specificity.
Extension data for use in Hangouts.
Attributes
-
originalLookupToken
(type:list(String.t)
, default:nil
) - Original lookup token from the request that resulted in this person or one of its containers. -
previousPersonId
(type:list(String.t)
, default:nil
) - Any former IDs this person may have had, in the case that their ID may have changed. Populated only for sync requests. Examples of such changes include adding an edge to a contact that links to a profile. The ID will change from being contact-oriented to being profile-oriented. To be used to clear out old versions of a person. -
sourceIds
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiSourceIdentity.t)
, default:nil
) - A list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.
Attributes
-
formattedProtocol
(type:String.t
, default:nil
) - Theprotocol
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
protocol
(type:String.t
, default:nil
) - The protocol of the IM. The protocol can be free form or one of these predefined values:aim
msn
yahoo
skype
qq
googleTalk
icq
jabber
*netMeeting
-
type
(type:String.t
, default:nil
) - The type of the IM. The type can be free form or one of these predefined values:home
work
*other
-
value
(type:String.t
, default:nil
) -
How and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. "How" and "where" identify the recipient in a P2P Bridge (glossary/p2p bridge), and "why" may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target "type" and "value". Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated "app". Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = bob@gmail.com Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob's public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn't want others to see it. He is okay with people sending notifications to him in Who's Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob's public Google profile, and one for the second phone number, which is in his private profile. IANT #1 - targeting Bob's public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 - targeting Bob's private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]
Client-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.
Info for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.
This is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.
Information pertaining to how this reachable state was established.
Defines interactions that are allowed or disallowed with this person.
The value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If include_account_locale
is set on the MergePersonSourceOptions
the language from go/uls is preferred and returned as primary along with a secondary language from FBS.
Fields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields.
Attributes
-
buildingId
(type:String.t
, default:nil
) - -
buildingName
(type:String.t
, default:nil
) - The building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active. -
current
(type:boolean()
, default:nil
) - -
deskCode
(type:String.t
, default:nil
) - Most specific textual description of individual desk location. -
floorName
(type:String.t
, default:nil
) - -
floorSection
(type:String.t
, default:nil
) - -
lastUpdateTime
(type:DateTime.t
, default:nil
) - Indicates the time this location was added or last edited. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
source
(type:String.t
, default:nil
) - Value indicates the origin of this location information. -
type
(type:String.t
, default:nil
) - Describes the type of location. For e.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTag -
value
(type:String.t
, default:nil
) -
Attributes
-
indirectManager
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager.t)
, default:nil
) - List of managers in the chain. If user has manager email "abc@google.com" and manager's manager has email "xyz@google.com" then the list will be: [0]: { email: "abc@google.com" } [1]: { email: "xyz@google.com" } -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
status
(type:String.t
, default:nil
) -
Extension data for use in Maps Product Profile.
Maps Profile Data. See go/product-profiles-backend-api.
Represents the matching information for a field when there is a query.
All the substring that were matched for the given query against the current field. Represents a substring of another string.
A membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.
See go/people-api-howto:names for an overview of name usage in PeopleAPI. The unstructured_name
field contains a free form name value. The given_name
, middle_name
, family_name
, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the unstructured_name
or the set of structured name fields, not both. When only the unstructured_name
is set, it is parsed to produce a best-guess set of structured name values for the given_name
, family_name
, etc. When only the structured name fields are set, the various values are combined to produce an unstructured_name
. * When both are set, the unstructured_name
is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not "match". For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is required for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.
Pronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user's name pronunciation audio.
The periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.
Attributes
-
assignment
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment.t)
, default:nil
) - -
certification
(type:String.t
, default:nil
) - -
costCenter
(type:String.t
, default:nil
) - -
current
(type:boolean()
, default:nil
) - -
department
(type:String.t
, default:nil
) - -
description
(type:String.t
, default:nil
) - -
domain
(type:String.t
, default:nil
) - -
endCalendarDay
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleTypeDate.t
, default:nil
) - Start and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via end_ms and migrate to setting both so they can be removed from the whitelist. -
endMs
(type:String.t
, default:nil
) - Clients are encouraged to read the end_calendar_day instead. PeopleApi writes will still use end_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields. -
endMsAsNumber
(type:String.t
, default:nil
) - -
formattedStringType
(type:String.t
, default:nil
) - Thestring_type
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
fteMilliPercent
(type:integer()
, default:nil
) - -
importance
(type:number()
, default:nil
) - -
location
(type:String.t
, default:nil
) - -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
name
(type:String.t
, default:nil
) - -
project
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiOrganizationProject.t)
, default:nil
) - -
startCalendarDay
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleTypeDate.t
, default:nil
) - Start and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via start_ms and migrate to setting both so they can be removed from the allowlist. -
startMs
(type:String.t
, default:nil
) - Clients are encouraged to read the start_calendar_day instead. PeopleApi writes will still use start_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields. -
startMsAsNumber
(type:String.t
, default:nil
) - -
stringType
(type:String.t
, default:nil
) - The type of the organization. The type can be free form or one of these predefined values:work
school
-
symbol
(type:String.t
, default:nil
) - -
title
(type:String.t
, default:nil
) - -
type
(type:String.t
, default:nil
) - -
yomiName
(type:String.t
, default:nil
) -
Attributes
-
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
source
(type:String.t
, default:nil
) - -
type
(type:String.t
, default:nil
) - The type of the event. The type depends on theOtherKeyword.source
.OUTLOOK
source fields must be one of:billing_information
directory_server
keyword
mileage
sensitivity
user
subject
All other fields are treated as aCUSTOM
source field. The value can be free form or one of these predefined values:home
other
work
-
value
(type:String.t
, default:nil
) -
Merged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeated
Client-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.
Extension data for the whole person entity.
Metadata for a single Person field. See go/understanding-merged-person
A person list with total number specified.
Metadata for the entire Person resource.
Attributes
-
rawMatchQualityScore
(type:float()
, default:nil
) - Only populated on a SearchDirectoryPeople call, when results are scored. Contact people-directory-dev-team@ if you want to use this field. -
stExpressionResults
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult.t)
, default:nil
) - Only populated on a SearchDirectoryPeople call that sends a request with StFieldSpecExpressions. - Used for linking indexed terms with query terms for go/better-name-matching - Name should be alphanumeric or underscores - Value should be an st expression following the syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use this field.
Attributes
-
canonicalizedForm
(type:String.t
, default:nil
) - Canonicalized form that follows ITU-T E.164 international public telecommunication numbering plan. -
emergencyInfo
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo.t
, default:nil
) - Emergency information. See go/emergency-trusted-contacts-papi. -
extendedData
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData.t
, default:nil
) - Read-only. Field requested by specifyingHANGOUTS_PHONE_DATA
inextension_set.extension_names
. -
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
type
(type:String.t
, default:nil
) - The type of the phone number. The type can be free form or one of these predefined values:home
work
mobile
homeFax
workFax
otherFax
pager
workMobile
workPager
main
googleVoice
other
-
uri
(type:String.t
, default:nil
) - -
value
(type:String.t
, default:nil
) -
Attributes
-
decoration
(type:list(GoogleApi.ContentWarehouse.V1.Model.SocialGraphApiProtoDecorationOverlay.t)
, default:nil
) - Read-only. Use UpdatePersonPhoto to change photo decorations. If this photo is decorated, this field contains information about its decorations. For now, this will contain at most one entry. -
emojiAvatarUrl
(type:String.t
, default:nil
) - URL of an emoji avatar as an image. See go/emoji-cdn. PeopleAPI will return the SVG format so that it can be scaled client side and so that the images will not be animated. All clients that use this field must also have fall-back handling for using thePhoto.url
field if this is empty. When we have FIFE-compatible emoji-image URLs we will drop this field and return the Photo.url instead. Clients that have their own go/emoji-rendering integration may prefer to render the emoji-avatar fromPhoto.glyph
field using their rendering system so that the emoji version/style match the rest of the application. For further background, see go/chatroom-avatar-as-roster-metadata. This field will only be populated if all of: - The PersonFieldMetadatacontainer_type
for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set -
glyph
(type:String.t
, default:nil
) - Unicode emoji representation of the chat room emoji avatar. This can be used by clients that use go/emoji-rendering directly so that they can present this with the same version/style as the rest of their application. This value may also be useful to clients as alt-text for the image. This field will only be populated if all of: - The PersonFieldMetadatacontainer_type
for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set -
htmlAttribution
(type:list(String.t)
, default:nil
) - A set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirements -
isDefault
(type:boolean()
, default:nil
) - True when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo. -
isMonogram
(type:boolean()
, default:nil
) - Indicates if the photo is a monogram avatar. Combined with is_default, the type of photo can be determined by: is_default=true, is_monogram=true: Default monogram avatar. is_default=true, is_monogram=false: Default silhouette avatar. is_default=false: Custom photo. is_monogram is irrelevant in this case. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
monogramBackground
(type:String.t
, default:nil
) - When is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string "RRGGBB". -
originalPhoto
(type:GoogleApi.ContentWarehouse.V1.Model.SocialGraphApiProtoImageReference.t
, default:nil
) - Read-only. A reference to the original, undecorated profile photo in storage. This field is not stored. It is populated by a live read to /SocialGraphImageService.GetActiveProfilePhoto. This field is only returned when "person.photo.original_photo" is specified in the request mask. -
photoId
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId.t
, default:nil
) - For writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet). -
photoToken
(type:String.t
, default:nil
) - Most clients don't need to worry about this field and should just use theurl
to fetch the photo. See go/phototoken-migration-plan for some more context about this field. If you think you want to use this please talk with people-api-eng@ first. -
url
(type:String.t
, default:nil
) - See go/people-api-concepts/photos for info on the different representations of URLs. -
viewerUrl
(type:String.t
, default:nil
) - A URL for a UI to view the photo in its original context. For example, for a place photo, this is the url of a Google Maps page displaying the photo. Supported for place photos only.
Info necessary for looking up a photo in storage.
Metadata specific to places.
Extension data for use in Play Games Product Profile. See go/jam-games-profile.
Details of an achievement that the user has unlocked.
Information about a plus page and the entity it represents.
Map marker location for an address.
Custom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.
Product profiles failure type: the status of the rpc to fetch the product profile.
Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.
This is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.
Message to represent a user's set of preferred pronouns, see go/pronouns-backend.
Attributes
-
dataSet
(type:String.t
, default:nil
) - The data set within the account that this raw contact belongs to. -
dirty
(type:boolean()
, default:nil
) - The CP2 dirty field which indicates the sync state of the raw contact: https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY True if the row is changed but not synced -
sourceIdExist
(type:boolean()
, default:nil
) - Whether the source ID exists for non-Google contacts. Won't set for Google contacts. -
syncInfo
(type:GoogleApi.ContentWarehouse.V1.Model.SocialGraphApiProtoSyncInfo.t
, default:nil
) - The Sync Info of a raw contact.
Raw device contact information.
Metadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).
DEPRECATED.
Relation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.
Attributes
-
displayName
(type:String.t
, default:nil
) - Equivalent to Name.display_name for the person_id profile. -
jobTitle
(type:String.t
, default:nil
) - Equivalent to Organization.title for the primary organization of the person_id profile. -
personId
(type:String.t
, default:nil
) - -
photoUrl
(type:String.t
, default:nil
) - Equivalent to Photo.url for the person_id profile.
Deprecated in b/122464133. No data returned for this field.
Deprecated in b/122464133. No data returned for this field.
User preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.
Information specific to rosters like Google Groups and Chatrooms.
Represents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Membership
Represents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType
Profile for Janata and Search. go/janata-profile-in-sgbe
As of 03/2018 is not supported for user Profile.
The social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.
Attributes
-
affinity
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiAffinity.t)
, default:nil
) - -
interactionRank
(type:String.t
, default:nil
) - Deprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field. -
lastName
(type:String.t
, default:nil
) - -
lastNameRaw
(type:String.t
, default:nil
) - -
name
(type:String.t
, default:nil
) - -
nameRaw
(type:String.t
, default:nil
) - Raw name strings that were used to generate the name and last_name sort keys fields above. Contacts+ need them to generate section headers for list view (b/30642866).
Id of a single source from the merged person.
Custom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.
This message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.
Attributes
-
code
(type:String.t
, default:nil
) - The phone code. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=70&rcl=241000760 -
countryCode
(type:String.t
, default:nil
) -
UNSUPPORTED. This message is never populated and is no longer used.
DEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.
Store metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.
Attributes
-
formattedType
(type:String.t
, default:nil
) - Thetype
translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata.t
, default:nil
) - -
rel
(type:list(GoogleApi.ContentWarehouse.V1.Model.AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo.t)
, default:nil
) - Currently in Oz: "Links": Links with no rel. "Other profiles": Links with rel=ME. "Contributor to": Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO. -
type
(type:String.t
, default:nil
) - The type of the website. The type can be free form or one of these predefined values:home
work
blog
profile
homePage
ftp
reservations
appInstallPage
: website for a Currents application. *other
-
value
(type:String.t
, default:nil
) -
Extension data for use in Youtube Product Profile.
The features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.
Capabilities related to Android intent support. These capabilities can apply to any device on the Android platform. Provides the list of Android package names that support a given Android intent.
Attributes
-
intentActionName
(type:String.t
, default:nil
) - The Action name of the Android Intent in standard notation (https://developer.android.com/reference/android/content/Intent#getAction()). -
packageNames
(type:list(String.t)
, default:nil
) - The Android provider packages that support the intent, e.g. "com.google.android.deskclock".
Used to describe app capabilities of the device installed apps reported to the server.
Used to describe the incremental change of app capabilities of the device installed apps reported to the server.
Attributes
-
enabled
(type:String.t
, default:nil
) - -
sendMessageSuppressed
(type:boolean()
, default:nil
) - If true, disable send message AppControl/SD flow. This is needed to suppress the feature for specific device. If we decide to turn down this feature for all devices, then this field will become obsolete and should be removed. See context in b/275727627.
Contains the app privacy bits used for App Integrations implicit request. (go/app-privacy-settings-for-implicit-requests)
These capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.
These capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.
Bluetooth capabilities related to usage of a feature.
CallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7
These capabilities represent the camera features associated with the device.
These capabilities present the capability of the device running camera receiver apps.
Capabilities that are associated with Assistants on auto surfaces. This is different from other capabilities such as CarSettingsCapabilities, CloudCarCapabilities since they are specific to settings and 3P cloud information. All the auto/car Assistant specific capabilities should live here.
Capabilities that are associated with Assistant Settings on auto surfaces.
Attributes
-
castLinkingStatus
(type:String.t
, default:nil
) - Cast linking status for ATV surfaces. This is derived from error messages returned from Cast Orchestration Server and will be used for data profiling only(go/katniss-settings-dashboard). -
truncatedErrorMsg
(type:String.t
, default:nil
) - The error msg returned from COS, truncated in case it's too large.
These capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9
The properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.
The properties of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp proto with the key provider.OPEN.
Used to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).
UI capabilities for the surfaces rendering Comms features. See go/rohan-comms-fluid-actions-customization.
The android app information of the provider. Like, Spotify. Next ID: 17 LINT.IfChange
General information about activities in the app.
Information about an individual activity.
The change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.
This proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26
A room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4
Room location details. Read-only, populated on request. Next id: 8
This empty type allows us to publish sensitive calendar events to go/attentional-entities, while maintaining BUILD visibility protection for their contents. The BUILD-visibility-protected extension to this message is defined at http://google3/assistant/verticals/calendar/proto/multi_account_calendar_event.proto
The cast app information of the provider.
The ChromeOS app information of the provider. Next ID: 3
The third party provider information.
The style customizations for the 3p agent.
The identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5
LINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two DeviceId
s, you should always use an isSameDevice{As}
function to check for equality, as deep equality between DeviceId
's is not guaranteed. C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14
LINT.IfChange Represents a color in the RGBA color space. This message mirrors google.type.Color. IMPORTANT: The definition of Color proto is being moved to //assistant/api/core_types/color_type.proto. All existing references will be updated to point to the new location. If you are adding a reference, use the new one instead.
The identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. IMPORTANT: The definition of DeviceConfig proto is being moved to //assistant/api/core_types/device_type.proto. All existing references will be updated to point to the new location. If you are adding a reference, use the new one instead. Next Id: 5
LINT.IfChange Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two DeviceId
s, you should always use an isSameDevice{As}
function to check for equality, as deep equality between DeviceId
's is not guaranteed. C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. IMPORTANT: The definition of DeviceId proto is being moved to //assistant/api/core_types/device_type.proto. All existing references will be updated to point to the new location. If you are adding a reference, use the new one instead. Next ID: 14
LINT.IfChange Task metadata information describing the ringtone. IMPORTANT: The definition of RingtoneTaskMetadata proto is being moved to //assistant/api/core_types/ringtone_task_metadata.proto. All existing references will be updated to point to the new location. If you are adding a reference, use the new one instead. Next id: 11
Attributes
-
agentIds
(type:list(String.t)
, default:nil
) - For character alarm, the media resources are provided through AOG apps. During alarm trigger phase, aog apps with the specified agent_ids are used to get the media resources. Multiple "AoG agents" can satisfy a character_tag. So the user will select the agents they want at alarm creation time. The chosen agents will be recorded so that the resources only from those agents will be used at trigger time. The number of selected agent_ids will not exceed 3. See go/character-alarm-aog. -
characterTags
(type:list(String.t)
, default:nil
) - The Character Alarm tag. Tags are needed to identify the theme of the alarm. For example, if the tag is 'astronaut', astronaut based audio is played during alarm ring. Note : We have made it repeated so that the user can choose multiple character alarm themes at one go. At present, the user is allowed to choose only one theme during alarm creation. -
iconUrls
(type:list(String.t)
, default:nil
) - Icons urls corresponding to a character. Note : We have made it repeated so that we can show different images when the alarm rings. At present, we only support only one image.
Used to make timers and alarms more delightful. See go/funtime-engdesign for more details.
Metadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).
Gentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).
This describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.
The set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. IMPORTANT: The partial migration to the SurfaceIdentity and SurfaceVersion protos defined here is being rolled back (b/303012824). All existing references will be updated to point back to //assistant/api/core_types/surface_identity.proto. If you are adding a reference, use the SurfaceIdentity and SurfaceVersion protos defined there. NEXT ID: 6 LINT.IfChange
The version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.
The Home app information of the provider. Next ID: 3
An image represents the data about an image or a photo. LINT.IfChange NextId: 13
Info for targeting a feature provided directly by the Assistant surface itself. i.e Could be pointing to AGSA audio player for AUDIO_PLAYER on AGSA.
The iOS app information of the provider. Next ID: 4
The KaiOS app information of the provider. Next ID: 4
Geographic coordinate information for location.
LINT.IfChange(ungoverned_message_notification) This proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21
Structure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 8
Mirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4
Provider. Like, Spotify or iHeartRadio. Next ID: 13
ProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: - If the app being deleted is not found from Footprints, it is ignored. - For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. - For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4
Session Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_Protocol
The set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6 LINT.IfChange
Specifies the types of device surfaces. LINT.IfChange When adding new surface types make sure that My Activity (https://myactivity.google.com/product/assistant) will correctly render by adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If your type doesn't fit in to any of the existing surfaces messages, add a new message in http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h.
The version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.
The web information of the provider. Next ID: 5
Attributes
-
locale
(type:String.t
, default:nil
) - The locale of this agent version, represented by BCP-47 language strings, such as "en", "en-US", "fr", "fr-CA", "sr-Latn", "zh-Hans-CN", etc. -
nluAgentId
(type:String.t
, default:nil
) - Unique internal identifier of 3P Custom NLU agent. UUID. -
nluAgentVersion
(type:String.t
, default:nil
) - Identifies the 3P Custom NLU agent version.
Attributes
-
localConnectivityEnabled
(type:boolean()
, default:nil
) - Whether the device has torus/usonia capabililities enabled or not. -
remoteCastMediaEnabled
(type:boolean()
, default:nil
) - Whether the device supports cast media originated from a remote device to be executed through local execution and can upload results asynchronously. Needs to be checked before sending remote media initiation through local channel since it needs an async result upload path.
A Gregorian calendar date.
A date-time specification, combining a date and civil time (relative to a given timezone).
A representation of a range of time with start and end datetime specified.
This message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: - device hardware - software - status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface's capabilities can differ from the device's. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37
A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.
Capabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.
Capabilities related to GCM.
The gesture capabilities related to Selina. Next ID: 4
Access settings for guests.
Attributes
-
confirmationMessageSupported
(type:boolean()
, default:nil
) - Whether the client supports confirmation messages in Immersive Canvas actions. -
pauseSignalSupported
(type:boolean()
, default:nil
) - Whether the client support canvas pause signal. If true, the Assistant Server will send a signal when canvas transitioning to pause mode.
These capabilities are used to determine the jwn libraries and their versions that are present on the client.
Capabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6
The set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7
Dining recognition capability. For example popular dishes on a given restaurant menu image.
Education recognition capability.
Outdoor place recognition capability. For example recognizing storefronts.
Shopping recognition capability.
Text recognition capability.
Translation capability.
Attributes
-
channels
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantApiLiveTvChannelCapabilitiesLiveTvChannel.t)
, default:nil
) - A list of channels provided by this input. Keep the performance impact in mind when the number/size of the channels is large. When there are too many channels, consider stripping out some data. -
inputId
(type:String.t
, default:nil
) - An identifier to identify the input source. For example for TIF based channels, this will be the TIF input ID to differentiate different tuner apps. See https://source.android.com/devices/tv -
providerType
(type:String.t
, default:nil
) - Type of provider who provides this channel input.
Attributes
-
channelId
(type:String.t
, default:nil
) - Unique channel identifier. -
channelName
(type:list(String.t)
, default:nil
) - A list of channel names and synonyms. -
channelNumber
(type:String.t
, default:nil
) - Channel number displayed to user. Optional. -
deeplink
(type:String.t
, default:nil
) - A deep link into the Live player app that tunes to this channel. -
mid
(type:String.t
, default:nil
) - KG mid of the channel if it exists in KG. -
networkMid
(type:String.t
, default:nil
) - Network KG mid of the channel if it exists in KG
Attributes
-
providerInfo
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesProvider.t
, default:nil
) - Contains detailed provider information such as android app package name. -
providerKey
(type:String.t
, default:nil
) - A provider enum string for OTT providers. The available key can be found in go/ump-provider-enum For Tuner provider, the provider key would be an ID the tuner app uploaded from TIF. See https://source.android.com/devices/tv -
providerType
(type:String.t
, default:nil
) -
Data which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16
Attributes
-
fallbackToTetheredDeviceAppCapabilities
(type:boolean()
, default:nil
) - If true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it's available and if the primary device cannot perform the action (e.g. due to the app not being installed). -
preferTargetingPrimaryDevice
(type:boolean()
, default:nil
) - For chat_message.SEND targeting, when either the primary or secondary (tethered) device is capable of handling the chat_message.SEND action, prefer targeting it to the primary device. -
supportedRecipientTypes
(type:list(String.t)
, default:nil
) - Should only be checked if nonempty.
Per category/category group notification opt out settings.
Encapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.
Definitions of on-device assistant capabilities.
Definitions of on-device Smart Home capabilities. Next ID: 2
The on-device storage capabilities found on the device.
These are user configurable permissions representing what the device is allowed to output. Next ID: 11
Also known as "Extensions Without Extensions" or "The Poor Man's Any", this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: - It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) - It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.
Date-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.
These capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11
A mask applied to the screen's pixel space to determine regions not visible on the physical device.
Version info for ProtoLayout requests.
A Resolution proto indicates the size of the application window. All fields are required.
The Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4
Attributes
-
anyUserHasSetPersonalPhotos
(type:boolean()
, default:nil
) - Whether any user sets personal photos on this device. See go/ambient-setting-in-assistant-design. -
recentHighlightsEnabled
(type:boolean()
, default:nil
) - Whether or not the user's current selection for their ambient photo frame includes the auto-generated "Recent Highlights" album. This is used to determine which users to display the go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more discussion on why this bit was created. -
showPersonalPhotoData
(type:boolean()
, default:nil
) - Whether to enable the personal photo data in the ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for explanation. -
showPersonalPhotos
(type:boolean()
, default:nil
) - Whether current user sets personal photos on this device. See go/ambient-setting-in-assistant-design.
These capabilities are associated with Assistant Settings on devices.
Settings pertaining to auto framing. See go/auto-framing-presentation.
Carrier related call settings on the device.
Specification of which communication features can be used.
Specification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like "sorry, I'm sleeping right now". Design: go/home-ft-settings-storage PRD: go/home-family-tools-prd
Defines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prd
Attributes
-
downtimeSettings
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsDeviceDowntimeSettings.t
, default:nil
) - Specification of times that a device shouldn't respond to certain users. See go/home-ft-prd. -
featureFilters
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsDeviceFeatureFilters.t
, default:nil
) - Restrictions on features that certain users can access on a device. See go/home-ft-prd.
Specifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.
Specification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.
Duo related call settings on the device. Next ID: 5
Specification of which assistant features are allowed for a particular device or user account.
Attributes
-
cardConfig
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsHospitalityCardSettingsCardConfig.t)
, default:nil
) - Config for Hospitality UI modules. -
showMediaTapGestureTutorial
(type:boolean()
, default:nil
) - Toggle media tap gesture tutorial card. -
showPhotoSwipeGestureTutorial
(type:boolean()
, default:nil
) - Toggle photo swipe gesture tutorial card. -
youtubeCardConfig
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig.t)
, default:nil
) - Config for YouTube video cards.
Configuration for hospitality card.
Configuration for YouTube video card (Stargazer tile).
Hospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17
TODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7
HotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it's validity. value should only be considered when is_valid = true.
Represents supporting device ids.
Represents a version of a specifit setting, e.g. DeviceSettings.
Kids mode config for the current device. go/aff-parentalsupervision-dd
Represents the profile of the user who has signed in onto this device. Next id: 5
Guest mode for the current device. go/assistant-guest-mode-summary
Specification of which music features can be used.
Specification of which news features can be used.
Attributes
-
carrierCallDeviceSettings
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsCarrierCallDeviceSettings.t
, default:nil
) - On device carrier call related settings. -
duoCallDeviceSettings
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiSettingsDuoCallDeviceSettings.t
, default:nil
) - On device duo call related settings.
Specification of which podcast features can be used.
Polite mode config for the current device. go/polite-mode-dd
Settings related to Assistant reauth. go/assistant-reauth-verify-skip Next id: 2
Next id: 6
Specification of which search features can be used.
Settings related to TTS output.
Settings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16
Specification of which third party apps can be used.
Specification of which video features can be used.
Specification of which webview features can be used.
The method of sign in which the client supports.
Capabilities related to SODA (Speech On-Device API). Next ID: 5
These capabilities represent what software features the client supports. This should be determined based on the client's various software versions (OS, GSA version, etc). Next ID: 27
DEPRECATED These capabilities are associated with speech detection on devices.
Attributes
-
executedTextSupported
(type:boolean()
, default:nil
) - Whether the client can rewrite suggestion query text into executed text, if the latter is present for the display target. -
headerTextSupported
(type:boolean()
, default:nil
) - Whether PresentationParams.header_text is supported for the display target. -
repressImpressionSupported
(type:boolean()
, default:nil
) - Whether Suggestion.repress_impression is supported. If not repressed suggestions are not returned. -
target
(type:String.t
, default:nil
) - Display target that is supported.
These are the set of ClientOps that are supported by the device.
Additional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.
The overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.
These are the set of features that are supported by the device. It's a part of the SoftwareCapabilities of the device. Next ID: 68
Contains versions of protocol buffer messages. This is the equivalence of a proto3 map, keyed by a protocol buffer message’s name, and the value is the version of this message. e.g. {"assistant.api.core_types.Timer": 2, "assistant.api.core_types.Alarm": 1} See go/assistant-protocol-versioning for more details.
Types of providers that are supported by the client. For example, ChromeOS support both web app and Android app (for eligible devices).
Properties of the surface that are not hardware related or feature specific.
Describes the capabilities that are related to the execution of client ops on the device.
Restrictions related to system-level notifications.
Notification channels state for the new server driven channels.
Notification channels state.
3P Action Metadata. Next ID: 3
Metadata for ActionPackage. Device Actions are disabled by default unless explicitly enabled for the device here, see go/3p-device-actions-v2-design.
A civil time relative to a timezone.
A time zone. Conceptually, a time zone is a set of rules associated with a location that describes a UTC offset and how it changes over time (e.g. Daylight Saving Time). The offset is used to compute the local date and time.
An absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.
Attributes
-
voicePinSuppressed
(type:boolean()
, default:nil
) - If true, setting this boolean means the device should not support voice PIN. For example, although the phone supports both voice and PIN pad, but we don't want users using voice. https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thv
Attributes
-
defaultVolumePercentage
(type:integer()
, default:nil
) - The volume percentages for spelled out values. -
highVolumePercentage
(type:integer()
, default:nil
) - -
levelStepSize
(type:float()
, default:nil
) - The number of levels to move for a step. -
lowVolumePercentage
(type:integer()
, default:nil
) - -
maximumVolumeLevel
(type:integer()
, default:nil
) - The max number of volume levels the client supports. -
mediumVolumePercentage
(type:integer()
, default:nil
) - -
veryHighVolumePercentage
(type:integer()
, default:nil
) - -
veryLowVolumePercentage
(type:integer()
, default:nil
) -
LINT.IfChange Identifier for an application provider. NOTE: AppProviderId contains surface-specific info, such as the Android package name of the application. This was necessary for supporting current use cases that rely on surface-specific info in feature code. Eventually we want to deprecate AppProviderId and fetch surface-specific info in some other way (e.g. in a surface-translation layer). But until then, we may continue extending AppProviderId with other surface-specific info.
IMPORTANT: This proto is being migrated to ProviderId. If you are adding new field, please add to ProviderId as well.
Identifier used to represent a single application (a.k.a. provider). This model represents the surface-agnostic counterpart for assistant.api.core_types.Provider. E.g. it should avoid directly using package names for Android, bundle identifiers for iOS, etc. We require the transformation between assistant.context.ProviderId and assistant.api.core_types.Provider to either be lossless, or "lossy yet retrievable" (e.g. if package name is not available in ProviderId, it can still be retrieved using the ProviderMappingsModule). NOTE: 1. As of May 2021, verticals are highly fragmented in terms of how they represent/identify a provider, and so we may need to accommodate some vertical-specific representations. However, these should be generalized as much as possible so that they can be used by other verticals if needed. 2. If we need to differentiate between whether a provider is a media provider, app actions provider, timer provider, etc. we should capture this information in the context proto that contains a ProviderId field, rather than in the ProviderId message itself. 3. Any common fields across different provider identifier representations (e.g. ecosystem type) should be part of assistant.context.ProviderId directly.
Identifies a business policy used for selecting a given content provider in the form of a name and a resulting scoring action.
Message that gets returned from the Provider Selection Library (PSL). It encodes the scores, applied policies, and pruning decisions for a given provider candidate.
Note: As of May 2021, multiple providers use the same mids (e.g. YouTube Main, YouTube Go, and YouTube Music all have the same mids). However, quite often we end up using surface specific identifiers (e.g. Android package names, iOS bundle identifiers, etc.) to differentiate amongst them. This field allows us to move away from surface specific identifiers towards a surface-agnostic enum representing the same information.
The information associated with an error while selecting the target device. Next ID: 2
Capability with regard to support of alarms by the client.
States the cloud capabilities of the device, i.e. the endpoint(s) to use for cloud execution of Actions or Registration.
A cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.
This capability represents device action needed capability. Next ID: 10
Specifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8
Attributes
-
alarm
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantDevicesPlatformProtoAlarmCapability.t
, default:nil
) - Specifies capabilities for handling on-device alarms. The presence of this field, even if empty, implies that the device supports alarms. -
responseLimits
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantDevicesPlatformProtoResponseLimits.t
, default:nil
) - Specifies the size limits on responses. If message is not defined then no limits exist. -
supportSdkExecute
(type:boolean()
, default:nil
) - Whether this device model package support sdk.EXECUTE client_op (a.k.a action.devices.EXECUTE intent), which will be filled into google.assistant.embedded.v1.DeviceAction.device_request_json. It is default to true (and not public), since all 3P will depends on the device_request_json. Only internal projects like Edoras will set this to false. -
supportedDeviceOps
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantDevicesPlatformProtoSupportedDeviceOps.t
, default:nil
) - Specifies capabilities for handling assistant.embedded.v1.DeviceOp. -
supportsMultiResponse
(type:boolean()
, default:nil
) - Specifies whether server can send a series of responses for a single query. Example: Routines where multiple actions to be executed one after another. -
timer
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantDevicesPlatformProtoTimerCapability.t
, default:nil
) - Specifies capabilities for handling on-device timers. The presence of this field, even if empty, implies that the device supports timers. -
ttsOutput
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantDevicesPlatformProtoTtsOutputCapability.t
, default:nil
) - Specifies whether client supports receivingDeviceAction.tts_output
.
An intent configures the behavior of a device action for this device. Next ID: 7
Capabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.
The StadiaAssistantConfig. This field should only be set if the device model is a Stadia.
Provided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the action.intent.SelectChannel
intent.
Specifies the size limits on responses receivable by the client.
Encapsulates security configuration for a single intent of a device model.
This message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 17
Capability with regard to support of timers by the client.
A TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.
Capabilities with regard to support of outputting TTS.
Specifies the NLU level that Google performs, which determines the request format sent to the 3P cloud.
Message containing the processed provider signals. This message is consumed by systems outside of the Provider GP, such as the HGR. For use of provider signals within the Provider GP, please refer to the CTF-governed PackedProviderSignals defined in: cs/google3/assistant/context/proto/packed_provider_signals.proto;rcl=486224300;l=68
Attributes
-
timeDecayed14dHalfLife
(type:number()
, default:nil
) - -
timeDecayed1dHalfLife
(type:number()
, default:nil
) - Frequency features. -
timeDecayed7dHalfLife
(type:number()
, default:nil
) - -
timeDecayedAccepted14dHalfLife
(type:number()
, default:nil
) - -
timeDecayedAuis14dHalfLife
(type:number()
, default:nil
) - -
timeDecayedCanceled14dHalfLife
(type:number()
, default:nil
) - -
timeDecayedDeclined14dHalfLife
(type:number()
, default:nil
) - -
timeSinceLastButOneCanceledActionSecs
(type:number()
, default:nil
) - -
timeSinceLastButOneCompletedActionSecs
(type:number()
, default:nil
) - -
timeSinceLastButTwoCanceledActionSecs
(type:number()
, default:nil
) - -
timeSinceLastButTwoCompletedActionSecs
(type:number()
, default:nil
) - -
timeSinceLastCanceledActionSecs
(type:number()
, default:nil
) - -
timeSinceLastCompletedActionSecs
(type:number()
, default:nil
) - Recency features.
Features to be passed from Contact GP to HGR. Next ID: 13
Device contact affinity from android call logs.
Features to be extracted from Device GP for ranking in HGR. Each candidate from Device GP will be associated with its own DeviceGroundingProviderFeatures. Next ID: 5
Features generated by Device Targeting library (Lumos). See go/hgr-lumos-integration and go/lumos-feature-extraction for more details. Next ID: 3
The properties of the device. They are static and won't change. Next ID: 4
The states of the device. They are dynamic and may change based on the current context. Next ID: 15
Labels tagged by Device Targeting library (Lumos). See go/hgr-lumos-integration and go/lumos-feature-extraction for more details. Next ID: 2
Features to be extracted from Endpoint GP for ranking in HGR. Next ID: 2
Attributes
-
bindingSet
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerLaaFeaturesBindingSet.t
, default:nil
) - -
communicationEndpoint
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerLaaFeaturesCommunicationEndpoint.t
, default:nil
) - -
contact
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerLaaFeaturesContact.t
, default:nil
) - -
features
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerLaaFeature.t)
, default:nil
) - -
provider
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerLaaFeaturesProvider.t
, default:nil
) -
Attributes
-
assistantInteractionFeatures
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerAssistantInteractionFeatures.t
, default:nil
) - -
deviceContactAffinityFeatures
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantGroundingRankerDeviceContactAffinityFeatures.t
, default:nil
) -
Features to be passed from Media GP to HGR. Next ID: 21
Features to be extracted from Podcast GP for ranking in HGR. Next ID: 7
Features to be extracted from Provider GP for ranking in HGR. Next ID: 7
Attributes
-
streams
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantLogsMediaStreamLog.t)
, default:nil
) - All active media streams while the user issues the query. -
targetStream
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantLogsMediaStreamLog.t
, default:nil
) - The stream selected by stream transfer logic to be transferred to another device. It will be empty for other features. Target_stream is different from target_device since target_stream could have multiple devices.
This message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.
PuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.
This is the log version of apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2
This is the log version of fuzzy ngram match results that's used for generating the best fuzzy match. Next ID: 3
From google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enums
This is the log version of apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2
Contact meta data. Next ID: 30
This is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3
This is the log version of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next ID: 3
Log device info of default speaker and tv
Device annotation mention from query
The information related to the device. Next ID: 18
Log about the media session on a device.
Contains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 22
Log the selection result. Next ID: 11
Test code is used to track special events happening in Device Targeting Library. Next Id: 2
Represents the case where there is a target device with low confidence so that the library didn't directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3
Attributes
-
devicesAfterRun
(type:integer()
, default:nil
) - Number of candidate devices after this stage is run. -
devicesBeforeRun
(type:integer()
, default:nil
) - Number of candidate devices before this stage is run. -
processorName
(type:String.t
, default:nil
) - Name of the processor for this stage.
A summary of the reasons that we chose a certain target device.
The information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.proto
Following are the MDA compatible loggings for media focus, default settings and nearby devices.
Media stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.
Attributes
-
deviceArbitrationCreationTimestampMs
(type:String.t
, default:nil
) - The timestamp that DeviceArbitration is created in milliseconds. -
deviceTargetingInputCreationTimestampMs
(type:String.t
, default:nil
) - The timestamp that DeviceTargetingInput is built in milliseconds. -
eliminatedByFurtherDistance
(type:integer()
, default:nil
) - -
eliminatedByLocalClosest
(type:integer()
, default:nil
) - -
eliminatedByUnknownDifferentRoom
(type:integer()
, default:nil
) - -
eliminatedByUnregisteredDevice
(type:integer()
, default:nil
) - -
localDevice
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantLogsDeviceInfoLog.t
, default:nil
) - -
nearbyDevices
(type:list(GoogleApi.ContentWarehouse.V1.Model.AssistantLogsDeviceInfoLog.t)
, default:nil
) - -
numClosestDevices
(type:integer()
, default:nil
) - -
numEquallyCloseDevices
(type:integer()
, default:nil
) - -
numFurtherDevices
(type:integer()
, default:nil
) - -
numHearingDevices
(type:integer()
, default:nil
) - -
numUnknownDistanceDevices
(type:integer()
, default:nil
) -
Provider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains "com.google.android.youtube", localized_names contains "youtube", and lang contains "en" from "en-US" which depends on user's setting.)
Log about the query requirements
Annotate a single reminder instance.
Room annotation mentioned in query.
The logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 6
Structure annotation mentioned in query.
Represents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4
Attributes
-
deviceName
(type:String.t
, default:nil
) - -
deviceTypes
(type:list(String.t)
, default:nil
) - -
effectiveArgSpanLength
(type:number()
, default:nil
) - -
hasAmbiguousResolutions
(type:boolean()
, default:nil
) - True if there are more than one possible resolutions to the RD. -
hasResolvedDeviceId
(type:boolean()
, default:nil
) - True if there's at least one device id that gets resolved. Note this is different from is_grounded = true: it is possible that is_grounded = false (num_grounded_args =0) but there is resolved device ids. E.g.: "turn on the blue light" Power_on(device_object = [d1, d2]:RD(category=DeviceObject(name='blue light')) where there are "blue light 1" and "blue light 2" hence two resolved device ids. But since the quantifier is single, GB can't resolve the ambiguity and would set num_grounded_args = 0 to indicate such unresolved ambiguity. -
roomName
(type:String.t
, default:nil
) -
Used by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.
Features used by the PrefulfillmentRanker's scorer exclusively to break ties.
Signals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 69
A message to represent an item in a list. Just a basic string for now, but extensible for the future.
Proto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.
Attributes
-
linkUrl
(type:String.t
, default:nil
) - REQUIRED. The link to surface to frontends (e.g., Hubpage, notifications.) This could also be a surface-specific deeplink (be sure to setsurface_type
accordingly.) -
notificationText
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantRemindersNlgTemplateKey.t
, default:nil
) - REQUIRED. The text for the notification link button. Note: We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The plan is to cut dependency from TemplateData to quality.actions.Reminder.
Since this is stored in BE, any update on this proto needs LGTM by ARIS storage owner
Equivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).
Attributes
-
hasLocationInterpretation
(type:boolean()
, default:nil
) - Whether the nickname could also refer to a location. For example, "walmart", "starbucks". -
installInfo
(type:String.t
, default:nil
) - Indicates whether the user has the app installed. -
isGeneric
(type:boolean()
, default:nil
) - True when the name is generic, i.e when it could refer to multiple packages from different developrs. For example, "mail" is considered a generic name (since it can refer to "gmail", "yahoo mail" etc.) but "facebook" although could refer to both "facebook" and "facebook lite" is not considered generic (both packages are from the same third party). -
nicknameTier
(type:String.t
, default:nil
) - The tier of the nickname. -
source
(type:String.t
, default:nil
) -
Neural contact match signals.
Metadata for Actions-on-Google configuration.
An agent + device pair that uniquely identifies a device.
AgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7
Protos representing device or structure attributes. See go/hgs-attributes-protos. Only protos approved and formalized by assistant/HG team should be added here.
LINT.IfChange(proto_attributes)
LINT.IfChange(proto_event_trigger) Next id: 5
Routines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.
LINT.IfChange(proto_voice_trigger) Next id: 2
The Concierge features a structure is eligible for. See {@link home.graph.common.ConciergeFeatures}.
Next ID: 9
Attributes
-
homeautomationMetadata
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData.t
, default:nil
) - Device meta data. -
matchedItemKey
(type:String.t
, default:nil
) - Corresponding to casse matched_item CustomTypeItem key. -
matchedItemRawvalue
(type:String.t
, default:nil
) - Corresponding to casse Argument raw_value. -
matchedItemValue
(type:list(String.t)
, default:nil
) - Corresponding to casse matched_item CustomTypeItem value.
Next ID: 45
Matter unique Id. These values are provided by the device.
Represents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/
SmartHome feature flags that may be enabled per-item. LINT.IfChange
The features a structure supports.
Represents the properties of a mention. Next ID: 13
Contains information about how an entity was presented as part of a list.
The agent or system from which the mention was derived. Each mention corresponds to a single source.
The client provided this entity. Currently, this exclusively corresponds to an entity that was circulated by the client. See go/on-device-aes for more details.
The Assistant mentioned this entity. This corresponds to entities annotated during fulfillment. More specifically, these entities are typically provided by developers either via a Monastery frame or an InteractionBuilder.
The user mentioned this entity. It was extracted from a previous winning intent (IntentQuery or IntentUpdate). Such entities are computed at runtime from the interpretation history without any developer intervention.
Uniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.
Properties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).
How the entity was presented in this mention at a surface level. For example, "President Barack Obama" or "Barack Obama" or "he" might all be reasonable surface forms for the MID /m/02mjmr.
This data is expected to appear in approximately 2 out of every 1,000 documents with an average of 2 fields per document. Rough order of size is in the hundreds of kilobytes per Mustang shard.
A replacement for BiasingPerDocData that is more efficient wrt size in the index.
Attributes
-
compressedName
(type:integer()
, default:nil
) - A fingerprint of the actual name of the field. -
value
(type:float()
, default:nil
) - The value, under various representations to get maximum compression. Exactly one of them is guaranteed to be filled. value as a double. -
valueFloat
(type:integer()
, default:nil
) - a floating value, represented as an integer by converting using floating_value * 1000. Useable for all floating values that need 3 digits of precision, and are small enough. -
valueInt
(type:integer()
, default:nil
) - value as an int32. When the value is encode-able as an integer.
Metadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjuster
A BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.
Additional data for Blog/Posts
Resolved url and site spamscore for outlinks in updates (aka microposts).
Attributes
-
authorName
(type:String.t
, default:nil
) - The username of the author of the microblog post represented by this node. -
children
(type:list(String.t)
, default:nil
) - A list of docids of child nodes. -
date
(type:String.t
, default:nil
) - The creation date of the doc. -
docid
(type:String.t
, default:nil
) - Docid of the microblog post represented by this node. -
parent
(type:String.t
, default:nil
) - The docid of the parent node. The root of the tree will leave this empty.
Information to indicate BG availability for businesses. This message is filled from Topic Server and stored in the GSR in Superroot.
Attributes
-
name
(type:String.t
, default:nil
) - Module name, e.g. hairdresser_reservation. from quality/views/extraction/kcube/bg/modules/modules.bzl. -
services
(type:list(String.t)
, default:nil
) - Services of this module that are supported by the business, e.g. haircuts. -
useCase
(type:String.t
, default:nil
) -
Per-doc data for the web page about the cited book Approximate size is on average ~10bytes
We divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.
Token to be exposed and stored by the bot
Attributes
-
id
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleInternalCommunicationsInstantmessagingV1Id.t
, default:nil
) - When used as a user ID, it's the phone number of the sender. When used as a session ID: For group conversation, it is the group ID. For 1 to 1, it is the receiver or sender phone number. For 1 to bot, it is the receiver phone number or empty.
Generic output for one vertical.
Multi-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.
QuerySats contains the information about the queries that users typed to search for this image.
ReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can 'inherit' by propagating counts from near duplicate images.
The site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site's pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.
The identity to configure a CloudSQL instance provisioned via SLM Terraform.
The identity to configure a GCS bucket.
The dynamic IAM bindings to be granted after tenant projects are created.
The configuration for a spanner database provisioning. Next ID: 8
The options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.
The identity to configure a service account.
The identity to configure a tenant project.
The tenant project and tenant resources. Next ID: 10
A collection of tenant resources.
The identity of service accounts that have been explicitly created under tenant projects.
The basic message that contains a single decision output of go/deeptagger.
Image-level deep tags: essentially equivalent to the proto above but containing tags that are computed at the image level. These image signals are maintained by the Visual Shopping team (visual-shopping@). If you do use the signals, please add an entry in go/ShoppingImageAttributeClients to be notified for model upgrade. We recommend our clients against using the raw confidence value directly. Instead, the clients should use the library, cs/ads/shopping/visual/deeptags/public/single_tag.h and cs/ads/shopping/visual/deeptags/public/single_scored_tag.h to specify an operating point in terms of precision or recall. See the following code example: http://google3/shopping/visual/explore_looks/looks_offline_pipeline.cc?l=268&rcl=304165166 model_outputs
is a repeated field. Please check version
to get the model you desire to use, instead of indexing the model_outputs directly e.g. model_outputs(0). We will remove the old versions in the future and this will lead to incorrect model. Models: As of Q2 2020, we have two models running within Shopping: model one only has the overlay tag, which we are deprecating, and model two has the tags specified in go/VisualShoppingImageAttributes.
Attributes
-
backgroundType
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - -
collage
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - -
cropping
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - We are looking to deploy a model for the Ads team to identify images with bad cropping. The model will be for Ads only and we will not populate the cropping field in CDS. -
modelType
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - -
nfs
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - Tag corresponds to the shopping non-family safe (nfs) image signal. -
objectCount
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - -
overlay
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - Tag corresponding to unwanted text overlay (watermarks, logos, promotional elements, artifacts, etc). -
selfie
(type:GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t
, default:nil
) - -
textOverlay
(type:list(GoogleApi.ContentWarehouse.V1.Model.CommerceDatastoreDeepTag.t)
, default:nil
) - Tag corresponding to the text overlay classifier (watermarks, logos, promotional elements, artifacts, etc). -
version
(type:integer()
, default:nil
) -
Protocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about CompositeDoc
: - Where should I look up certain information (e.g: pagerank, language)? - What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field's size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 193
Additional checksums of the document.
Alternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.
The top non-forwarding dups of the canonical url.
The top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making "info:" complete)
Attributes
-
SourceTypeBitfield
(type:String.t
, default:nil
) - Indicate how this content came to be included. Legal values are constructed by bitwise-OR-ing values from the included_content::SourceType enum. Default SourceTypeBitfield = included_content::INCLUDED_FRAME -
includedDoc
(type:GoogleApi.ContentWarehouse.V1.Model.GDocumentBase.t
, default:nil
) - -
linkUrl
(type:String.t
, default:nil
) - -
perDocData
(type:GoogleApi.ContentWarehouse.V1.Model.PerDocData.t
, default:nil
) - -
properties
(type:GoogleApi.ContentWarehouse.V1.Model.DocProperties.t
, default:nil
) -
Contains information mostly used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.
Contains information needed for end-to-end live experiments. For a cdoc generated by production pipeline, it includes experiment IDs that have selected current document. For a cdoc generated by experiment pipeline, it includes current experiment ID.
Contains information for a live experiment.
Attributes
-
dupsComputedAlternateNames
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingDupsComputedLocalizedAlternateNamesLocaleEntry.t)
, default:nil
) - A subset of computed variations, only the members which are dups to the main url. Used during serving for swapping in the URL based on regional and language preferences of the user. -
webmasterAlternateNames
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingConverterLocalizedAlternateName.t)
, default:nil
) - All localized alternate names provided by the webmaster (canonical and dups, indexed and not-indexed). Used on the ranking side for swapping out results based on the webmaster preference.
Contains information about the partial updates present in a partial CompositeDoc.
Last full indexing information for the partial CDoc.
Note: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they're not particularly sensitive.
List of robots info parsed for the user-agents other than the default used to crawl this page.
A message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 42
The following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.
This is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.
Contains lexical metadata for a given reference. For example, this proto will be used to store locale-specific Lexical mids for contact relationships (e.g. /g/11gv0vypg4 is the mid for mother in english and /g/11gmy_gv87 is for mother in french) as an extension to QRefAnnotation::other_metadata, when available.
Represents a reference made by a user that refers to some personal entity.
General message used to store metadata about references to personal entities, even if those entities cannot be resolved.
Contains the source and type information related to a personal entity, for example if it's an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13
Represents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.
Represents a reference that may be part of a larger compound reference. For example, "my brother's birthday" will have a subreference that may have references for "my brother".
Represents a resolution that may be part of a larger compound reference. For example, "my brother's birthday" will have a subreference that may have resolutions for "my brother".
Attributes
-
corpus
(type:String.t
, default:nil
) - -
corpusScore
(type:number()
, default:nil
) - Corpus specific score for an image -
isSelectedForIndexing
(type:boolean()
, default:nil
) - Whether an image was selected for indexing. -
referrerDocid
(type:list(String.t)
, default:nil
) - Set of referrers indexed with the image. -
referrerUrls
(type:list(String.t)
, default:nil
) - Set of referrer urls indexed with the image.
Attributes
-
confidence
(type:float()
, default:nil
) - To store confidence in the distribution in cases when total is not set. -
item
(type:list(GoogleApi.ContentWarehouse.V1.Model.CountryClickDistributionItem.t)
, default:nil
) - -
total
(type:float()
, default:nil
) - To store total clicks on this page/domain.
If you add new fields to this message, do not use any tag value less than the "Next free tag" below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44
Stores one location and all meta-data associated with that location.
List of locations assigned to a document.
This represents one location.
A metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.
A 32 bit fingerprint of a state level geotoken. The geotoken is in the following format: statecountry. These indicate a page is of interest to these states/regions of a country. The use of message is to enable easy additions of probabilities or weights per metro id in the future.
Salient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 - 1.0] in which 1.0 represents a high likelihood to be relevant to the country
Proto contains parameters for a multiple component distributions, where each component has non-negative weight and the sum of component weights is 1.
Proto contains parameters of a single component distribution.
The next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.
Attributes
-
change
(type:list(GoogleApi.ContentWarehouse.V1.Model.CrawlerChangerateUrlChange.t)
, default:nil
) - All the changes we've seen for this URL. -
latestVersion
(type:GoogleApi.ContentWarehouse.V1.Model.CrawlerChangerateUrlVersion.t
, default:nil
) - The latest version we've seen. -
url
(type:String.t
, default:nil
) - This field in only set in 'url_history' column of Union repository to avoid having to read CompositeDocs.
For crowding in news we need to keep data about the last X clustering iterations around.
Attributes
-
x0
(type:integer()
, default:nil
) - Pixels version of the DeepCropIndexing bytes, this corresponds to the crop box for a given image (based input image size and desired aspect ratio). -
x1
(type:integer()
, default:nil
) - -
y0
(type:integer()
, default:nil
) - -
y1
(type:integer()
, default:nil
) -
NOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().
Bad title information.
Protocol buffer for storing compressed feature.
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - If extra is present it must be of the same length as value. -
generalExtra
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t
, default:nil
) - -
value
(type:list(number())
, default:nil
) - Dense data.
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - Extra information for this particular FeatureSetData (example timestamp of this frame in the video). (Almost never used). -
feature
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureSetDataFeatureSetElement.t)
, default:nil
) - The following can have multiple FeatureSetElement(s) Each of these FeatureSetElement correspond to the various feature groups. One concrete example is the way these features are generated - example audio, video or OCR. -
label
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiLabelSetElement.t)
, default:nil
) - Labels for this particular FeatureSetData. (Almost never used). Only interesting when you have (for example) frame level labels.
A FeatureSetElement stores the features coming from a single group.
This represents a sequence (ordered) of FeatureSetData elements.
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - If extra is present it must be of the same length as index and value. -
generalExtra
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t
, default:nil
) - -
index
(type:list(String.t)
, default:nil
) - Indexed data. index and value must be of the same length. -
value
(type:list(number())
, default:nil
) -
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - -
generalExtra
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t
, default:nil
) - -
targetClass
(type:list(String.t)
, default:nil
) - -
targetClassName
(type:list(String.t)
, default:nil
) - -
targetValue
(type:list(number())
, default:nil
) - -
targetWeight
(type:list(number())
, default:nil
) - -
weight
(type:number()
, default:nil
) - Weight assigned to this set of labels.
Proto message to store quantized dense feature data.
Proto message to store quantized indexed feature data.
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - If extra is present it must be of the same length as value. -
generalExtra
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t
, default:nil
) - -
value
(type:list(String.t)
, default:nil
) - Quantized Dense data.
Attributes
-
extra
(type:list(GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t)
, default:nil
) - If extra is present it must be of the same length as label and value. -
generalExtra
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiFeatureExtra.t
, default:nil
) - -
label
(type:list(String.t)
, default:nil
) - Indexed data. label and value must be of the same length. -
value
(type:list(number())
, default:nil
) -
The attributes of encoded thumbnail images. Next id: 10.
LINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.
Sum of individual score components within a moving thumbnail. Used as input for weight fitting.
The attributes of a video thumbnail.
Proto holding values for details about human labels.
Proto holding values for details about score and the source model.
Proto holding values for user reported thumbnails. Next id: 12
Video level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.
Deep-linking data is used to construct a deep-link URI for an activity or frame's embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.
Represents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like Message
in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.
Developers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.
This field records where the ItemScope was retrieved, if it was created via a web fetch.
Transient generic data that will not be saved on the server.
An EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.html
the extra info response from ascorer used to build snippets in GWS experiments
A query term, phrase, or synonym. An original query term or phrase is called an "item". Each item may have more than one "subitem" if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem "cia" in the query [central intelligence agency].
Attributes
-
anchorinfo
(type:GoogleApi.ContentWarehouse.V1.Model.ExtraSnippetInfoResponseTidbitAnchorInfo.t
, default:nil
) - -
begin
(type:integer()
, default:nil
) - For tidbits only: position of tidbit in the document. More specifically, tidbit is found at [begin, end) in the document's tokens. -
end
(type:integer()
, default:nil
) - -
items
(type:String.t
, default:nil
) - a bitvector of each query term within this tidbit -
score
(type:number()
, default:nil
) - the score for this tidbit if there was one this is returned for Snippets and Tidbits and is only meaningful for comparing between objects of the same type (snippet to snippet, tidbit to tidbit) -
text
(type:String.t
, default:nil
) - the tidbit text, with search terms already highlighted -
type
(type:String.t
, default:nil
) -
this information is specific to anchors and is only returned if type == ANCHOR
Attributes
-
binaryClassifier
(type:String.t
, default:nil
) - Either binary_classifier will be set, using the enum above, or binary_classifier_name will be set, if it is not one of the classifiers in the enum - never both. -
binaryClassifierName
(type:String.t
, default:nil
) - -
discreteFraction
(type:integer()
, default:nil
) - A CompactDocClassification will not usually have a weight. For a CompactSiteClassification, this value will be 0...127 corresponding to 0.0...1.0, indicating fraction of the site that this label applies to
The result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.
A version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassification
A taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.
A contact pointer that represents a contact (http://go/assistant-contact-id).
//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.
//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.
//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.
Additional contact ids that are not actively used to match contact pointers to contacts. There may be overlap with primary or secondary contact ids.
The secondary ID of a contact.
Citation contains the information needed to correctly attribute the source of data.
An Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: - "mids" (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), - "ids" are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, - "guids" are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).
Represents a geopoint, which is one of the possible Value types.
Represents a measurements, which is one of the possible Value types. A measurement value like "5.2 meter^2 / second" would be represented as: magnitude: 5.2 unit { unit_mid: "/m/mid_for_meter" power: 2 } unit { unit_mid: "/m/mid_for_second" power: -1 }
List of { predicate, { object } } to be processed as a Nested Struct. Nested Struct can be recursive. NestedStruct.property_value(i).value(j) may have nested_struct field.
A PropertyValue associates properties with values in the context of a topic.
A Topic represents a Knowledge Graph entity with its associated properties and their values.
Values are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or "compound values" which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).
Next id: 127
Main content section
The Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.
The original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike "Content", this does not contain any HTTP headers. The content may be compressed using the same method as "Content". In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed--which is currently never and unlikely to change for performance reasons.
The generic version of a snippet response
Actions supported by Madden for a local entity.
This class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of "Main Street". A feature at the corner of "Hollywood" and "Vine" streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: - feature_type - feature_id - point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: - feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) - point_off_segment (or point; see "fuzzy point" note below) - unsuitable_travel_mode (may be empty) - level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: - feature_id - point_on_segment - segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitions
This class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cc
Represents the unparsed portion of an address with an associated language.
This class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: - The addresses in the Geo Schema do not include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be "Zack's Pizza" and its address would be "123 Main Street". Similarly, streets, cities, and counties do not include themselves as part of their address. The address of "Seattle" is "King County, Washington, USA". If want to construct an address that does include the feature name, you can simply prepend it to the other address components. - Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. - Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is "smallest to largest" starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. - Some types of address components may occur more than once in an address. For example, a UK address with a "dependent thoroughfare" would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.
This class represents a range of numbers in an address. It is an optional additional field in the 'AddressComponentProto' message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cc
A feature’s geometry that is populated from the 3D Geometry Store. Please see go/a3d-and-mapfacts for design details.
A container for speed limits that allows tagging with a correctness trust level.
An AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.
Used to represent the unique id of an attribute.
Protocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.
Used to help display language-specific names of attributes.
A BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.
The reference to a BizBuilder listing. For details on BizBuilder see http://g3doc/commerce/bizbuilder/backend/g3doc/index.md
A border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the "Mason Dixon Line" or the "Berlin Wall." The standard feature properties have the following interpretations: name - Borders rarely have names unless they notable in their own right (e.g. "Mason Dixon Line", "Berlin Wall"). point - A border should not have point geometry. polyline - A border should have a single polyline that represents the division between the two features. polygon - A border should not have polygon geometry.
NOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don't contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChange
This protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.
This holds data specific to business chain features.
A BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.
Message containing calls to action specified by the business owner.
This proto represents a canonical gconcept of a business chain's members.
This protocol buffer holds S2 cell covering for the feature. See util/geometry/s2cell_union.h for more information on S2 cells. See geostore/base/public/cellcovering.h for utility functions.
CityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChange
Representation of an object with geometry.
Representation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of MultiPoint
s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.
A single line, loop, or set of points.
A collection of arbitrary surfaces that have no prescribed topological relationship.
A 3D shape, composed of a watertight exterior shell with optional interior watertight shells.
A polygonal surface, composed of a closed exterior loop with optional closed interior loops.
Information for transforming a point from an "old" to "new" coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translate
How the object will be moved along the x, y, and z axes, respectively.
Generic item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.
A count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.
Possible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.
Protocol buffer describing a curve that connects two externally specified endpoints.
Attributes
-
angleDegrees
(type:float()
, default:nil
) - We use this parameterization to make curves change predictable when endpoints move. Each point P is defined in terms of the straight edge [S, E] between the start point of the curve S and its end point E. P / / / S ------------* E Counter-clockwise angle between vector SE and vector SP. -
distanceMultiplier
(type:float()
, default:nil
) - Distance(S, P) in units of Distance(S, E).
Every data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound - The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name - The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address - should be empty. point, polyline, polygon - should be empty. source_info - should not be set. child - should be empty.
WARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil's civil time types.
A dimension value tagged with a comparison operator. This can be used for height, width, or length.
A dimension with a numerical value and unit. This can be a height, width, or length.
This holds data specific to rendering a POI on a map. It's derived from data already in MapFacts, e.g. containing features and the feature's point field. If empty, this proto should be ignored for rendering. See go/maps-render-alignment for motivation and more details.
This protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.
This protocol buffer holds the doodle-specific attributes for features of type TYPE_DOODLE.
A single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.
Represents raster digital elevation model data.
This protocol buffer holds elevation and related data.
This protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.
Models a relationship between a feature and its entrance or exit.
This protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.
An ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.
Attributes
-
closeReason
(type:String.t
, default:nil
) - Structured reason for the permanent closure (if any). -
closed
(type:boolean()
, default:nil
) - Indicates whether the place is closed (permanently or temporarily), i.e., not operational in the present, but was at in the past and/or will be in the future. WARNING: New code should use Geo Schema's libraries instead, specifically the OpeningStatus APIs, available in: C++ (cs/f:google3/geostore/base/public/feature.h%20function:ExistenceState) Java (cs/f:google3/java/com/google/geostore/base/Existence.java%20function:OpeningStatus) * Python (cs/f:google3/geostore/base/public/python/feature.clif%20existence_state) -
endAsOfDate
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreDateTimeProto.t
, default:nil
) - The earliest known date of this feature's "end" (e.g. an establishment's permanent closure), if the actual date is unknown; i.e. the best known upper bound of the day end_date would represent. end_as_of_date must be in local (civil) time and of PRECISION_DAY. For example, given an establishment: Without any end_as_of_date, the permanent closure definitely isn't now and isn't known to start at any point in the future. With an end_as_of_date of 2023-04-05 but without any end_date, the permanent closure definitely starts at latest 2023-04-05 but may start before 2023-04-05. * With an end_as_of_date of 2023-04-05 and an end_date of 2023 (at just PRECISION_YEAR), the permanent closure definitely starts at earliest 2023-01-01 (i.e. the first day of 2023) and at latest 2023-04-05, but may start at any day between 2023-01-01 and 2023-04-05. IMPORTANT: Generally for Geo Schema-internal use only. If you believe you need to use this field directly, please go/contact-geo-schema. -
endDate
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreDateTimeProto.t
, default:nil
) - -
featureBirthTimestampSeconds
(type:String.t
, default:nil
) - DEPRECATED This field is now deprecated (see b/22878252). Please use the Geo Schema GetFeatureBirthTimestamp() API to extract the birth timestamp of a feature. The timestamp in seconds since the UNIX epoch (January 1, 1970) when this feature becomes live in the Geo repository. Different from start_date in that this is the birth date of Google's representation of the place whereas start_date is the birth date of the place in the physical world. -
removed
(type:boolean()
, default:nil
) - Indicates whether the feature is marked as removed in the Geo repository. Removed features are still present in the Geo repository but are considered to be in an inactive state (not valid for lint purposes, not retrievable except explicitly by feature ID, etc.). NOTE: If you have access to a complete FeatureProto, do NOT read this bit directly to find out whether a feature is removed. Instead, rely on the IsFeatureRemoved() API, available in C++ (geostore/base/public/feature.h) and Java (geostore/base/Feature.java). -
removedReason
(type:String.t
, default:nil
) - Structured reason why the feature is marked as removed. Relevant only when removed == true. -
startDate
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreDateTimeProto.t
, default:nil
) - (Initial) opening and (permanent) closing dates of the establishment, such that start_date is the first day open and end_date is the first day closed. The only allowed precisions are PRECISION_DAY, PRECISION_MONTH, PRECISION_YEAR. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: The start_date and end_date are stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.
Provenance information for sub-fields of this feature - go/subfield-provenance.
Attributes
-
fieldPath
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostoreStableFieldPathProto.t)
, default:nil
) - Represents all fields for which this SourceInfo is valid. NOTE: Field paths are rooted at FeatureProto level. -
provenance
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreProvenanceProto.t
, default:nil
) -
Metadata related to the history of a given feature in the Geo repository.
Feature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.
A simple list of feature IDs.
A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit "cell id" that sometimes corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don't need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.
General metadata related to a given feature in the Geo repository.
Message to represent a "feature property" as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.
Every entry in the GeoStore database is called a "feature". A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the "type" field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.
Metadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).
Internal field metadata. This part is not exposed to downstream consumers of the repository (read-only clients) but is available to upstream providers to the repository (read-write clients).
Proto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.
Wrapper to hold data related to a lane’s track, extendable for future data.
Example: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.
This message denotes an ingredient information of a food dish.
This message denotes the serving portion size of a food dish.
A food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.
A GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).
Encapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_of
A Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.
Geopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.
Attributes
-
conveysAttributionTo
(type:String.t
, default:nil
) - If present, some aspect of this feature (usually name or geometry) can signify ownership of the area by the region specified. The string, if present, will be a region code. E.g., suppose a TYPE_POSTAL_CODE feature has a Russian format in Crimea (which is disputed by Ukraine), then this field would be set to "RU". -
regionSpecificName
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostoreRegionSpecificNameProto.t)
, default:nil
) - Any specific handling of this feature's name from different regions' POVs.
The grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.
Represents HTML text associated with a feature.
Inferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a "composite feature", while the countries are its "composing features". A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via geometry_composition
, while the composing features must refer back to the composing feature via defines_geometry_for
. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.
Main proto for all internal fields to be stored at the feature level.
Attributes
-
isAuto
(type:boolean()
, default:nil
) - Whether or not the piece of data has been generated automatically (i.e., by a bot/automated process based on heuristics/algorithms rather than coming as a fact set by some human user or data provider based on their knowledge). Note that this does NOT imply that the value was set as a result of a bot operation on the repository, since it is conceivable to use a bot/automated process simply as a way of convenience to ingest large amount of canonical/ground truth data. -
sourceSummary
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreInternalSourceSummaryProto.t
, default:nil
) - Information about the source providing the piece of data this metadata is attached to.
Internal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING - if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.
Specifies a single outgoing lane connection.
Attributes
-
dataset
(type:String.t
, default:nil
) - Within the above provider, the dataset from which this piece of data was generated. For fields that are auto-generated the "dataset" is likely to be some algorithm's or program's name. Similar to SourceInfoProto.dataset but with the difference that it is required to always be set. Providers that don't have a concept of dataset may use "default". -
provider
(type:String.t
, default:nil
) - The data provider from which this piece of data was generated. Equivalent to SourceInfoProto.provider in the public schema.
Our TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an "intersection". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user's concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the "core" part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name - Can be used to specify any "special" names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address - This should always be empty. point - Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline - This should always be empty. polygon - Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child - This should always be empty.
A TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name - This should always be empty. Intersections that have a "special" name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address - This should always be empty. point - Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline - This should always be empty. polygon - This should always be empty. child - This should always be empty.
Attributes
-
duration
(type:String.t
, default:nil
) - Describes how much time the service is going to take, e.g. how long it takes to do a haircut. Value of seconds must be from +60 (1 min) to +31,536,000 (365 days) inclusive. Value of nanos must be zero. -
jobRelatedCategories
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostoreJobRelatedCategory.t)
, default:nil
) - Represents the name of a potential grouping of items. For TYPE_JOB, this is the category names of the categories that a user picked this job type from at the time of input. -
jobTypeId
(type:String.t
, default:nil
) - Unique identifier for a job. This is required for standard jobs and blank for free-form jobs. Job type ids are prefixed with "job_type_id:". Notice this is a unique string representation of a job across languages. E.g., “job_type_id:air_duct_repair”. The existence of a job_type_id means the job type is a standard one, and has a corresponding entry in the Standard Jobs Taxonomy. -
jobTypeMid
(type:String.t
, default:nil
) - Represents the MID corresponding to the job_category entity in the Knowledge Graph. For example, job_type_id="job_type_id:install_faucet", job_type_mid="/g/11hzzxjv3f".
This is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.
The reference to an entity in the KnowledgeGraph. For details on the KnowledgeGraph see http://goto/kg.
This protocol buffer represents the association between a segment and a landmark feature. Notes: - References to TYPE_SEGMENT features should always point to the even sibling. - Self-references are allowed but the referencing segment's sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).
This proto contains attributes relevant to physical lane markers.
Describes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.
Attributes
-
boundingMarker
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostoreBoundingMarkerProto.t)
, default:nil
) - References to any gcid:physical_lane_marker features that bound this lane connection. -
connectionToken
(type:String.t
, default:nil
) - A token that can be used to identify the version of the data about this lane connection. -
curve
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreCurveConnectionProto.t
, default:nil
) - Specifies how the flowline should be synthesized in this connection region. If unspecified, heuristics may be used to pick a sweep shape based on retraction values or neighboring curves. -
flow
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreFlowLineProto.t
, default:nil
) - The most logical path for the center of an object to travel along within the lane connection. Typically, this is the lane connection's center line, but doesn't have to be. -
laneNumber
(type:integer()
, default:nil
) - This is the lane number on the target segment. This field is not set if the target segment doesn't have lanes, or we don't know the exact connectivity. -
primaryConnection
(type:boolean()
, default:nil
) - True if this connects to the unique, natural continuation of the current lane. At most one LaneConnection per lane can have this field set true. This attribute is of interest to ADAS providers as a hint to which lane a vehicle is likely to follow, in the absence of other information about the vehicle's planned path. -
segment
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t
, default:nil
) - This reference to the other segment is weak, since strong would blow up bounds of all segments. -
yieldToOtherConnections
(type:boolean()
, default:nil
) - The inverse of the primary connection bit that provides a hint that this connection is part of a merge and a vehicle following this connection should yield to vehicles following other incoming connections.
Represents a piece of text with an associated language.
A feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name - Levels should have names according to the following: Short, elevator-style names, such as "L" for "Lobby" and "2" for "Second floor", must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous "best" abbreviated name. Longer names such as "Ticketing" or "Upper Level" may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name "Observation Deck 2" for the abbreviated name "OD2" is a good additional name. In contrast, the name "Level 2" for the abbreviated name "2" is not desired. address - This should always be empty. point, polyline, polygon, center - These should never be set (since we are representing a logical entity). preferred_viewport - This should be the approximate extent of the level. child - This should always be empty.
This message describes the details of a single language within a locale.
A locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don't have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.
A logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. "US - Mexico Border", "Kosovo - Serbia Border (Disputed)").
Media item attached to an element of price list.
Width and height of the original photo in pixels.
A name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the text
field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.
The container for all GConceptInstances associated with a feature.
A RawGConceptInstanceProto contains all data required by both internal and external clients. We store the 'public' data in a GConceptInstanceProto and the 'private' data inside of RawGConceptInstanceProto. NOTE: this doesn't really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the "private" fields below.
Message to represent opening hours including regular weekly hours and a set of exceptions.
Information about a feature's operations, e.g. when the feature is temporarily closed.
This message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for "CN" set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.
Painted element logical color. Most legal definitions only specify a color category (like "yellow") and don't specify an exact hue, rather stating that the colors must be distinguishable from each other. We refer to this as the "logical" color.
Describes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be 'layered,' i.e. appended, onto each other when denormalizing references via parking_provider_feature.
Used to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.
Expresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.
This protocol buffer holds related data for features of type TYPE_PEAK and TYPE_VOLCANO.
A crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents "simple" crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a '-') right before intersection X. Assume crossing at D is prohibited (denoted by a '%'). Assume "prime" roads (A',B',...) are OUT segments relative to X. A\A' B//B' \ // \ // - - X - % // \ // \ C'//C D'\D A CROSSABLE PedestrianCrossing should be added to A, B and C. An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by '-'). Assume "prime" roads (A',B',...) are OUT segments relative to X. A\A' \ \ -X- \ \ B'\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.
Describes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don't contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChange
Attributes
-
curvatureStatus
(type:String.t
, default:nil
) - -
radiansPerMeter
(type:number()
, default:nil
) - Curvature in radians per meter. Negative is a curve to the left and positive is a curve to the right. -
startPointFraction
(type:number()
, default:nil
) - How far along the line this curvature value starts to apply, in the format of decimal between 0 and 1.
Attributes
-
latE7
(type:integer()
, default:nil
) - -
lngE7
(type:integer()
, default:nil
) - -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t
, default:nil
) - NOTE: If removing metadata, remove 'option objc_class_prefix = "GS";' together. See cl/189921100. Field-level metadata for this point. NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.point[] and FeatureProto.center. -
temporaryData
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - A place for clients to attach arbitrary data to a point. Never set in MapFacts.
PointWithHeightProto encodes lat/lng through PointProto and contains altitude information.
This protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions.
Attributes
-
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t
, default:nil
) - Field-level metadata for this polyline. NOTE: there are multiple PolyLineProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.polyline[]. -
temporaryData
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - A place for clients to attach arbitrary data to a polyline. Never set in MapFacts. -
vertex
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostorePointProto.t)
, default:nil
) - A sequence of vertices connected by geodesics (the equivalent of straight lines on the sphere). Adjacent vertices are connected by the shorter of the two geodesics that connect them, i.e. all edges are 180 degrees or less. Note that the edge definition becomes numerically unstable as the arc length approaches 180 degrees. Polylines are generally expected to be non-self-intersecting, but any such restriction is imposed by the user of the polyline rather than the polyline itself.
A general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn't be expected to work with public functions in //geostore/base/public/polygon.h.
A pose is an object's position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.java
This message represents nutrition facts for a food dish.
This message denotes calories information with an upper bound and lower bound range.
This message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.
Attributes
-
priceList
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostorePriceListProto.t)
, default:nil
) - The actual food menus. This is a repeated field because a restaurant may offer multiple menus, e.g. for different language or for different available time, such as holidays vs non-holidays. -
priceListUrl
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostoreUrlListProto.t)
, default:nil
) - All URLs that give price list information for this establishment. For food menus, this would represent menu_urls. Note that this field is a repeated list of UrlListProtos. Each UrlListProto instance in the list is intended to hold lists of URLs that are translations of the same URL. -
status
(type:GoogleApi.ContentWarehouse.V1.Model.GeostorePriceInfoStatus.t
, default:nil
) - Message containing metadata about the verified status of the PriceInfo. Only verified listings should be displayed.
Providers of PriceInfo (e.g. SinglePlatform, YEXT) send verified and unverified listings. PriceInfoStatus is used to encapsulate this information.
A PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).
A PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.
A PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.
This message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. "restaurant prices" are subject to an higher level of "soft" bounds than "museum admission price"
PropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId's value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.
This is a minimal version of SourceInfoProto.
This message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRank
This message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.
A RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.
Attributes
-
conflationMethod
(type:String.t
, default:nil
) - Method to use when conflating together RawDataProto values at the same key NB: If you add a new ConflationMethod, then you must add the corresponding logic to MergeRawData to conflate the RawDataProto values using this method. -
description
(type:String.t
, default:nil
) - Self-contained documentation about what this field represents and how its values are encoded. -
key
(type:String.t
, default:nil
) - The key being described. -
label
(type:String.t
, default:nil
) - A longer, human-readable name associated with this key. The label might be used in a data explorer tool, for example.
A latitude-longitude rectangle, represented as two diagonally opposite points "lo" and "hi". The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: - If lo == hi, the rectangle consists of a single point. - If lo.longitude > hi.longitude, the longitude range is "inverted" (the rectangle crosses the 180 degree longitude line). - If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. - If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. - If lo.latitude > hi.latitude, the latitude range is empty.
This protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon.
A collection of information that applies to a polygonal area.
This message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto's related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.
A restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name - A name that represents the name for this restriction group. kg_property - A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.
A restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction "no turns 3-5pm except buses" would have two conditions: "time is 3-5pm" and "vehicle is not a bus". If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a "repeated" element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as an bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don't contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChange
Proto used to represent rights for FeatureProto. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.
A RoadConditionalProto defines conditions that affect when the road traversal information is applicable.
A road monitor is a device that observes traffic for road violations like speeding or running a red light. These are modeled within MapFacts so that navigation services can warn users when they drive along road segments that are monitored.
Below is some horrible ASCII art and a description of the components of a road sign. +-------------------+ | A11 E50 Paris | | Chartres | +-------------------+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a "major_position" of zero. Their "minor_position" values would be zero for "A11", one for "E50", and two for "Paris". The component in the second row would have "major_position" value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.
A RoadSignProto holds the details of a road sign. Currently this is simply a list of the items that appear on the sign and their relative position.
This protocol buffer holds metadata about the association between a segment and a route.
A route is a collection of segments that forms a logical group - usually a named road or highway. Segments can belong to more than one route, and the segments of one route may be a subset of the segments of another route (e.g. I-5 N is a subset of I-5). Segments in the collection that define the route do not need to constitute a single uninterrupted line, there can be disconnects. The standard feature properties are interpreted as follows: name - Routes should have one or more names. (While unnamed roads certainly exist in the real world, we choose not to create route features for such roads. Instead, the unnamed segments are merely not part of any route.) address - This should always be empty. type - Specifies a particular route subtype, see feature.proto. point - This should always be empty. polyline - This should always be empty. polygon - This should always be empty. child - The pairs of segments that belong to this route (a given route should always reference segments in both travel directions).
This protocol buffer holds school district specific attributes for features of TYPE_SCHOOL_DISTRICT.
A segment path describes a path through a short set of segments. The segment path can be used for any purpose. At the moment, only TYPE_ROAD_SIGN features can have associated segment paths: The segment path lists the segments that refer to the sign. These are the segments for which the sign is applicable. The sign's physical location is independent of the segments in the path.
--------------------------------------------------------------------------- WARNING - if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: - ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. - consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. - update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. ---------------------------------------------------------------------------
Encapsulates ramp-specific properties.
This proto represents the geographic area served by an establishment. WARNING: This proto is not meant to be used directly. Please use the provided libraries. http://google3/geostore/base/public/service_area.h http://google3/java/com/google/geostore/base/ServiceArea.java
Defines an ordered reference to a line variant’s stop.
This protocol buffer holds attributes for features of TYPE_SKI_BOUNDARY.
This protocol buffer holds attributes for features of TYPE_SKI_LIFT.
This protocol buffer holds attributes for features of TYPE_SKI_TRAIL.
Attributes
-
slopeValue
(type:number()
, default:nil
) - Slope value as elevation change divided by horizontal distance, in the format of decimal, e.g., ‘0.1234’ means a 12.34% slope. If a slope_value is unset, it indicates we don’t have enough information to compute slope at this location. -
startPointFraction
(type:number()
, default:nil
) - Indicates how far along the segment this slope value starts to apply, in the format of decimal between 0 and 1.
MapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.
Source infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional "raw data" that is taken directly from the provider's format and has not been converted to a canonical form.
Trust related information about the input source (feed or user) to help feature summarization. Typically, the values in this proto are either based on source's previous observations (e.g., a blocked LBC user or a trusted feed) or their status (Google hired operator or admin user). The proto can later contain a more granular trust score or correctness probabilities. A higher enum value indicates a more trusted source. Leaving room in the value space for adding more granular enums, if they become necessary later.
A speed limit, containing both the limit and the conditions in which it applies.
A speed value and unit.
Represents a way to traverse nested fields by referencing their token fields. Everything starts relative to a known root message, specified externally. E.g., suppose we have a feature proto that has a lane with token 0x123 which in turn has a lane connection with token 0x456 for which we want to assert something about flowline altitudes. The field path in that case will look like: field_path: { field_num: 31 # segment } field_path: { field_num: 6 # lane version_token: "0x123" } field_path: { field_num: 8 # lane_connection version_token: "0x456" } field_path: { field_num: 3 # flow } field_path: { field_num: 1 # track } field_path: { # Note: pose is repeated. By not specifying a token we refer to all poses # in a track. field_num: 2 # pose } field_path: { field_num: 4 # altitude } This path could also be represented succinctly in a more human-friendly form as something like: segment.lane[@0x123].lane_connection[@0x456].flow.track.pose[*].altitude
Attributes
-
fieldNum
(type:integer()
, default:nil
) - Field number to select. -
versionToken
(type:String.t
, default:nil
) - Select repeated field entry by its version token. If this is used, then the message referenced by field_num must have a token field annotated with the (version_token) field option. Must be omitted for leaf non-repeated fields. If unset for a repeated field, we consider this selector to apply equally to all descendants.
This protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: - Sweeps represent geometry between the end of one segment and the end of the other segment (modulo retraction values). - Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v --A--> - Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.
This protocol buffer is used to represent telephone numbers and related information.
This protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.
Represents text (with an associated language) that is affixed to the beginning and/or end of a primary text.
A rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.
Not all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other ("day of year" and "day of week", for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are "smaller" than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, "smaller" units repeat within the "larger" unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. ----------------------------------------------------------------------------- WARNING - if you add new fields to TimeEndpointProto you need to: - ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) -----------------------------------------------------------------------------
Attributes
-
begin
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto.t
, default:nil
) - Begin and end are used to specify a range of times: [begin, end). If one is present, the other must be present as well. Additionally, both must have matching time granularities - all fields specified in the begin TimeEndpointProto must be present in the end TimeEndpointProto and vice-versa. Hours are not allowed to wrap (begin.hour() <= end.hour()). -
end
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto.t
, default:nil
) - -
inverted
(type:boolean()
, default:nil
) - If true, then this interval actually encodes the complement of the specified occasion or range. For example, the following TimeIntervalProto encodes all times other than the month of May. TimeIntervalProto[ type = TYPE_RANGE inverted = true begin = TimeEndpointProto[ month = MAY ] end = TimeEndpointProto[ month = JUNE ] ] -
occasion
(type:String.t
, default:nil
) - clang-format on -
type
(type:String.t
, default:nil
) -
A TimezoneProto holds information about a feature's related time zone.
A collection of information that applies to a toll cluster.
Attributes
-
index
(type:integer()
, default:nil
) - The index of this TrackProto in a list of TrackProtos. -
pose
(type:list(GoogleApi.ContentWarehouse.V1.Model.GeostorePoseProto.t)
, default:nil
) - The instantaneous pose of points along this track. The fields set inside each pose must be set consistently along the track.
A transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name - The names of this line, including both long and short names, if available. Short names like "10" or "Blue" should carry the FLAG_ABBREVIATED, long names like "Dublin/Pleasanton line" should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website - The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child - The legs of this line, in no particular order. source_info - Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.
A line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variants
Encapsulates information related to an individual transit station.
The association between this station and the agency which services this station.
A speed limit without a limit value. Used to indicate the absence of a speed limit.
Hold a list of URLs, usually to contain translations of a single URL.
A web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.
UserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn't so that we can store it in the clear while still preventing correlation between a user's contribution.
A speed limit whose value can change based on road, traffic, and weather conditions.
A set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.
A proto representing a vertical ordering of a feature. NOTE: This shouldn’t be used if a more specific field can be used instead. E.g., for TYPE_SEGMENT features grade_level field should be preferred. For indoor features RELATION_ON_LEVEL should be preferred. See go/aboutgrades for comparison of various types of levels available.
A weight value tagged with a comparison operator.
A weight with a numerical value and unit.
An anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.
Bounding box for page structural elements: pictures, paragraphs, characters, etc.
A way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +----------------------------------------------------+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +----------------------------------------------------+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.
Top-level representation of OCRed document
Attributes
-
GarbageDetectorChangeList
(type:integer()
, default:nil
) - If the garbage text detector was run, the changelist that the binary was sync'ed to (or -1 if unknown), and whether the settings had their production values (or false if unknown). -
GarbageDetectorWasProduction
(type:boolean()
, default:nil
) - -
Height
(type:integer()
, default:nil
) - Height in pixels -
HorizontalDpi
(type:integer()
, default:nil
) - Horizontal resolution in DPI. -
Label
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocLabel.t
, default:nil
) - -
PornScore
(type:float()
, default:nil
) - Score of porn classifier from analyzing images on page. Note: This should be named porn_score, but we use PornScore as the name in order to be consistent with the rest of this proto. -
TextConfidence
(type:integer()
, default:nil
) - Page text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good. -
VerticalDpi
(type:integer()
, default:nil
) - Vertical resolution in DPI. -
Width
(type:integer()
, default:nil
) - Width in pixels -
block
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoodocDocumentPageBlock.t)
, default:nil
) - -
mergedpageinfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoodocDocumentPageMergedPageInfo.t)
, default:nil
) - -
postOcrConfidence
(type:boolean()
, default:nil
) - Whether page-level text confidences and other summary data were computed by PostOcrUtils instead of the now-obsolete GarbageTextDetector -
stats
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocSummaryStats.t
, default:nil
) - Page level stats (font size, line spacing, etc.)
Attributes
-
BlockType
(type:integer()
, default:nil
) - -
Box
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocBoundingBox.t
, default:nil
) - -
Label
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocLabel.t
, default:nil
) - -
OrientationLabel
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocOrientationLabel.t
, default:nil
) - Which way is upright for this block, and what is the reading order (applicable if there is text here). -
Paragraph
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoodocParagraph.t)
, default:nil
) - -
RotatedBox
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocRotatedBoundingBox.t
, default:nil
) - If RotatedBox is set, Box must be set as well. See RotatedBoundingBox. -
TextConfidence
(type:integer()
, default:nil
) - Block text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.
If we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR'd goodoc), we record some source goodoc info here.
Statistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbols
Label aggregates all kinds of optional characteristics of page elements.
Weighted language
Language label
A logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.
NOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): "The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc."
An Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example "12-1" where "12" identifies a chapter and "1" identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.
OrientationLabel groups the details about orientation and reading order.
This message specifies structure "overrides" to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.
Extra css styles to apply
Represents a paragraph of text in OCRed content.
Information about the paragraph's dropped capital letter
Attributes
-
EndPoint
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocRoutePoint.t
, default:nil
) - Route end point -
StartPoint
(type:GoogleApi.ContentWarehouse.V1.Model.GoodocRoutePoint.t
, default:nil
) - Route start point -
Weight
(type:integer()
, default:nil
) - Route weight, i.e. route -
Word
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoodocWord.t)
, default:nil
) - The array of words on this route
Similar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \ A C \ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the 'natural' orientation.
Label identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).
If Appearance is COLUMN
If the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).
For SCHOLARLY_CITATION labels
For CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels
If there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.
Recording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the "badword_fraction_allowed" in a running window of size - "window_size". If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.
If Appearance is TABLE_CELL
If Appearance is TABLE
Goodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean's CA_VolumeResult.goodoc_stats).
A single symbol representation
Attributes
-
Code
(type:integer()
, default:nil
) - -
Confidence
(type:integer()
, default:nil
) -
A word representation
Alternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.
An alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.
Describes the billing configuration for a new tenant project.
Translates to IAM Policy bindings (without auditing at this level)
Specifies the desired format for the server to use when it returns audio_out
messages.
Required Fields that identify the device to the Assistant. See also: Register a Device - REST API Device Model and Instance Schemas * Device Proto
Information about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13
State of the apps currently installed on the device.
Configuration for the response. Next Id: 11
Specifies the desired format for the server to use when it returns screen_out
response.
This contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).
Alarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.
A description of the dates when an alarm should recur.
Contains information about on-device alarms for devices that support alarms.
Device model capabilities override from client.
Contains information about on-device fitness activities for devices that support fitness.
Describes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChange
Contains fields to identify the device which sent the request.
Conceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.
Contains information about on-device timers for devices that support timers.
Represents the action responsible for access control list management operations.
Represents the action triggered by Rule Engine when the rule is true.
Represents the output of the Action Executor.
Represents the result of executing an action.
Represents the action responsible for adding document under a folder.
Request Option for processing Cloud AI Document in CW Document.
Request message for DocumentLinkService.CreateDocumentLink.
Metadata object for CreateDocument request (currently empty).
Request message for DocumentService.CreateDocument.
Response message for DocumentService.CreateDocument.
To support the custom weighting across document schemas.
Represents the action responsible for properties update operations.
Represents the action responsible for data validation operations.
Configurations for a date time property.
Represents the action responsible for deleting the document.
Request message for DocumentLinkService.DeleteDocumentLink.
Request message for DocumentService.DeleteDocument.
Defines the structure for content warehouse document proto.
A document-link between source and target document.
Attributes
-
customPropertyFilter
(type:String.t
, default:nil
) - This filter specifies a structured syntax to match against the [PropertyDefinition].is_filterable marked astrue
. The syntax for this expression is a subset of SQL syntax. Supported operators are:=
,!=
,<
,<=
,>
, and>=
where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\) and quote (\") characters. Supported functions areLOWER([property_name])
to perform a case insensitive match andEMPTY([property_name])
to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query:(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND driving_years > 10
-
customWeightsMetadata
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleCloudContentwarehouseV1CustomWeightsMetadata.t
, default:nil
) - To support the custom weighting across document schemas, customers need to provide the properties to be used to boost the ranking in the search request. For a search query with CustomWeightsMetadata specified, only the RetrievalImportance for the properties in the CustomWeightsMetadata will be honored. -
documentCreatorFilter
(type:list(String.t)
, default:nil
) - The exact creator(s) of the documents to search against. If a value isn't specified, documents within the search results are associated with any creator. If multiple values are specified, documents within the search results may be associated with any of the specified creators. -
documentNameFilter
(type:list(String.t)
, default:nil
) - Search the documents in the list. Format: projects/{project_number}/locations/{location}/documents/{document_id}. -
documentSchemaNames
(type:list(String.t)
, default:nil
) - This filter specifies the exact document schema Document.document_schema_name of the documents to search against. If a value isn't specified, documents within the search results are associated with any schema. If multiple values are specified, documents within the search results may be associated with any of the specified schemas. At most 20 document schema names are allowed. -
fileTypeFilter
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleCloudContentwarehouseV1FileTypeFilter.t
, default:nil
) - This filter specifies the types of files to return: ALL, FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or files will be returned, respectively. If ALL is specified, both folders and files will be returned. If no value is specified, ALL files will be returned. -
folderNameFilter
(type:String.t
, default:nil
) - Search all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}. -
isNlQuery
(type:boolean()
, default:nil
) - Experimental, do not use. If the query is a natural language question. False by default. If true, then the question-answering feature will be used instead of search, andresult_count
in SearchDocumentsRequest must be set. In addition, all other input fields related to search (pagination, histograms, etc.) will be ignored. -
propertyFilter
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoogleCloudContentwarehouseV1PropertyFilter.t)
, default:nil
) - This filter specifies a structured syntax to match against the PropertyDefinition.is_filterable marked astrue
. The relationship between the PropertyFilters is OR. -
query
(type:String.t
, default:nil
) - The query string that matches against the full text of the document and the searchable properties. The query partially supports Google AIP style syntax. Specifically, the query supports literals, logical operators, negation operators, comparison operators, and functions. Literals: A bare literal value (examples: "42", "Hugo") is a value to be matched against. It searches over the full text of the document and the searchable properties. Logical operators: "AND", "and", "OR", and "or" are binary logical operators (example: "engineer OR developer"). Negation operators: "NOT" and "!" are negation operators (example: "NOT software"). Comparison operators: support the binary comparison operators =, !=, <, >, <= and >= for string, numeric, enum, boolean. Also support like operator~~
for string. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. To specify a property in the query, the left hand side expression in the comparison must be the property ID including the parent. The right hand side must be literals. For example: "\"projects/123/locations/us\".property_a < 1" matches results whose "property_a" is less than 1 in project 123 and us location. The literals and comparison expression can be connected in a single query (example: "software engineer \"projects/123/locations/us\".salary > 100"). Functions: supported functions areLOWER([property_name])
to perform a case insensitive match andEMPTY([property_name])
to filter on the existence of a key. Support nested expressions connected using parenthesis and logical operators. The default logical operators isAND
if there is no operators between expressions. The query can be used with other filters e.g.time_filters
andfolder_name_filter
. They are connected withAND
operator under the hood. The maximum number of allowed characters is 255. -
queryContext
(type:list(String.t)
, default:nil
) - For custom synonyms. Customers provide the synonyms based on context. One customer can provide multiple set of synonyms based on different context. The search query will be expanded based on the custom synonyms of the query context set. By default, no custom synonyms wll be applied if no query context is provided. It is not supported for CMEK compliant deployment. -
timeFilters
(type:list(GoogleApi.ContentWarehouse.V1.Model.GoogleCloudContentwarehouseV1TimeFilter.t)
, default:nil
) - Documents created/updated within a range specified by this filter are searched against.
References to the documents.
A document schema used to define document structure.
Configurations for an enum/categorical property.
Represents the string value of the enum field.
The configuration of exporting documents from the Document Warehouse to CDW pipeline.
Request message for DocumentService.FetchAcl
Response message for DocumentService.FetchAcl.
Filter for the specific types of documents returned.
Configurations for a float property.
The configuration of the Cloud Storage Ingestion pipeline.
The configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.
Request message for DocumentService.GetDocument.
The histogram request.
Attributes
-
documentSchemas
(type:list(String.t)
, default:nil
) - This filter specifies the exact document schema(s) Document.document_schema_name to run histogram query against. It is optional. It will perform histogram for property names for all the document schemas if it is not set. At most 10 document schema names are allowed. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. -
propertyNames
(type:list(String.t)
, default:nil
) - It is optional. It will perform histogram for all the property names if it is not set. The properties need to be defined with the is_filterable flag set to true and the name of the property should be in the format: "schemaId.propertyName". The property needs to be defined in the schema. Example: the schema id is abc. Then the name of property for property MORTGAGE_TYPE will be "abc.MORTGAGE_TYPE". -
yAxis
(type:String.t
, default:nil
) - By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is not set.
Histogram result that matches HistogramQuery specified in searches.
The ingestion pipeline config.
Request message for projectService.InitializeProject
Response message for projectService.InitializeProject
Configurations for an integer property.
A triggered rule that failed the validation check(s) after parsing.
Response message for DocumentSchemaService.ListDocumentSchemas.
Response message for DocumentLinkService.ListLinkedSources.
Response message for DocumentLinkService.ListLinkedSources.
Request message for DocumentLinkService.ListLinkedTargets.
Response message for DocumentLinkService.ListLinkedTargets.
Response message for RuleSetService.ListRuleSets.
Response message for SynonymSetService.ListSynonymSets.
Request message for DocumentService.LockDocument.
Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values.
Configurations for a Map property.
Options for merging updated fields.
The configuration of processing documents in Document Warehouse with DocAi processors pipeline.
The DocAI processor information.
Status of a project, including the project state, dbType, aclMode and etc.
Property of a document.
Defines the metadata for a schema property.
The schema source information.
Attributes
-
condition
(type:String.t
, default:nil
) - The filter condition. The syntax for this expression is a subset of SQL syntax. Supported operators are:=
,!=
,<
,<=
,>
,>=
, and~~
where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\) and quote (\") characters.~~
is the LIKE operator. The right of the operator must be a string. The only supported property data type for LIKE is text_values. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. It matches if the property contains semantic similar content to the query. It is not regex matching or wildcard matching. For example, "property.company ~~ \"google\"" will match records whose propertyproperty.compnay
have values like "Google Inc.", "Google LLC" or "Google Company". Supported functions areLOWER([property_name])
to perform a case insensitive match andEMPTY([property_name])
to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Only properties that are marked filterable are allowed (PropertyDefinition.is_filterable). Property names do not need to be prefixed by the document schema id (as is the case with histograms), however property names will need to be prefixed by its parent hierarchy, if any. For example: top_property_name.sub_property_name. Sample Query:(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND driving_years > 10
CMEK compliant deployment only supports: Operators:=
,<
,<=
,>
, and>=
. Boolean expressions: AND and OR. -
documentSchemaName
(type:String.t
, default:nil
) - The Document schema name Document.document_schema_name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.
Configurations for a nested structured data property.
Represents the action responsible for publishing messages to a Pub/Sub topic.
Additional result info for the question-answering feature.
A text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).
Represents the action responsible for remove a document from a specific folder.
Meta information is used to improve the performance of the service.
Additional information returned to client, such as debugging information.
Represents the rule for a content warehouse trigger.
Represents a rule and outputs of associated actions.
Records the output of Rule Engine including rule evaluation and actions result.
Represents the output of the Rule Evaluator.
Represents a set of rules from a single customer.
Metadata message of RunPipeline method.
The metadata message for Export-to-CDW pipeline.
The metadata message for GcsIngest pipeline.
The status of processing a document.
The metadata message for Process-with-DocAi pipeline.
Request message for DocumentService.RunPipeline.
Request message for DocumentService.SearchDocuments.
Response message for DocumentService.SearchDocuments.
Document entry with metadata inside SearchDocumentsResponse
Request message for DocumentService.SetAcl.
Response message for DocumentService.SetAcl.
Represents a list of synonyms for a given context. For example a context "sales" could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjoint
Represents a list of words given by the customer All these words are synonyms of each other.
String/text values.
Configurations for a text property.
Filter on create timestamp or update timestamp of documents.
Configurations for a timestamp property.
Timestamp value type.
Metadata object for UpdateDocument request (currently empty).
Request message for DocumentService.UpdateDocument.
Response message for DocumentService.UpdateDocument.
Request message for DocumentSchemaService.UpdateDocumentSchema.
Options for Update operations.
Request message for RuleSetService.UpdateRuleSet.
The user information.
Value
represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
Specifies the schema property name.
Metadata object for CreateDocument request (currently empty).
Response message for projectService.InitializeProject
Metadata object for UpdateDocument request (currently empty).
Encodes the detailed information of a barcode.
A bounding polygon for the detected image annotation.
Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.
An entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.
Parsed and normalized entity value.
Relationship between Entities.
A page in a Document.
Referencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.
Represents a weak reference to a page element within a document.
A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.
A detected barcode.
Detected language for a structural component.
Dimension for the page.
A form field detected on the page.
Rendered image contents for this page.
Image quality scores for the page image.
Image Quality Defects
Visual element describing a layout unit on a page.
A collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.
Representation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.
A collection of lines that a human would perceive as a paragraph.
A table representation similar to HTML table structure.
A cell representation inside the table.
A row of table cells.
Detected break at the end of a Token.
Font and other text style attributes.
Detected non-text visual elements e.g. checkbox, signature etc. on the page.
Structure to identify provenance relationships between annotations in different revisions.
The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.
Contains past or forward revisions of this document.
Human Review information of the document.
For a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.
Annotation for common text style attributes. This adheres to CSS conventions as much as possible.
Font size with unit.
Text reference indexing into the Document.text.
A text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offset
This message is used for text changes aka. OCR corrections.
A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.
A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.
Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both allServices
and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com
from DATA_READ logging, and aliya@example.com
from DATA_WRITE logging.
Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
Associates members
, or principals, with a role
.
An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy
is a collection of bindings
. A binding
binds one or more members
, or principals, to a single role
. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role
is a named list of permissions; each role
can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a binding
can also specify a condition
, which is a logical expression that allows access to a resource only if the expression evaluates to true
. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation. JSON example: { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }
YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3
For a description of IAM and its features, see the IAM documentation.
Represents the information about user's working hours during one day. Note that a period on Monday from 18:00 - 00:00 is represented as a triplet (1, 1080, 1440).
The status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).
Custom location specified by the user.
The status indicating the user should not be disturbed.
The status indicating the user is in a meeting.
The status indicating that no other status applies.
Context which helps to determine the user's local time.
The status indicating the user is out of office.
The status indicating the user doesn't work at this time.
A time range, which includes the start and excludes the end.
Attributes
-
nextCommitmentStatus
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleInternalAppsWaldoV1alphaUserStatus.t
, default:nil
) - The status of the commitment above. -
nextCommitmentTime
(type:DateTime.t
, default:nil
) - The most relevant upcoming commitment (InMeeting, DoNotDisturb, CalendarBusy or OutOfOffice). This context is set only if there is an upcoming commitment to show, and only on non commitments. Priority is given to the next closest commitment if its start is close enough to this event, otherwise the next large OOO if there is one.
The context indicating the user's upcoming Out of Office event.
The current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) - "User is INACTIVE, but leaving the office soon" [09:00, 10:00) - "User is OOO till 10:00" For intervals that don't have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time - likely one day, but the client should stick to the "next_poll_time" to decide when to query the server again at the latest. Below there is an example response from the server. Let's assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays "inactive". When the current time becomes 18:00:00 it displays "outside working hours". At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40
A single availability range. The displayed status should be the same during the entire time range.
Additional context about the user's current and/or future availability to give a better understanding of the status ("Working from Zurich").
Location of the user, which might be "home", for example, or an office building, as well as a custom location specified by the user.
The actual status of the user. The message contains everything needed for visualisation of this status.
The context providing the User Location (not just Elsewhere). This is a legacy name from when it was only set for users working remotely, now it is also set when the user is working from the office.
Information about the user's working hours.
Id for message recipients, e.g. users, groups etc.
LocationHint is used to specify a location as well as format.
This resource represents a long-running operation that is the result of a network API call.
A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
The Status
type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status
message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of java.awt.Color
in Java; it can also be trivially provided to UIColor's +colorWithRed:green:blue:alpha
method in iOS; and, with just a little work, it can be easily formatted into a CSS rgba()
string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5
. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor fromProto(Color protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color toProto(UIColor color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac 255); var green = Math.floor(greenFrac 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: A full date, with non-zero year, month, and day values. A month and day, with a zero year (for example, an anniversary). A year on its own, with a zero month and a zero day. A year and month, with a zero day (for example, a credit card expiration date). Related types: google.type.TimeOfDay google.type.DateTime * google.protobuf.Timestamp
Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the time_offset
oneof is set. Consider using Timestamp
message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.
Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.
An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
Represents an amount of money with its currency type.
Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478
Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp
.
Represents a time zone from the IANA Time Zone Database.
Attributes
-
agentDeviceId
(type:String.t
, default:nil
) - The device ID defined by the agent. -
agentId
(type:String.t
, default:nil
) - The agent's ID. Generally it is the agent's Google cloud project id. -
chipEndpoint
(type:list(integer())
, default:nil
) - chip endpoint index (if the target is CHIP). Set packed = true to handle error caused by b/32953375 when exporting this data. Note that we should never change this to non-repeated: a packed field will not work properly if you change the field to non-repeated later. -
targetType
(type:String.t
, default:nil
) - Execution routing target.
Defines execution routing information for Traits, which will be used to be mapped for each Trait as following: map traits_to_routing_table_map = X; We'll use this for CHIP first. And expect to migrate the existing routing logic to this gradually.
LINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.
TimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.
A simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.
A message to describe the trace events returned by Chromium.
ConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.
Attributes
-
domain
(type:String.t
, default:nil
) - -
expiration
(type:float()
, default:nil
) - -
httpOnly
(type:boolean()
, default:nil
) - -
name
(type:String.t
, default:nil
) - -
path
(type:String.t
, default:nil
) - -
sameSite
(type:String.t
, default:nil
) - -
secure
(type:boolean()
, default:nil
) - -
value
(type:String.t
, default:nil
) -
DOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16
Zero or more attributes for the node.
Next available tag: 24
Event for frame resize. Currently we only record resize events caused by automatic frame expansion.
Attributes
-
data
(type:String.t
, default:nil
) - The binary image data, stored in a format decided by the application and a particular RenderService implementation. -
height
(type:integer()
, default:nil
) - -
pageNumber
(type:integer()
, default:nil
) - The page number if this is an image of a page from a print-mode rendering. -
viewport
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoBox.t
, default:nil
) - The viewport from which this image was generated. This is relative to the upper left of the page's document. -
width
(type:integer()
, default:nil
) - The width and height of the image stored in the data field.
Event for the initial load of a frame, including main frame and subframes.
Event for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().
PartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.
Attributes
-
bottom
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoOffset.t
, default:nil
) - -
left
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoOffset.t
, default:nil
) - -
right
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoOffset.t
, default:nil
) - -
top
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoOffset.t
, default:nil
) - A missing value for any field in this message means 'auto'.
A redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.
ReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20
Timing data produced by the fetcher.
HTTP Headers included with the resource request.
Attributes
-
frameResize
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoFrameResizeEvent.t
, default:nil
) - -
initialLoad
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoInitialLoadEvent.t
, default:nil
) - -
modalDialog
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoModalDialogEvent.t
, default:nil
) - -
redirect
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoRedirectEvent.t
, default:nil
) - -
scriptOriginUrl
(type:String.t
, default:nil
) - The URL of the script which caused this event, if any. Analogous to origin_url in DOMTreeNode. -
virtualTimeOffset
(type:float()
, default:nil
) - Virtual time of the event, as an offset from the beginning of the render in seconds. -
windowOpen
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoWindowOpenEvent.t
, default:nil
) -
Results returned by a render server extension. Next id: 3
See go/wrs-render-quality for how to evaluate the results. Next id: 24
Render event counters.
Attributes
-
box
(type:GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoBox.t
, default:nil
) - Box is set for render blocks ( , , etc). Box for any RenderTreeNode can be found either in the RenderTreeNode itself or by traversing up the ancestors until a RenderTreeNode with a Box is found. -
childRenderTreeNodeIndex
(type:list(integer())
, default:nil
) - child_render_tree_node_index is an index into the list of RenderTreeNodes stored in the Document. WARNING : Don't use this field. Applications should not rely on the structure of the render tree. This is an internal browser implementation detail and it changes from time to time. Generally, applications should obtain rendering information by starting with the relevant DOMTreeNode and following pointers from there to the relevant RenderTreeNodes. -
domTreeNodeIndex
(type:integer()
, default:nil
) - Index of the DOMTreeNode for which this RenderTreeNode is applicable. This index can be used to lookup a DOMTreeNode from list of DOMTreeNodes stored in the Document. -
inlineTextBox
(type:list(GoogleApi.ContentWarehouse.V1.Model.HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox.t)
, default:nil
) - -
renderedText
(type:String.t
, default:nil
) - The actual text that was rendered. This is applicable only for text nodes. -
styleIndex
(type:integer()
, default:nil
) - Style index is set for rendered nodes (text nodes, image nodes, widgets, etc). The style_index can be used to lookup the style from the list of styles stored in the Document.
For text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.
Describes a script stack frame.
Next id: 54 Font and text decorations
WebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.
Corresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.
The PhoneNumber object that is used by all LibPhoneNumber API's to fully represent a phone number.
This message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.
The subset of FlowProto that we want to go into production AND be stored in ContentSignals.
Image content based multipliers. Current usage is in the pamir_section.
Attributes
-
descriptorFloat
(type:list(number())
, default:nil
) - Raw dense float feature vector. -
descriptorShort
(type:String.t
, default:nil
) - Short descriptor for image content features, e.g. compressed bytes. This is the compressed version of descriptor_float below. It can be can be decompressed to descriptor_float with a tiny bit of compression error (in most cases it should be totally fine). -
enumVersion
(type:String.t
, default:nil
) - -
minorVersion
(type:String.t
, default:nil
) - -
starburstTokens
(type:list(integer())
, default:nil
) - Starburst tokens. -
version
(type:integer()
, default:nil
) - The following integers are currently used: Starburst V1: 1 Starburst V2: 2 Starburst V3: 3 Starburst V4: 4 Starburst Visual V4: 1004 This field is deprecated. Please try to use the 'enum_version' in future.
This defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 132
Multibang kg entities.
Attributes
-
expirationTimestampMicros
(type:String.t
, default:nil
) - The thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds. -
height
(type:integer()
, default:nil
) - -
mimeType
(type:String.t
, default:nil
) - -
size
(type:integer()
, default:nil
) - -
type
(type:String.t
, default:nil
) - -
width
(type:integer()
, default:nil
) -
Proto to store vertical indexing information for the document and associated image outlinks. The image content can be indexed to multiple verticals, including imagesearch. It can also be indexed only in verticals, not in imagesearch.
Navboost query data.
This proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64
Artwork or Object in the Image Details
Attributes
-
address
(type:String.t
, default:nil
) - -
city
(type:String.t
, default:nil
) - -
country
(type:String.t
, default:nil
) - -
email
(type:String.t
, default:nil
) - -
phone
(type:String.t
, default:nil
) - -
postalCode
(type:String.t
, default:nil
) - -
state
(type:String.t
, default:nil
) - -
webUrl
(type:String.t
, default:nil
) -
Location of the camera @deprecated: Use location_created instead.
This class holds the EXIf/IPTC meta data Next Id: 104
Attributes
-
code
(type:String.t
, default:nil
) - -
detailedReason
(type:integer()
, default:nil
) - Each of the above not_crawled_reason will have a set of detailed reason defined in crawler/trawler/trawler_enums.proto. -
internalStatus
(type:GoogleApi.ContentWarehouse.V1.Model.UtilStatusProto.t
, default:nil
) - The status returned when RPCs are used to internally fetch the image (eg. from FIFE). -
isTerminal
(type:boolean()
, default:nil
) - Specifies if the current crawl state is terminal. -
noIndexAfterTimestamp
(type:String.t
, default:nil
) - Time in seconds since epoch after which this image should be considered unavailable. -
notCrawledReason
(type:String.t
, default:nil
) - -
overrodeTerminalState
(type:boolean()
, default:nil
) - When true, it means that a non-terminal state has overwrote a terminal one. -
repid
(type:String.t
, default:nil
) - The repid for the urls. This repid is the id given to the dupe cluster this url belongs to. -
robotedAgents
(type:String.t
, default:nil
) - A comma separated list of user agents for which this image should be considered roboted. All images are crawled using googlebot-images and this exists here purely for informative reasons. -
url
(type:String.t
, default:nil
) - The url at which we crawled this content. With us starting to use repids the crawl table key no longer is suggestive of the url. In addition this is used in Amarna to detect race conditions between a reference changing its crawl directive and the original crawl job finishing. -
urlDeleted
(type:boolean()
, default:nil
) - Set to true if the url is taken down by clients. This indicates that this crawl state is used to fast remove the crawl result of the url instead of waiting for Multiverse crawl results. For more information, please refer to go/amarna-url-deletion.
For detailed info, please see go/naive-image-selection
A proto buffer to organize shopping offer info from Inventory & Policy Service.
Attributes
-
DEPRECATEDEntropyColor
(type:integer()
, default:nil
) - entropy and color values for thumbnail (4 bytes consisting of R, G, B and entropy values) -
filename
(type:String.t
, default:nil
) - about 10 bytes -
flags
(type:integer()
, default:nil
) - image_perdoc.h -
height
(type:integer()
, default:nil
) - -
width
(type:integer()
, default:nil
) -
Used to store debug information of the overall classifier.
Goldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signal
A single region within an image. NEXT_ID: 11
An image with regions within it. NEXT_ID: 11
Attributes
-
signalsBlobId
(type:String.t
, default:nil
) - Blob id for AmarnaSignalsBlob (seeBlob proto
section of go/revisit-frame-level-signals-amarna). -
signalsBlobUpdateTimestamp
(type:DateTime.t
, default:nil
) - Additional timestamp field for when the blob is written/updated, serving as the dirty field to help checksum-based update push (seeDirty field
section in go/revisit-frame-level-signals-amarna).
This message stores the status and reason why Amarna was unable to provide perdoc information for an image.
Additional animated image data stored in perdoc (ImageData); will only be stored for animated images.
The metadata returned with each transcode. Next available field: 9
XtagList -- a collection of Xtag instances with unique names. This would be associated with one specific piece of content.
Fields for crawl-status-related debugging information.
Describes our knowledge about whether a stored file is truncated with respect to its original file online.
Identifier for frames associated with a video.
This variant defines the frame to be used as multiple thumbnails per miuntes.
This variant defines the frame to be the first frame of the video's generated preview.
This variant defines the frame to be a thumbnail of the video.
Only one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).
This proto stores perdocs extracted from video frames.
Attributes
-
localeStripped
(type:boolean()
, default:nil
) - Whether the locale got stripped from the original result before further processing. -
s3TopLocale
(type:String.t
, default:nil
) - From cs/symbol:speech.s3.LanguageIdentificationResult owned by go/s3. -
ytCapsAudioLanguage
(type:String.t
, default:nil
) - From cs/symbol:video_platform.operation.AudioLanguage owned gy go/ytcaps.
For debugging only.
This proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.proto
A message containing embedding information and localization scores using the VSS product recognition module.
Contains the coordinates of the normalized bounding box.
The recognized entity.
Information about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.
The tokens for retrieval.
Store ProductInformation for a given version of the models used in VSS.
Alternative hypotheses (a.k.a. n-best list).
A speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna's video schema.
To indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.
Attributes
-
venomStatus
(type:list(GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryVenomStatus.t)
, default:nil
) - Contains one status for each Genus that this video belongs to in Venom. For example, a video that is both 1) Found on the web, and 2) Opted-in by an Interest Feed partner would have two entries, one for GENUS_CRAWL and one for GENUS_VIDEO_INTEREST_FEED
Attributes
-
acl
(type:GoogleApi.ContentWarehouse.V1.Model.VideoAssetsVenomACL.t
, default:nil
) - Venom ACL of the video. Used to check if other systems, such as Ares, are able to process the video. -
deletionTimestampUsec
(type:String.t
, default:nil
) - -
genus
(type:String.t
, default:nil
) - The Genus (Venom's client ID) that this media belongs to. -
insertionResponseTimestampUsec
(type:String.t
, default:nil
) - Time that VideoNotification result was received from Venom. -
insertionTimestampUsec
(type:String.t
, default:nil
) - -
lastInsertionAttemptsNum
(type:integer()
, default:nil
) - Record the attempts num of previous insertion. It's only updated when either the insertion succeeds or fails with reason INSERTION_ATTEMPTS_EXCEEDED, but it's always set so that we can easily construct venom_id with this attempts num for future insertions. -
reason
(type:String.t
, default:nil
) - -
settings
(type:list(GoogleApi.ContentWarehouse.V1.Model.VideoAssetsVenomSettings.t)
, default:nil
) - The Settings that were used to customize the Venom request for this media. -
state
(type:String.t
, default:nil
) - -
transition
(type:GoogleApi.ContentWarehouse.V1.Model.VideoAssetsVenomTransition.t
, default:nil
) - Transition contains the Objective and Outcome of the latest Venom run. -
venomId
(type:GoogleApi.ContentWarehouse.V1.Model.VideoAssetsVenomVideoId.t
, default:nil
) - The media's unique identifier within Venom. -
venomMutationGeneration
(type:String.t
, default:nil
) - The generation number returned by Venom. -
videoVenomSetting
(type:String.t
, default:nil
) - This field is not persisted anywhere. It is only used in deletion service for converying the VideoVenomSetting when deleting Venom data.
Attributes
-
content
(type:String.t
, default:nil
) - The actual video preview bytes generated for the video. -
debuggingInfo
(type:GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryVideoPreviewsDebuggingInfo.t
, default:nil
) - Used for debugging only. -
metadata
(type:GoogleApi.ContentWarehouse.V1.Model.ImageBaseVideoPreviewMetadata.t
, default:nil
) - The metadata associated with the preview (i.e. the type: 8k, 90k, etc.) -
previewFrameZero
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiVesperVideoThumbnail.t
, default:nil
) - 0th frame image of the preview. This frame has the same resolution as the associated preview video bytes, as it is taken directly from the preview bytes in Venom/Viper processing. Right now, we only populate preview_frame_zero only for the VPREVIEW_TYPE_540K_ORIGINAL_HQ_LICENSED preview type. Note that preview_frame_zero.thumbnails(0).timestamp_ms() is the timestamp from the full video, not from the preview.
Attributes
-
audioOnly
(type:boolean()
, default:nil
) - Both audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there's no video track, just an audio track. -
contentBasedMetadata
(type:GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryContentBasedVideoMetadata.t
, default:nil
) - Information derived from fetched video bytes. -
crawlState
(type:GoogleApi.ContentWarehouse.V1.Model.ImageMoosedogCrawlState.t
, default:nil
) - The raw crawl state. -
firstCrawlTimestampSec
(type:String.t
, default:nil
) - Timestamp of the first time that the video was successfully crawled. -
firstProcessingTimestampSec
(type:String.t
, default:nil
) - Timestamp when this video's videoProperties is populated for the first time, measured in seconds since epoch. -
indexedVerticals
(type:list(GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo.t)
, default:nil
) - Proto to store vertical indexing information for the document. The video can be indexed to multiple verticals, including video search. It can also be indexed only in verticals, not in video search. -
inlinePlayback
(type:GoogleApi.ContentWarehouse.V1.Model.VideoCrawlVideoInlinePlaybackMetadata.t
, default:nil
) - DEPRECATED: please use content_based_metadata.inline_playback. Metadata related to Inline playback on the Interest Feed -
lastCrawlRequestTimestampSec
(type:String.t
, default:nil
) - Timestamp when this video's last crawling is requested, measured in seconds since epoch. -
lastProcessingTimestampSec
(type:String.t
, default:nil
) - Last timestamp when this video's videoProperties is populated, measured in seconds since epoch. -
url
(type:String.t
, default:nil
) - This is the video url taken from the key of the Amarna references table row corresponding to this message.
Proto to store vertical indexing information for the document and associated video outlinks. The video content can be indexed to multiple verticals, including videosearch. It can also be indexed only in verticals, not in videosearch.
Word-specific information for recognized words.
Next available tag: 13
Don't change the field names. The names are used as sparse feature labels in client projects.
A protocol buffer to store the OCR annotation. Next available tag id: 10.
Each entry corresponds to an image containing an offensive symbol.
Attributes
-
imageLinkSelectionInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.ImageSearchImageSelectionInfo.t)
, default:nil
) - Image Selection Info -
rejectedNotIndexedImageLink
(type:list(GoogleApi.ContentWarehouse.V1.Model.ImageSearchUnindexedImageLink.t)
, default:nil
) - URLs and Amarna status of images on the page for which image data is not yet available and weren't selected for indexing in image search. Used by consumers of docjoins that need a complete view of image urls on the page (i.e. Digdug). -
selectedNotIndexedImageLink
(type:list(GoogleApi.ContentWarehouse.V1.Model.ImageSearchUnindexedImageLink.t)
, default:nil
) - URLs and Amarna status of images on the page for which image data is not yet available and were otherwise selected for indexing in image search. Used by consumers of docjoins that need a complete view of selected image urls on the page (i.e. Hearse, the index selection testbed).
The image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-edd
Attributes
-
amarnaStatus
(type:GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryAmarnaStatus.t
, default:nil
) - Insight on why we do not have data for this imagelink. -
crawlStatusInfo
(type:GoogleApi.ContentWarehouse.V1.Model.ImageRepositoryCrawlStatusInfo.t
, default:nil
) - Fields for crawl-status-related debugging information. -
url
(type:String.t
, default:nil
) - The image URL.
Annotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.
Image feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.
Image region produced by a detector.
A single label with score and meta data.
LabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.
Meta data useful to annotation Label and Feature with extra information.
This protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.
Attributes
-
annotationSource
(type:String.t
, default:nil
) - -
deviceMatchInfo
(type:String.t
, default:nil
) - Device match info calculated only by URL pattern. -
ecnFp
(type:String.t
, default:nil
) - Fp96 of webmirror ECN as of the last time the canonical was processed. -
feedUrl
(type:String.t
, default:nil
) - Populated if annotation_source is SITEMAP. -
language
(type:String.t
, default:nil
) - -
parsedLanguage
(type:String.t
, default:nil
) - Parsed language and region code from language field. -
parsedRegion
(type:integer()
, default:nil
) - -
url
(type:String.t
, default:nil
) - -
urlEncoding
(type:integer()
, default:nil
) - see webutil/urlencoding
The proto to be stored in raw_redirect_info column of document table.
Redirect_chain is present for redirects, and absent for the final target. It contains the chain from the current hop's target to the final target.
If we detect any server or content based redirect, we will store the characteristics in this message.
Contains information about 3 versions of the content of a document: 1. Original: the crawled content (possibly patched in ConversionFilters). 2. Processed: the final version of the content indexed in Web search. 3. Intermediate (no longer generated): intermediate version between the original and the processed content. All 3 versions of the content consist of HTTP headers (in unknown encoding) concatenated with the document body (in interchange valid UTF-8 encoding).
Stores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.
Robots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.
Used for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.
Attributes
-
doubleIndexingExperimentId
(type:String.t
, default:nil
) - Only for double indexing experiments. This field is set for duplicated documents so that docjoin users will not see duplicated docs. -
dupExperimentId
(type:String.t
, default:nil
) - Only for Experimental clusters, not relevant for production serving data: Index-Dups can run experiments in Quality Clusters where different versions of the same document (e.g. with different signals) are serving in parallel. They are uniquely identified by the dup-experiment-IDs. This is for experimental clusters only. In prod-versions the member will not be set. -
key
(type:String.t
, default:nil
) - The primary identifier of a production document is the document key, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. The document key is the unique identifier for each document, but multiple document keys can cover the same URL (e.g. crawled with different device types). In your production code, please always assume that the document key is the only way to uniquely identify a document. Link for more background information: http://go/url The document key is populated for all docs in indexing since 2014-03. ## Recommended way of reading: const string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); Note: For older DocJoins (e.g. historical DocJoins), the field is not populated. In those scenarios it is recommended to use the function 'GetDocumentKeyFromCompositeDoc' in '//indexing/crawler_id/utils/compositedoc/compositedoc_util.h' instead.
Following signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.
Following structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.cc
Statistics of the anchors in a docjoin. Next available tag ID: 63.
------------------------------------------------------------------------- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.
------------------------------------------------------------------------- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we'll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).
This message summarized anchors of one trusted site.
Holds extra info except annotations and raw cdoc for buildint the final cdoc.
DataVersion tracks the version of data in CompositeDoc. The notion of "data" here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 539
Attributes
-
considerationTimestampMicros
(type:String.t
, default:nil
) - Sometimes, a piece of data may not exist for a document (and we don't want to delete it), so timestamp_micros won't exist. However, consideration_timestamp_micros will be set to indicate we tried to update that piece of data for tracking purposes. -
humanReadableVersion
(type:String.t
, default:nil
) - -
timestampMicros
(type:String.t
, default:nil
) - The timestamp when a piece of data is updated (or deleted if the data doesn't exist in the update).
The serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.
This message contains a set of cluster ids used to de-dup at serving time. A document could be clustered into different clusters according to different properties.
Attributes
-
clusterId
(type:String.t
, default:nil
) - Cluster-ID of that locale entry. Not Populated if the message is part of a Cluster-Proto (e.g. when loaded as a signal). The data is being populated when the proto is used outside of the cluster context. For instance, when being used as a dups-computed-localized-alternate-name. -
deviceMatchInfo
(type:String.t
, default:nil
) - Device match info calculated only by URL pattern. -
language
(type:String.t
, default:nil
) - Language/Region code. E.g. "en-US" or "de". Allowed values are language-region codes based on the W3C recommendation http://www.w3.org/TR/html401/struct/dirlang.html#langcodes -
url
(type:String.t
, default:nil
) - The alternate url representing the content for a specific language and region (or language only). -
urlEncoding
(type:integer()
, default:nil
) - see webutil/urlencoding -
urlRegionCode
(type:integer()
, default:nil
) - The region code that was extracted from the URL, either by the TLD or via a pattern (like 'en-ca' as a path element).. Always filled in if known, unlike the sometimes left out region part of the language field. Unknown Region Code
Attributes
-
boostSourceBlocker
(type:boolean()
, default:nil
) - Defined as a source-blocker, a result which can be a boost target but should itself not be boosted (e.g. roboted documents). For more details on source and target blocking, please read through the code for quality/twiddler/impls/PROTECTED/local_result_twiddler_v2.cc -
cluster
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterCluster.t)
, default:nil
) - -
deprecatedHreflangInfo
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo.t
, default:nil
) - Since July 2014 those two fiels are no longer populated, the data is stored in the TargetLinkSets instead. The deprecated fields contain values only for docs which have not been processed since July 2014. -
deprecatedOutlinksInfo
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo.t
, default:nil
) - -
documentLanguage
(type:String.t
, default:nil
) - The language of this document (as detected by on-page language detection, not influenced by external anchor signals or other indirect conclusions). -
hreflangTargetLink
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterTargetLinkSets.t
, default:nil
) - -
inbodyTargetLink
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterTargetLinkSets.t
, default:nil
) - -
outlinksTargetLink
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterTargetLinkSets.t
, default:nil
) - -
sitedupRuleId
(type:list(String.t)
, default:nil
) - The list of Sitedup rule IDs for this specific URL. The value is only populated if the URL has at least one localized cluster fulfilling the following conditions: - spans more than one host - does not have filtering enabled due to other input (e.g. due to being a hreflang cluster). -
warningMessage
(type:list(String.t)
, default:nil
) - A warning indicator that a problem has occurred, e.g. cross-domain links being filtered early. The warning is just presented for debugging purposes.
Attributes
-
clusterId
(type:String.t
, default:nil
) - The cluster id, a unique int64 id for the cluster. -
clusterType
(type:String.t
, default:nil
) - -
deprecatedDebugInfo
(type:list(String.t)
, default:nil
) - Debug Info being attached to each cluster, to understand how it was created. That info is stored in Alexandria, but not available during serving. -
filteringEnabled
(type:boolean()
, default:nil
) - Indicates that filtering can be applied on the category (if many results of one cluster show up on the SERP, only one should be kept). -
language
(type:String.t
, default:nil
) - The language as represented by the URL, e.g. 'use this document on the cluster for German queries'. -
regionCode
(type:integer()
, default:nil
) - Same as language, except for the country. This is the Stable Region Code. This value may be UNKNOWN even though the URL region code is known, namely when the known region code was the main region for the language and for that language no other region is specified (e.g. de-DE being the only german variation). Unknown Region Code -
urlRegionCode
(type:integer()
, default:nil
) - Similar to region_code, but always has the value filled in if known. Unknown Region Code
ClusterInfo no longer being populated (they are the 'old' version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the 'TargetLinkSet' instead.
Message containing information about the localized URL linked to from this document in a localized-variation-context.
Basic information about the link target, i.e. the URL or the language code it's believed to represent.
Message describing where was the link discovered and with what language annotation.
Information derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).
Attributes
-
directTargetLink
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterTargetLink.t)
, default:nil
) - Direct links are the simplest scenarios where A simply links to B. -
indirectTargetLink
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingDupsLocalizedLocalizedClusterTargetLink.t)
, default:nil
) - Repeated field for URLs that are not directly linking to the document TargetLink refers to. We can encounter the following scenario: A -> Links to B -> links to C (i.e. without (A) linking to (C)). In the context of B, indirect_inclusion would include the link to 'C' but not the link back to 'A'.
Information about the URLs being validated.
This protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21
Attributes
-
embedderInfo
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingEmbeddedContentEmbedderInfo.t
, default:nil
) - This field is optional only because we're adding it late and want to support records written before that. For newly produced records, this field should always be set. -
link
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingEmbeddedContentLinkInfo.t)
, default:nil
) - -
pageSizeInfo
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingEmbeddedContentPageSizeInfo.t
, default:nil
) - Page download size. -
sumHttpResponseLength
(type:integer()
, default:nil
) - This field is the sum of http_response_length for the embedder and all embedded resources. This is expected to be set only in the docjoins, not in the pinax tables or the exported bigtable. -
uncrawledLinkUrl
(type:list(String.t)
, default:nil
) -
Log how many urls finally goes to trawler on a host in rendering.
Capsulate all metadata annotated from fetch server. This message will typically go through: - EmbeddedContentFetcher, or - EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.
Information about one embedded link. Next tag: 18
For each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn't change. Next tag available: 8
Page download size information.
Fields used to track cache use in the rendering microservice. Next tag available: 6
Fetch stats during rendering.
Small values from rendering output. It's stored as a column in alexandria document table. Next tag available: 30
Output that indicates a url should be in our corpus.
Attributes
-
id
(type:integer()
, default:nil
) - Unique ID. -
name
(type:String.t
, default:nil
) - The description name. -
petacatId
(type:integer()
, default:nil
) - The corresponding Petacat ID. -
probability
(type:number()
, default:nil
) - The probability of the vertical, whose value is in [0.0, 1.0].
Desktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.
An optional message that may contain details of the signals computation.
Basic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.
Core Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.
The protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.
State data for AdaptiveFrequencyEstimator
Accumulated coverage data for an url using a constant half-life time. Next tag: 28
Aggregated signal used by NumericSignalAggregator. Next field id: 25
Internal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), ..., (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.
Attributes
-
clicksBad
(type:float()
, default:nil
) - -
clicksImage
(type:float()
, default:nil
) - -
clicksTotal
(type:float()
, default:nil
) - -
debugInfo
(type:list(String.t)
, default:nil
) - For debugging purpose only. -
numImageUrls
(type:float()
, default:nil
) - This represents the number of urls with image clicks. A url can have both image and non-image clicks, in which case we set num_image_urls to be the ratio of image_clicks vs total clicks. For example, if a url has 10 total clicks and 7 image clicks, num_image_urls will be set to 0.7. -
numUrls
(type:String.t
, default:nil
) - -
pattern
(type:String.t
, default:nil
) - For debugging purpose only.
Contains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7
This message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.
Representation of numeric signal of a url.
The information about spoken content that's based on purely the media resource contents (and not the embedding page or context, etc).
Representing a dominating branch of the URL tree.
Attributes
-
fingerprint
(type:String.t
, default:nil
) - -
fingerprintWithGroupInType
(type:boolean()
, default:nil
) - If consider position when calculating fingerprint of url feature. -
groupInType
(type:String.t
, default:nil
) - Used together w/ type field to group features, for finding features with too many possible values. -
type
(type:String.t
, default:nil
) - -
value
(type:String.t
, default:nil
) -
Attributes
-
bigBranch
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingUrlPatternUrlTreeBigTreeBranch.t)
, default:nil
) - Keeping information for dominating branches separately, to prevent docs on smaller branches from being dropping during sampling. -
debugInfo
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingUrlPatternUrlTreeUrlTreeDebugInfo.t
, default:nil
) - -
key
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingUrlPatternUrlTreeUrlTreeKey.t
, default:nil
) - -
node
(type:list(GoogleApi.ContentWarehouse.V1.Model.IndexingUrlPatternUrlTreeUrlTreeNode.t)
, default:nil
) - node(0) is root. -
retrievalTimestamp
(type:integer()
, default:nil
) - Used in url pattern matcher for cache invalidation. -
site
(type:String.t
, default:nil
) - The key for this UrlTree, also will be the key in sstable. The old format is site, while the new format will be UrlTreeKey. Only one field can be set in the same time for site and key. -
timestamp
(type:integer()
, default:nil
) - The time when this UrlTree is built, encoded as seconds past the epoch (Jan 1, 1970). -
treeInfo
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - Any additional information.
A UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChange
Attributes
-
indexOfSubTreeWithSplittingFeature
(type:integer()
, default:nil
) - -
indexOfSubTreeWithoutSplittingFeature
(type:integer()
, default:nil
) - -
parent
(type:integer()
, default:nil
) - -
pathFromRoot
(type:String.t
, default:nil
) - The path from root to current node. This is only used for debugging. -
patternId
(type:String.t
, default:nil
) - This is only used in leaf nodes which represents a url pattern. It is the fingerprint of the splitting url features from root to the leaf. -
payload
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - -
splittingFeature
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingUrlPatternUrlTreeUrlFeature.t
, default:nil
) - -
splittingFeatureScore
(type:float()
, default:nil
) - The information gain of content features when selecting this splitting feature to split the node.
This proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.
Wrapper message containing list of regions and their corresponding type of region signal to use in data governance.
Accepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.
An attribute type configures a value whose type is intended to be a attribute defined in the schema.
A BooleanType configures a yes/no value.
A CollectionType configures a value whose type is intended to be a collection.
A CompoundType configures a value composed of multiple answer values.
A DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17
Attributes
-
componentSpecificContracts
(type:GoogleApi.ContentWarehouse.V1.Model.NlpMeaningComponentSpecificContracts.t
, default:nil
) - Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance. -
containerType
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeAnswersContainerType.t
, default:nil
) - -
intersectType
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeAnswersIntersectType.t
, default:nil
) - -
remodelings
(type:GoogleApi.ContentWarehouse.V1.Model.NlpMeaningMeaningRemodelings.t
, default:nil
) - Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework. -
sameType
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeAnswersSameType.t
, default:nil
) - -
unionType
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeAnswersUnionType.t
, default:nil
) -
How a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -> "his" is resolved from the Obama entity obama -> "he" is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shops
A DurationType configures a value whose type is a duration.
An EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10
Modifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language's grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don't necessarily impact go/intent-resolution semantics. LINT.IfChange
Signals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.
LINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between "sibling" (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{"Z", 0}, {"Z", 0}} It's the first of two Z "siblings" under A, then the only Z under B. The path to the Y=7 argument is {{"Z", 1}, {"Y", 0}} It's the second of two Z "siblings" under A, then the only Y under C. The path to the Z=B(...) argument is {{"Z", 0}} It's the first of two Z "siblings" under A.
A message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChange
The value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the "movie" argument would have a provenance of ATTENTIONAL_ENTITY.
NOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The "location" argument would have a provenance of CURRENT_QUERY.
The value is carried from injected contextual schema. Such schemas can be injected by go/qu-biasing-config for particular clients when their biasing configs are triggered for their traffic Config: (if QRewrite source == CARS_IMMERSIVE then inject LocalCarListings and Cars) Context: (QRewrite source == CARS_IMMERSIVE) U: Red [LocalCarListings(Cars() & RelatedTo(/m/red))] In this case, both LocalCarListings and Cars are spanless injected contextual schemas.
The value is used for CurrentQuery.annotator and PreviousQuery.annotator to indicate what annotator annotated the argument
The value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The "person" argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for "Obama", the "person" argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.
The role that this data played in the previous query.
Value is derived from previous task state (go/taskstates).
The value is carried over from a field_candidate in a DialogIntentState. For example: U: Send a message to John. G: Which John do you want to message? U: John A. [ListPresentationIntent(contact_disambiguation.person=0)] On the second user query, the "contact_disambiguation.person" argument would have a provenance of PREVIOUS_TASK_STATE_LIST_CANDIDATE.
The value was carried over from the previous function call. For example: U: Create an alarm titled "Wake". [CreateAlarm(title=Wake)] G: Sure, at what time? U: 5 am. [CreateAlarm(title=Wake,time=5am)] On the second user query, the "title" argument would have a provenance of PREVIOUS_TASK_STATE.
Signals about an anaphor in the query: for example an occurrence of the pronoun "it".
The value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise's movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The "movie" argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.
A message representing the signals associated with an argument. NEXT ID TO USE: 62 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the "ThenChange", fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChange
A message representing the value of an argument. All types in the "value" oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 41
Contains an attribute id and it's completion score.
A message representing the collection membership of an entity.
Concept provides meaning semantics captured in a continuous space, as opposed to MRF. go/concepts-roofshot.
Signal data for associated Concepts (go/concept-roofshot).
A message representing a coreferenced value defined elsewhere in the meaning struct.
Signals associated with CustomVehicleActionArgumentAnnotator annotations.
Signals associated with FreetextAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.
A message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChange
Grounding-related signals to be propagated down stream. Next ID: 14
Identifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.
Signals for $QRefImpliedEntities that are merged into entity arguments during parsing.
Mustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: - Pianno page-level intents (go/pianno-design). - Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5
A message that stores signals relating to a Local result.
A message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.
Signals from LightweightToken. The span for an argument may have been extended to include lightweight token markers such as FROM or TO. This signal provides the semantics for the range extension.
Signals about the media entity.
Signals derived from Munin Function call annotations.
Signals associated with NTPRAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.
Signals associated with NimbleAnnotator annotations.
Signals coming from on-device annotators.
Parsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7
A message encapsulating all "/collection/personal_memory" annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5
The relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.
Signals associated with Qref annotations.
Relatedness Matrix signals for FunctionCall Arguments.
SRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.
Signals derived from overlapping saft annotations.
Signals associated with nlp_ig::v1::SemanticAnnotator.
Aqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.
Attributes
-
doNotUseDebugOnlyDecryptedValue
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeAnswersIntentQueryArgumentValue.t
, default:nil
) - Decrypted and deserialized contents of |encrypted_value|. This field should never be populated in prod. This is only provided for easier human inspection when using dev builds (dev keys are public). -
encryptedValue
(type:String.t
, default:nil
) - Encrypted protobuffer of type ArgumentValue.
Additional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChange
A measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet's base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.
A message representing an intent to use for intent scoring if the root intent is invalid.
A message representing a simple literal value.
Signals indicating whether this entity received or transferred support (and from which entities).
Signals associated with TeleportArgumentAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.
A token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.
A TokenSynonym contains information about synonyms of a Token's ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting "present" to its synonym "current", which is a context phrase for the intent. The ngram for this token would be "present" and the string "current" would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting "important" to its synonym "major" or its synonym "biggest", because both "major cities" and "biggest cities" are attribute phrases for the intent. In this case, the ngram in this Token is "important cities", and the token_synonyms (specifically, the synonym_ngram field) would store "major cities" and "biggest cities", since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don't really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.
Tokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.
A Marker specifies a Meaning Expression's (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.
Indicates a command, instructing someone to do something which might be explicit (e.g. [call me]) or implicit (e.g. [can you call me]).
Indicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3
Indicates a question, requesting the truth-value/actualness of a state of affairs denoted by the expression encompassed by the FunctionCall this appears on. Often this is a yes/no question, e.g. [was tom cruise in top gun] : ActedIn.polar(Movie=/m/top_gun, Actor=/m/tom_cruise) Not all polar questions will necessarily have a yes/no answer; the expected resolution of a polar question is a StateOfAffairs. e.g. [is chocolate good for you] : FoodItemAttribute.polar(/m/chocolate, /m/healthy) which may not have a simple yes/no answer. See go/mrf-polar-questions for details.
Indicates a reference to a particular state of affairs denoted by the expression encompassed by the FunctionCall this appears on. The state may be actual e.g. [new york is a city] : IsA.state(/m/new_york, /m/city) or not e.g. [1+1=3] : Addition.state(Sum=3, Addend=1, Addend=1) The state can also represent an proposition of an action, e.g. [cinar gave jason a cookie] : Give.state(Giver=cinar, Receiver=jason, Object=cookie) See go/mrf-polar-questions for details.
The primary key for an intent. Next ID: 3
The primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the "ThenChange", please update Argument.SlotKey. LINT.IfChange
A MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).
A NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: - Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. - Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.
A NumberType configures a value whose type is intended to be numeric.
Custom opaque type used by actions-on-google in-dialog queries. See go/3p-custom-intents-wrt-meaning-catalog
Used for sensitive calendar events that require additional BUILD visibility protection. See go/multi-account-event-representation.
Entity parsed from manual grammar interpretation in the Personal Intelligence domain.
Note: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaquetype for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific clients of the intent catalog. This means horizontal 'features' like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32
Plexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.
A special type representing a polar question.
A SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.
Policy controlling argument level eval.
Instructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8
Slot/Argument level instructions.
Intent level instructions apply to the entire intent and all its argument values.
Instructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.
Policy controlling intent level eval.
Policies controlling the logging.
Policy controlling MyActivity.
Canonical representation of query sensitivites. See go/sensitive-intents for more details.
Policies controlling RPC Whitelist at serving time.
Policies controlling the storage.
A special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: "StateOfAffairs" } but we (mrf-team) will encourage clients to migrate to this new type.
A StringType configures a value whose type is intended to be arbitrary text.
A TimeZoneType configures a value whose type is a timezone.
A TrackingNumberType configures a value whose type is a TrackingNumber.
Specifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entitytype and string_type present in a ValueType field of a Slot means that the Slot can take _either an an EntityType or StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field viewspecific${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: "integer_only_slot" type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChange
/////////// DATE //////////
A nested struct is a recursive tree structure for storing a set of triples. more info can be found at go/nested-struct-primer
A qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.
A QualifierSet represents a grouping of qualifiers that together with an SPO make up a logical assertion or fact. One triple can contain multiple qualifier sets and thus represent several different assertions about the same SPO.
A Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, "data representation"). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, "Term of a proposition") The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21
Attributes
-
boolValue
(type:boolean()
, default:nil
) - -
datetimeValue
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeGraphDateTimeProto.t
, default:nil
) - -
doubleValue
(type:float()
, default:nil
) - -
durationValue
(type:String.t
, default:nil
) - seconds -
idValue
(type:String.t
, default:nil
) - An id representing an entity (mid or hrid) -
int64Value
(type:String.t
, default:nil
) - -
locale
(type:String.t
, default:nil
) - The language code for the object value. It must be a BCP 47-compliant language tag (b/10005172). See also go/kg-data-l10n. -
nestedStructValue
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeGraphNestedStruct.t
, default:nil
) - -
protoValue
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeGraphTripleObjProto.t
, default:nil
) - -
s2cellId
(type:String.t
, default:nil
) - -
stringValue
(type:String.t
, default:nil
) - A UTF-8 string value to be used for the following expected schema types: - /type/rawstring - /type/text - /type/key -
uint64Value
(type:String.t
, default:nil
) - -
uriValue
(type:String.t
, default:nil
) - A UTF-8 string value to be used for expected type /type/uri - b/68760994.
Message containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.
A user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.
Attributes
-
CountryCode
(type:String.t
, default:nil
) - For Courts, the country the court is in. For Statues,? 3 leter country code ISO 3166 alpha2 -
ParseType
(type:integer()
, default:nil
) - -
State
(type:String.t
, default:nil
) - State or province of the court or statue (if applicable) What standard? -
Type
(type:integer()
, default:nil
) - DocType -
courtdocument
(type:GoogleApi.ContentWarehouse.V1.Model.LegalCitationCourtDocument.t
, default:nil
) - -
law
(type:GoogleApi.ContentWarehouse.V1.Model.LegalCitationLaw.t
, default:nil
) -
Information about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.
Attributes
-
DisplayName
(type:String.t
, default:nil
) - The name of the court to be displayed to users. -
Level
(type:integer()
, default:nil
) - Maybe be redundant with the Name. We can remove this later if we don't find it useful. Court Level -
Name
(type:String.t
, default:nil
) - Court id for matching records; "name" is a historic misnomer. -
OriginalName
(type:String.t
, default:nil
) - The name of the court as taken directly from the source document -
namecomponent
(type:list(GoogleApi.ContentWarehouse.V1.Model.LegalCitationCourtDocumentCourtNameComponent.t)
, default:nil
) -
The name broken down into its various components, such as core court, state, and district
A variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the "CONCURRING" opinion type: It means that a judge "concurs" to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges "concur" or "dissent" the primary opinion, then one judge delivers their opinion, and other judges are said to "join" him.
Information associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinion
Attributes
-
Page
(type:String.t
, default:nil
) - Page number -
Paragraph
(type:String.t
, default:nil
) - Paragraph number -
Reporter
(type:String.t
, default:nil
) - The publisher of the opinion. For example, 'U.S.' - United States Reports 'S. Ct.' - Supreme Court Reporter 'L. Ed. 2d' - Lawyers Edition Second Series -
Volume
(type:integer()
, default:nil
) - For documents published by a court reporter. Vendor/Media neutral citations will probably not have this. -
Year
(type:integer()
, default:nil
) - This is the publication year. In many citations, there is one year listed and it is typically the year the opinion was handed down. For example: Roe v. Wade, 410 U.S. 113 (1973) Occasionally, the publication year of the reporter is included. This happens typically when the law reporter volume numbers are numbered within a calendar year. For example, Swiss Bank Corp. v. Air Canada, [1988] 1 F.C. 71. It some (most?) areas, publication date is denoted by [] while opinion date is denoted by ().
Dates that we didn't fully parse, so we don't know exactly what they are, but we are keeping in case it's all we have.
Attributes
-
RevisionDate
(type:GoogleApi.ContentWarehouse.V1.Model.LegalDate.t
, default:nil
) - -
Status
(type:integer()
, default:nil
) - LawStatus -
Type
(type:integer()
, default:nil
) - LawType -
collectionname
(type:GoogleApi.ContentWarehouse.V1.Model.LegalCitationLawCollectionName.t
, default:nil
) - -
level
(type:list(GoogleApi.ContentWarehouse.V1.Model.LegalCitationLawLevel.t)
, default:nil
) -
this is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citation
Law have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,
Aesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.
Bounding box with absolute integer coordinates.
This message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11
Attributes
-
discretizedPersonVisibilityScore
(type:integer()
, default:nil
) - A measure of the visibility of the most iconic person between [0, 100], derived by combining all label predictions by the Person Visibility model according to go/person-visibility-formula. Higher values indicate greater visibility while lower values indicate lesser visibility. -
personVisibilityPredictions
(type:list(GoogleApi.ContentWarehouse.V1.Model.LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction.t)
, default:nil
) - Repeated for # of PersonVisibility types.
Attributes
-
discretizedIconicPersonVisibilityConfidence
(type:integer()
, default:nil
) - Confidence score of the visibility type prediction discretized into range [0, 100]. -
iconicPersonVisibilityType
(type:String.t
, default:nil
) - Classification of how much of the body of the most iconic person in the image is visible.
This message holds bounding boxes of detected people in the image. Next ID: 3
Holds information about a detected person in the image.
Prediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.
Data to generate the list snippets UI.
Next Id: 36
These are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.
Attributes
-
addrFprint
(type:String.t
, default:nil
) - -
annotationConfidence
(type:number()
, default:nil
) - Confidence score for business mention annotations which is copied from LocalEntityAnnotations::location_confidence. -
clusterdocid
(type:String.t
, default:nil
) - -
clusterid
(type:String.t
, default:nil
) - -
confidence
(type:number()
, default:nil
) - Probability that this is the authority page of the business. Same as LocalListing.authority_page_probability, only set for pages with page_type_flags & AUTHORITY. -
featureType
(type:integer()
, default:nil
) - Feature type for this listing, from LocalListing::info::related_feature. A geostore::FeatureProto::TypeCategory. Intended primarily to indicate POI-ness (i.e., TYPE_ESTABLISHMENT_POI). -
hours
(type:GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeScheduleProto.t
, default:nil
) - Opening hours for the business, from Local attributes and/or extracted annotations. -
hoursSource
(type:String.t
, default:nil
) - -
includeInIndex
(type:boolean()
, default:nil
) - -
isPlusbox
(type:boolean()
, default:nil
) - TODO(local-universal) Consider deleting is_plusbox once the new scheme that uses make_plusbox_visible rolled out. -
latitudeE6
(type:integer()
, default:nil
) - -
level
(type:integer()
, default:nil
) - DEPRECATED / NO LONGER WRITTEN. URL path level from actual references to this webpage. -
longitudeE6
(type:integer()
, default:nil
) - -
makePlusboxVisible
(type:boolean()
, default:nil
) - A hint for frontend to decide whether this plusbox should be visible or not. -
menuUrl
(type:list(String.t)
, default:nil
) - Menu link for the business. Currently only comes from Local attributes. -
pageTypeFlags
(type:integer()
, default:nil
) - Type of the web reference. -
phoneFprint
(type:String.t
, default:nil
) - -
phoneNumber
(type:GoogleApi.ContentWarehouse.V1.Model.TelephoneNumber.t
, default:nil
) - -
postalAddress
(type:GoogleApi.ContentWarehouse.V1.Model.PostalAddress.t
, default:nil
) - -
relevance
(type:number()
, default:nil
) - DEPRECATED / NO LONGER WRITTEN. How relevant the webpage is to the business (clustering distance). Same as LocalListing::Reference.relevance. Typically only set for pages with (page_type_flags & WEB_EXTRACTION && !AUTHORITY). -
showInSnippets
(type:boolean()
, default:nil
) - -
source
(type:list(String.t)
, default:nil
) - -
title
(type:String.t
, default:nil
) -
Populated from StoreHoursAnnotations.
A single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.
An unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.
- Proto representing the metadata associated with food ordering internal action. Next ID: 13
Attributes
-
actionType
(type:String.t
, default:nil
) - The action type of this action metadata. -
hasPrimarilyFoodIntent
(type:boolean()
, default:nil
) - If true, it indicates that the merchant has a primarily food intent. This field will only be set when enable_food_gcid_strict_check in FoodOrderingRestrictionProto is true, see go/togo-unified:overlapping-for-le. See go/togo-unified-gcid for how this is calculated. -
isOutOfOperationalHours
(type:boolean()
, default:nil
) - If set, indicates that the food ordering service is out of operational hours. This could only be populated if the request explicitly asks for ignore_operational_hours in request (universalsearch/rpc/geo/food_ordering_restriction.proto). Design doc: go/fo-persistent-v1. -
isWhitelistedExternalRestaurant
(type:boolean()
, default:nil
) - When true, indicates that this is a whitelisted restaurant from a first party (but non FO) partner, i.e. a merchant from the orderig app, who is Google owned first party food ordering platform. Design doc: go/onboard-mavn-to-fo. Tracking bug: b/150331855 -
nextOpeningTime
(type:DateTime.t
, default:nil
) - Next opening time when the food ordering service will be available. This is only present if the unavailability reason is OUT_OF_OPERATIONAL_HOURS. -
onlyOrderAheadServicesAvailable
(type:boolean()
, default:nil
) - Indicates whether only order ahead services are available. Order ahead services allow only to place order for future and ASAP order can not be placed via them. -
serviceInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo.t)
, default:nil
) - Aggregated service information by service type. Each service type would only have one ServiceInfo. Optional. -
supportedServiceType
(type:String.t
, default:nil
) - Food ordering service type. -
unavailabilityReason
(type:String.t
, default:nil
) - Reason for unavailability of internal food ordering action. This is only present when FOPA is unavailable for a particular restaurant. When this is set, all other fields in this proto will not be populated. Note(fo-search): If there are log only partners and this particular restaurant is only supported because of log only partners, this field will not be set to NOT_INTEGRATED_WITH_FOPA.
Includes all partners that are either open now or supporting order ahead.
Attributes
-
availablePartnerInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo.t)
, default:nil
) - Information about Food Ordering partner, which is used for whitelisting the partner in Food Ordering entry points such as Placesheet. -
maxWaitTimeSec
(type:String.t
, default:nil
) - Maximum max_wait_time in second. -
minDeliveryFee
(type:GoogleApi.ContentWarehouse.V1.Model.GoogleTypeMoney.t
, default:nil
) - Only present for delivery case, service fee is not included. -
minWaitTimeSec
(type:String.t
, default:nil
) - Minimum min_wait_time in second. -
serviceType
(type:String.t
, default:nil
) - Food ordering service type. Please note that only ServiceType.PICKUP and ServiceType.DELIVERY are valid values for this field.
Proto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: - WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. - Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. - QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the 'empty string' crawler-ID for the Alexandria-scope.
Logs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implications
Logs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8
Logs version of the repository_webref.LinkKindInfo proto Used to represent QRef implications
Logs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbr
Logs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implications
An experimental long snippet. The protocol allows any permutation of headers and plain text paragraphs, but typical responses are just paragraphs or alternating headers and paragraphs.
The information on whether the contact is related to an app shortcut. Next ID: 2
Flags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. -- Next available id: 22 --
The goal of the special words are to: - Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. - Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in "1600 Pennsylvania Ave NW" since "NW" is recognised as a directional (and "Ave" is recognised as a street visible type), "Pennsylvania" becomes the name and you can't match this street by just specifying "avenue" or "NW".
Stores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.
Packages entity id and score together for a given source.
Identifier for frames associated with a video.
This variant defines the frame to be the first frame of the video's generated preview.
Metadata associated with a region in an image. NEXT_ID: 14
Attributes
-
columns
(type:list(String.t)
, default:nil
) - Parallel arrays of column / value. Exactly one of those columns vector should be set. Columns must be in monotonically increasing order. -
columnsInt16
(type:String.t
, default:nil
) - -
columnsInt32
(type:list(integer())
, default:nil
) - -
columnsInt64
(type:list(String.t)
, default:nil
) - Columns are fixed integers, used for accelerated parse. -
columnsInt8
(type:String.t
, default:nil
) - -
values
(type:list(number())
, default:nil
) -
Data about the behavior of the video across the pages it is embedded in.
See go/video-centroid-domain-score.
Core signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.
Data about a frame associated with the video.
Data about multiple video frames associated with the video.
XtagList -- a collection of Xtag instances with unique names. This would be associated with one specific piece of content.
Note: This message is also in the RTUpdate protocol buffer.
Defines the presence of a field. This can help distinguish between empty vs. not-present annotations.
Defines the presence of a layer (previously called "scale").
Pointer to a single node in a target scale. pointer.Index
fields should be annotated with a (pointer.to)
annotation, indicating what scale they point at.
Pointer to a contiguous range of nodes in a target scale. pointer.Span
fields should be annotated with a (pointer.to)
annotation, indicating what scale they point at.
CandidateFeature contains a pair of feature name and score for a snippet candidate.
Data to generate the list preview for organic list snippets.
This message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.
This is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like 'snippet_features_snippet_data_source_type'.
Tidbit token rendered in generating snippet/title.
Message representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.
Globally unique identifier for a virtual network.
A Component-Specific Contract is a proto message that can be placed on various elements of the MeaningCatalog (intent schemas, slots, types) that signals whether that element is part of the contract for a given component. go/contract-based-conformance
Attributes
-
deletion
(type:boolean()
, default:nil
) - This field can be set to true to indicate that the associated part of the schema is being deleted as part of the remodeling. -
id
(type:String.t
, default:nil
) - The remodeling ID. Each remodeling has a unique ID that is used to associate changes with that remodeling.
This is the FunctionCall counterpart to the "MeaningRemodelings" structure. When present, it is used for typechecking the FunctionCall against the schema with the remodelings enabled.
This proto will be added as a field to part of a schema to indicate it is being remodeled.
Component-Specific Contract for SemanticTypes, which are atomic string values (and thus can't have a ComponentSpecificContracts message attached to them). go/contract-based-conformance
Associates remodeling data with a semantic type name.
Representation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.
Constituency parse tree node with tokens as the leaf nodes.
A document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36
Document topic(s).
Named entities in the document.
An entity profile contains a summary of the information about a single unique entity. Next available index: 46.
Alternative names for entity.
Attributes
-
boolValue
(type:boolean()
, default:nil
) - Boolean attribute value, e.g. for IsDeceased. -
floatValue
(type:float()
, default:nil
) - Double attribute value, e.g. for height/weight. -
intValue
(type:String.t
, default:nil
) - Integer attribute value, e.g. IntId("April"). -
language
(type:integer()
, default:nil
) - Language, in case the attribute value is a string. -
type
(type:String.t
, default:nil
) - String name of the type of attribute, e.g. /birth/date -
typeId
(type:integer()
, default:nil
) - Any id of the type of the attribute, e.g. IntId(/birth/date) -
value
(type:String.t
, default:nil
) - String attribute value, e.g. "April 2010" or "3,235,121". -
valueType
(type:String.t
, default:nil
) - The type of the value.
Keywords and key phrases for entity.
References to entity.
Related entities.
A generic type description for an entity.
A link on an HTML page.
External identifier. An external identifier is a persistent identifier for an object within a domain.
A generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.
A list of labeled spans of the same type.
Measures in the documents. This covers both time expressions as well as physical quantities.
Mentions of the entity in the document.
Mention resolution for encoding the concept id (e.g. mid) for a mention.
Message that stores information about the morphology of a token.
A document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.
A referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.
Relations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11
Mentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.
Semantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23
An arc contained by a source node pointing to a destination node in a directed acyclic graph.
A document token marks a span of bytes in the document text as a token or word. Next available index: 16.
A copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19
Article IDs associated with an article (e.g., PMID, DOI, PMC).
Next available ID: 20.
Next available ID: 8
A full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglist
Pubdate extracted from PMC article metadata.
Data associate with the ReferencesBlock. Next available ID: 5
Returned by Delver API in SearchResult.debug_info.
Optionally returned by Delver API in the response's debug_info field.
Returned by Delver API in Snippet.debug_info.
A subject heading from Mesh
Tokenized text with optional original representation.
Annotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChange
The App annotator annotates potential app name in the parser's input and outputs the proto with the details about app(s).
Example: "Remind me to go to the store on (Friday) (9am)" would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It's possible for Friday to be one of several upcoming Friday's, so start_date is a repeated field. Next ID: 10
AbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.
The top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, "Mondays in April, 2014" may have 4 correct dates.
DateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13
To represent unanchored durations - the length of a date/time expression not related to calendar in local context. E.g., "play first (DURATION: 5 minutes) of Yellow Submarine", "it takes (DURATION: more than 3 days) to finish." In contrast, queries like: "wake me up in 5 minutes" will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.
This message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For "native" datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.
For a more detailed presentation on what's a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: "1st 2 Mondays of April" proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: "1st and last Monday of April" proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: "next Monday" proto: ordinal: 1 target {weekday: MONDAY} d) query: "last 2 Mondays" proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: "this Monday" proto: ordinal: 0 target {weekday: MONDAY} f) query: "the monday after next" proto: ordinal: 2 target {weekday: MONDAY} g) query: "third Monday in April" proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: "the monday before last" proto: ordinal: -2 target {weekday: MONDAY} i) query: "the second to the last monday in April" proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: "1st 2 weeks of April" proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: "1st and last week of April" proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: "next year" proto: ordinal: 1 target {unit: YEAR} d) query: "last 2 weeks" proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: "this month" proto: ordinal: 0 target {unit: MONTH} f) query: "the week after next" proto: ordinal: 2 target {unit: WEEK} g) query: "third week in April" proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: "the week before last" proto: ordinal: -2 target {unit: WEEK} i) query: "the second to the last week in April" proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9
List of holidays that are not fixed absolute or relative dates on the Gregorian calendar.
Non-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.
Attributes
-
modifier
(type:String.t
, default:nil
) - For internal use - DateTime subgrammar users should look at Duration.modifier. = MORE in [3 more days]. -
number
(type:float()
, default:nil
) - = 3 in "3 milliseconds". -
numberSpan
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingAnnotationEvalData.t
, default:nil
) - This field keeps the span info of the number element in a quantity expression, which is useful for downstream components to obtain the number annotations inside a quantity when necessary. -
symbolicQuantity
(type:list(GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingDatetimeQuantity.t)
, default:nil
) - Quantities are typically converted into milliseconds, regardless of the units the user used. Sometimes this loses crucial information, e.g., "5 days" vs "5 nights". When quantities are converted to milliseconds, 'symbolic_quantity' will contain the sequence of units that the user actually supplied. This can be more than one element in cases like "one minute and 30 seconds". In cases where 'symbolic_quantity' has more than one element, THERE IS NO GUARANTEED ORDER between elements. -
unit
(type:String.t
, default:nil
) - = MILLISECOND in "3 milliseconds".
Range has 4 use cases: 1. with an explicit begin and an explicit end, e.g. "from Monday to Wednesday." Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in "first Monday of this month", "this month" is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as "morning" or "evening." 4. with a relative begin and a relative end, e.g. "from yesterday to next Monday." Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.
expressions: "every Monday after December 1" "every morning starting from this Friday". Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., "every monday in the next 3 months", "... at 11:00am every Monday for 4 times" the grammar will resolve it to a finite number of |range|s. Next available ID: 17.
This provides a semi-abstract description for relative datetime expressions. - ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). - FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5
Encapsulates metadata about the query span resolved here.
Attributes
-
base
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingDatetimeAbsoluteDateTime.t
, default:nil
) - The base could be an absolute datetime point for example: "March 1", a relative datetime point, for example: "2 days before March 1" or a symbolic base type, for example: CURRENT_DATETIME. This could also be used to combine EXPLICIT_PRONOUN with the actual value of that reference being setup as a datetime point in base or relative_base -
baseType
(type:String.t
, default:nil
) - -
metadata
(type:String.t
, default:nil
) - Can be used to tag relative datetime expressions with metadata information in the grammar. -
relativeBase
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingDatetimeResolutionProperties.t
, default:nil
) - -
shiftAmount
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingDatetimeQuantity.t
, default:nil
) - -
shiftPast
(type:boolean()
, default:nil
) - If true, shifting to the past; if false, shifting to the future.
The byte offset and text of a span.
Status indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user's speech, the semantics of the language, and the user's intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.
A list of amenity constraints. There is an implicit AND relationship between the different constraints.
Conceptually this describes one location. Technically, this is a sequence of location elements with the intention that at least one element in the sequence is an actual location (rather than a modifier).
A high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange
ChainMemberConstraint for chain filtering enabled queries.
Attributes
-
joiner
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingLocalJoiner.t
, default:nil
) - -
location1
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingLocalLocation.t
, default:nil
) - -
location2
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingLocalLocation.t
, default:nil
) - If location_2 is absent, it should likely be interpreted as an implicit "here". For example, "nearest Starbucks" will be represented as a compound location with "Starbucks" as location_1, "nearest" as the joiner, and empty location_2.
Contact information for the |contact_location| field in LocationElement.
Constraint for cuisine type, such as "chinese", "italian", "thai", "burgers", etc.
There is an implicit AND relation if multiple EVCS constraint types are specified.
Attributes
-
nonSpecificValue
(type:boolean()
, default:nil
) - True for values like "a few". -
units
(type:String.t
, default:nil
) - -
unitsString
(type:String.t
, default:nil
) - String representation, e.g., for debug. -
value
(type:float()
, default:nil
) - For approximate values such as "a few" or "several", we populate |value| with a specific numeric value which is a generous (i.e., high) interpretation of the text, and we set |non_specific_value| to true. -
valueString
(type:String.t
, default:nil
) - Can hold numbers as well as "a few".
Constraint for the health insurance network of a provider.
Hotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48
Message containing information about hyper-reliable categories. go/local-hyper-reliable
Set only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.
Flags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13
Attributes
-
numBytes
(type:integer()
, default:nil
) - -
numBytesForConversion
(type:integer()
, default:nil
) - -
startByte
(type:integer()
, default:nil
) - The raw input span corresponding to this joiner. -
startByteForConversion
(type:integer()
, default:nil
) - Byte data added for conversion between this proto and IntentQuery in LooseParser. Must not be used for downstream triggering. -
text
(type:String.t
, default:nil
) - The original joiner string from the tokenized query. Particularly important if the type is OTHER. -
type
(type:String.t
, default:nil
) -
This message holds all info the local assistant team will need to lookup a LocalResult in search.
There are a few types of locations: - Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., "Mountain View CA 94040" may be the sequence "Mountain View" (an actual location), "CA" (an actual location, and "94040" (a numeric modifier). - Compound locations: these are two locations combined by a joiner. E.g., "Target in Mountain View CA 94040" has the joiner "in" and two basic locations ("Target", and "Mountain View CA 94040"). Note that the definition is recursive, e.g., "Parking garage near Target in Mountain View". - Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., "within 1 hour of Palo Alto", "10 blocks from Union Square", "a few miles from here". Next ID: 14 LINT.IfChange()
All the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.
Next ID: 26 LINT.IfChange
Specifies intent that corresponds to a menu item which is used as a location constraint, e.g. [restaurants that serve thai curry] or as a standalone categorical element, e.g. [thai curry].
Attributes
-
cheap
(type:boolean()
, default:nil
) - -
currencyCode
(type:String.t
, default:nil
) - The currency codes are expected to be string from the list in i18n/identifiers/currencycode.* -
expensive
(type:boolean()
, default:nil
) - -
maxPrice
(type:float()
, default:nil
) - -
minPrice
(type:float()
, default:nil
) - -
moderatelyPriced
(type:boolean()
, default:nil
) - -
unspecified
(type:boolean()
, default:nil
) - The user mentioned something about price, but didn't mention a specific constraint. This is used to indicate an intent to remove all price constraints, in queries like [forget the price].
Quality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.
Constraints for the occupancy of a hotel or vacation rental.
Specifies intent that corresponds to a scalable attribute. This may be used as a location constraint, e.g. [restaurants with outdoor seating] or as a standalone categorical element, e.g. [happy hour] or [happy hour ny]. See go/scalable-attributes for details about scalable attributes. NOTE(oksana): LocalCategoryReliable grammar over-rides a few scalable attribute queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange This ID corresponds to the id field in //geostore/attributes/proto/config.proto:AttributeConfigProto This field holds the human readable ID for the KG topic that represents the attribute. Example: "/geo/type/establishment_poi/serves_breakfast"
Star ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for "three star or four star hotel" both three and four would be set to true. Next Available ID: 13.
Attributes
-
base
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingLocalLocation.t
, default:nil
) - If the base is missing then clients should assume that it implicitly means "here". E.g., "within five miles" really means "within five miles from here" -
connector
(type:String.t
, default:nil
) - The text between the extent and the base, e.g., for "50 miles from here" the connector is "from". -
extent
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingLocalExtent.t
, default:nil
) -
Constraint for visited, as in if a location has been visited before.
The type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.
It can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.
A relationship contact.
The device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = "nexus 4" [on my nexus phone]: device_type = PHONE, device_name = "nexus"
The name of the device (Nexus 5, Nexus 10, etc).
Will be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.
Represents the user's selection from a list of alternatives.
Example: "The White Album"
Represents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song's identity. For instance, if no fields are set, then this represents "some song." If only the music_artist is set, then it represents "some song by the specified music_artist." Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22
Metadata for an audiobook.
Example: "East of Eden"
Media device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user's home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. "Dima's Pineapple Chirp" device_id: FOOBAR name: "Dima's Pineapple" cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user's device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. "John's Living Room" name: "John's Living Room" cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. "TV" or "chromecast" cast_device_type: CHROMECAST Next ID: 9
Represents a localized price. Next ID: 3
Provider deeplink and associated metadata, in particular restrictions on platform and user's subscription. Next ID: 18
Represents a time window expressed as a time range.
Example: "the episode with all of the comedians". A free-form text description of a media.
Example: "latest" would constrain the episode to a certain ordinal.
Defines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4
Example: "Deus Ex Human Revolution"
Example: "my library", "some music".
An object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.proto
Annotation for media entities. Next ID: 17
List of MediaAnnotation. Media annotators should use the MediaAnnotationList to annotate spans instead of MediaAnnotation. This prevents exponential explosion of interpretations (consider [play $song by $artist on $device]) and allows us to have simpler tests for grammar.
A media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It's often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6
Example: "Casablanca"
Example: "The Beatles"
Example: "British Invasion"
Example: "gym playlist"
Attributes
-
docid
(type:String.t
, default:nil
) - The docid of the news result from News360 backend. -
newsContentType
(type:String.t
, default:nil
) - Indicates how the type of the news result. -
publicationTime
(type:GoogleApi.ContentWarehouse.V1.Model.AssistantApiTimestamp.t
, default:nil
) - Publication time of the news, in seconds (unix epoch). -
publisher
(type:String.t
, default:nil
) - The publisher of the news.
Example: "ukraine" in a query like "read me news about Ukraine"
Represents BUY and RENT offers and associated cost info. Next ID: 3
Example: "This American Life"
Attributes
-
clusterId
(type:String.t
, default:nil
) - An internal identifier for the wernicke database that identifies a cluster of multiple sources for a particular podcast. -
episodeGuid
(type:String.t
, default:nil
) - GUID of the given podcast episode. -
feedUrl
(type:String.t
, default:nil
) - The url for the rss feed providing this podcast. -
podcastRecsFeatures
(type:GoogleApi.ContentWarehouse.V1.Model.SuperrootPodcastsRecommendationsPodcastRecsFeatures.t
, default:nil
) - Podcast recommendations features. These features are used to train models for reranking podcast recommendations. Full list of features: http://shortn/_bg6NvzYs6F This won't be sent to clients. It will only be annotated for crust results -
title
(type:String.t
, default:nil
) -
Provider metadata associated with video.
The quantification of device(s) in the query. For example, "three speakers", "all TVs", etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, "all 3" will have the semantic: {lexical=ALL, number=3}. Note that "both" is simply modeled as {lexical=ALL}.
Example: "107.7 the bone"
Metadata for a radio station (both terrestrial and internet). Next ID: 4
Example: "npr", "bbc", etc.
Attributes
-
activatePeriodSec
(type:String.t
, default:nil
) - Time period for users to continue watching. -
grantPeriodSec
(type:String.t
, default:nil
) - Time period for users to begin watching. -
purchaseTimestampSec
(type:String.t
, default:nil
) - The time at which the item is purchased. -
validUntilTimestampSec
(type:String.t
, default:nil
) - Time until which ownership is granted
Example: "season 2" of serial
Example: "Hey Jude"
Example: "Breaking Bad"
Provide the deeplink information specific to YouTube PMAs. Next ID: 3
Attributes
-
numVidsPlayableInWoodstock
(type:String.t
, default:nil
) - Count of videos in the YouTube playlist that are playable in WoodStock. For performance reasons the maximum value this field can reach is capped, see: kMaxVideosPerPlaylistForSearchMetadata. -
videoCount
(type:integer()
, default:nil
) - Total number of videos present in the retrieved playlist.
Represent a money quantity
Corresponds to an entry in our hand-curated Nimble table of providers.
OnDevice describes the device(s) to perform an action. This message type can be imported in action messages as an argument.
Attributes
-
alternativeNameInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityQrewriteAlternativeNameInfo.t)
, default:nil
) - Alternative names like "John" for "Joan", with info such as RecognitionAlternateSource indicating where is it from. -
alternativeNames
(type:list(String.t)
, default:nil
) - Alternative names, e.g., names with similar pronunciation, Kathy and Cathy. -
annotationSource
(type:list(String.t)
, default:nil
) - -
contactData
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityQrewritePersonalContactData.t)
, default:nil
) - Contact metadata. Only available for personal contact. -
evalData
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingAnnotationEvalData.t
, default:nil
) - Required, but should only be used inside Aqua. Must not be used by outside clients!! -
isPersonGroupReference
(type:boolean()
, default:nil
) - Indicates whether $Person is used for person-group reference. If true, then the PersonalContactData in repeated contact_data field probably correspond to a group of different persons, where $Person is used to represent family, kids, parents, etc. -
isPersonalContact
(type:boolean()
, default:nil
) - Whether the person is from personal contacts (e.g. Focus contacts or device contacts) or the person is constructed from a Gaia profile visible to the user (e.g. via Family Service). -
name
(type:String.t
, default:nil
) - The name of the person without normalizations, preserves casing of the raw text, but removes possible prefix/suffix. For example: raw_text: "Mr. John" normalized_text: "john" name: "John" raw_text: "Tüll" normalized_text: "tuell" name: "Tüll" -
normalizedText
(type:String.t
, default:nil
) - Normalized text produced by annotator. Some annotators generate a normalized version to help better match with contact list. -
pkgSemantics
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingQRefAnnotation.t
, default:nil
) - Contains information about a Copley Person reference (go/copley-people). Note that this contains no information about the resolved people (e.g. names, phone numbers) but only about the user's reference. Resolution metadata is stored in contact_data.pkg_person. -
rawText
(type:String.t
, default:nil
) -
Recurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.
Pattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).
Pattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.
The end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.
The start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.
Pattern for a WEEKLY recurrence. You must specify at least one week_day.
Pattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: "Every January 16" : monthly_pattern { month_day = 16; } year_month = JANUARY; "Last day of every April and August" : monthly_pattern { last_day = true; } year_month = APRIL, AUGUST
A brand can be any combination of text or mid.
A merchant that sells products.
Note: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.
A product for sale from a particular merchant, possibly available at a specific store.
A phrase parsed from a user query.
A product that can be purchased.
Whether the product being described fits into specific categories (e.g., "video games").
An expression parsed from a user query that describes a product or set of products.
A media product that can be purchased
A product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProduct
A merchant's physical store.
A span in a user query that could not be identified as any other type of Phrase
.
Attributes
-
denominator
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingNumberSimpleNumber.t
, default:nil
) - -
numerator
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingNumberSimpleNumber.t
, default:nil
) - Fields for fraction numbers -
precision
(type:integer()
, default:nil
) - This field is used to indicate the number of digits after the decimal point in the normalized_value field in number.proto, which contains the floating point representation of the fraction -
wholeNumber
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSemanticParsingNumberSimpleNumber.t
, default:nil
) - This field is set only for mixed fraction
This message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.
A collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as "navigate to my hotel" or "when is my mom's anniversary". See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.
In simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity - slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can't ne nested in maps. Next Id: 9 LINT.IfChange
Represents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn't track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.
Represents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.
Oneof doesn't allow list, this message is used to inject list as a possible value into Slot.
Oneof doesn't allow maps, this message is used to inject map as a possible value into Slot.
Contains one or more possible values.
Represents an actual value.
Used by on-device Heron. Contains information about the type of slot value returned.
The QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41
Attributes
-
collectionId
(type:String.t
, default:nil
) - Identifier of the collection. Usually something like "/collection/us_states". -
collectionScore
(type:float()
, default:nil
) - A value in [0, 1] indicating the relevance of the collection given this entity. NOTE: This field is deprecated and will stop being populated soon. In the meantime, it will always be populated with 1.0.
Attributes
-
entityIndex
(type:integer()
, default:nil
) - The index of the other entity in the relationship. -
impliedBy
(type:boolean()
, default:nil
) - True if this entity is implied by the other (includes geo contains). -
implies
(type:boolean()
, default:nil
) - True if this entity implies the other (includes geo contained by). -
linkPropertyName
(type:list(String.t)
, default:nil
) - Names of the relationship links.
Merlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.
Keeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.
A message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }
Identifies a coreference mention (pronoun or nominal) resolved to an entity.
Identifies a measure, like '53 pounds' in a query.
SaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.
The lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.
A single byte, such as that from a utf8-encoded character sequence.
A single Unicode character.
A single document.
An entity, which may occur multiple times in the text.
A span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text -- in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.
A mention of an entity. A single entity might be mentioned multiple times.
A single paragraph.
Standard NLX data schema.
A single sentence or utterance.
A word, punctuation mark, or other small piece of text.
DEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.
Metadata describing an 'item' (article) in a Woodwing file.
Ocean data in docserver results (whole documents)
============> Next available number: 102 (ksridhara) <================
Book specific fields.
These are copies of MetadataNumberingRange's from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like "Volume 1" or "Parts A-D" Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. "Volume 1, Issue 2"), but in general the ranges may be disjoint (e.g. "Volumes 2, 3 and 7")
catalog-specific fields.
The composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.
Magazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.
Newspaper-specific fields.
Patent specific fields. Currently empty, but need to move the fields below into here at a later date
Details of the work cluster for this Volume.
A container proto to store prices for GE
GE sale related data
Attributes
-
locale
(type:String.t
, default:nil
) - The two character ISO country code -
offerPrice
(type:GoogleApi.ContentWarehouse.V1.Model.OceanGEMoney.t
, default:nil
) - Price used for sale by the OFE -
onSaleTimeSecs
(type:String.t
, default:nil
) - The time (in secs from epoch) the content goes on sale (only set when the book is not already sellable at the time of indexing).
Size info of an image.
How a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)
Viewability related dates.
How did we derive this viewability for this locale+volume? For "partner" books, this includes details about the "Imprint" that provided the rights. These details specify things such as preferred buy-the-book-url to show in the frontend.
Per-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.html
Attributes
-
allowAutoGeneratedText
(type:boolean()
, default:nil
) - If false, then we can only provide text layer generated from publisher provided epub. -
canShowInfoCards
(type:boolean()
, default:nil
) - Whether we can show info cards inside this book. -
canShowPhotos
(type:boolean()
, default:nil
) - Whether we can show photos inside this book. -
numAdeDeviceAllowed
(type:integer()
, default:nil
) - Maximum number of Adobe Digital Editions device per sale item allowed. 0 means no download allowed. -1 means unlimited download. -
numAdobeIdAllowed
(type:integer()
, default:nil
) - Maximum number of Adobe id per sale item allowed. 0 means no download allowed. -1 means unlimited download. -
numDownloadsAllowed
(type:integer()
, default:nil
) - Max. number of Google eBooks downloads allowed. This is related to iPhone/iPad/Androrid/WebReader reading, not to epub/pdf downloads. 0 means no download allowed. This is related to bug #3094719. -
numSimultaneousAccess
(type:integer()
, default:nil
) - Number of readers can read the Google eBooks simultaneously -
offlineDownload
(type:String.t
, default:nil
) - Download type for offline reading -
percentCopyable
(type:integer()
, default:nil
) - How much of a volume we allow user to extract as text (for copy+paste) -
percentPrintable
(type:integer()
, default:nil
) - How much of a volume we allow user to print -
restrictOnlyToText
(type:boolean()
, default:nil
) - True iff restrict view only to epub text. Don't show page images if this is true. Some pubs don't have copyright for page layout and fonts. -
sellFixedLayoutAsImageOnly
(type:boolean()
, default:nil
) - Whether we sell fixed layout as image only. -
textToSpeech
(type:boolean()
, default:nil
) - Whether text to speech is allowed -
treatAsPublicDomain
(type:boolean()
, default:nil
) - Whether we treat this book as public domain.
Volume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)
This message describes display attributes. The attributes which are applicable to OFE not indexing (mustang), should be added in this proto.
Commercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.
Attributes
-
DEPRECATEDDefaultViewType
(type:integer()
, default:nil
) - -
defaultViewability
(type:GoogleApi.ContentWarehouse.V1.Model.OceanLocaleViewability.t
, default:nil
) - The viewability for any locale that is not explicitly listed. -
inViewabilityLimbo
(type:boolean()
, default:nil
) - DEPRECATED: Viewability-Limbo was a state that prevented indexing from running if the viewability of a volume had dropped significantly. It was removed during viewability refactoring: http://go/viewability -
locale
(type:list(GoogleApi.ContentWarehouse.V1.Model.OceanVolumeViewabilityLocale.t)
, default:nil
) - -
updatedByIndexer
(type:boolean()
, default:nil
) - Whether the volume viewability was updated by the indexer as opposed to a direct update in goovols. The absense of this bit will indicate to the indexer that it should not short-circuit indexing side effects that should occur when viewability changes.
Bounding box of patch containing line, word or symbol.
Copy of ocr/goodoc/layout-common.proto:CurvedBoundingBox, temporary duplicated here to allow for on-device builds.
Attributes
-
midLineCurve
(type:GoogleApi.ContentWarehouse.V1.Model.OcrPhotoCurve.t
, default:nil
) - The curve of points along the middle of the text line. -
thickness
(type:float()
, default:nil
) - If top_to_bottom is true, this is the width of the curved box. Otherwise, it is the height of the curved box. -
topToBottom
(type:boolean()
, default:nil
) - If true, the curve is interpreted as top to bottom of the line image. Otherwise, it is from left to right.
Text with bounding box.
This proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.h
Attributes
-
queries
(type:list(GoogleApi.ContentWarehouse.V1.Model.OfficialPagesOfficialKey.t)
, default:nil
) - -
queryCountryLanguageFingerprints
(type:list(String.t)
, default:nil
) - This is the fingerprint of the OfficialKey queries in the queries field. The index of a fingerprint in this field corresponds to the index of the fingerprinted query in the queries field. The fingerprint is produced with the QueryCountryLanguageFingerprint function in external-utils.h
Message representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.
Attributes
-
application
(type:String.t
, default:nil
) - All evaluations are done within the context of a given application, e.g., "Gmail" and should not be reused in other apps. -
stateStatus
(type:list(GoogleApi.ContentWarehouse.V1.Model.PeoplestackFlexorgsProtoInternalExternalStateStatus.t)
, default:nil
) - * There can be multiple states based on the context: 1. AUTOCOMPLETE + Gmail - context 1 2. AUTOCOMPLETE + Chat/Dynamite - context 2 3. "SOME OTHER ACTION" + Gmail - context 3 A client should identify whether a patrticular context is present in the list and only if one is found - use the state that goes alogn with the context, otherwise the client should default to whatever is the safe assumption about "internality/externality" the application should be making (likely, consider everything not explicitly "internal" as "external").
=========================================================================== # Make sure you read the comments in the bottom before you add any new field. NB: As noted in the comments, this protocol buffer is used in both indexing and serving. In mustang serving implementations we only decode perdocdata during the search phase, and so this protocol should only contain data used during search. See mustang/repos_www/attachments.proto:{MustangBasicInfo,MustangContentInfo} for protocols used during search and/or docinfo. Next available tag deprecated, use this (and look for commented out fields): blaze-bin/net/proto_compiler/protocol-compiler --freetags \ indexer/perdocdata/perdocdata.proto Next tag: 223
Free form debug information from various components.
A unique association of an AliasType and a number to identify this alias.
A subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles.
Metadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.
LINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don't like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.
Attributes
-
durationMs
(type:String.t
, default:nil
) - The duration of the animation or movie (not including any looping), in milliseconds. If there is only a single frame (and thus not animated), the duration will be 0. -
loopCount
(type:integer()
, default:nil
) - The number of times the animation plays. If 0, the animation will loop indefinitely. If positive, this number includes the initial playthrough. For example, a value of 3 means that each frame is shown 3 times. -
numFrames
(type:String.t
, default:nil
) -
Metadata pertaining to nested Dynamic Depth metadata. Currently this message is used to indicate the presence of dynamic depth.
Metadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.
HDR Metadata describes in what way an image expresses high dynamic range information (e.g. using a gainmap or a specialized color space).
Details about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.
Next tag value: 382.
Bounding box coordinates are relative to the width and height of the image. For example, if image is 100x200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.
The geo-location of a single point, or of the "center" of a group of points.
Global feature for the image.
ImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29
Each SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type '0' is reserved and must not be used.
LocalDescriptor holds interest point data and an optional local descriptor vector.
A 2x2 float matrix.
Quantized/compressed feature vector (8 bit per value). Can be decoded by multiplying data_factor to each data byte.
A region of interest in the image.
A protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.
Next free ID: 32
The restricts that are computed before building a Mustang index.
Per-doc data for premium documents in the Google index.
This is proto2's version of MessageSet.
Available tags: 14+
A time-coded transcription of the document's audio track.
Mapping of time/character correspondences. Used to map found snippets to the time and thumbnail nearest that snippet.
PToken expresses policy-relevant properties of the data objects being processed and stored in Google's production systems. See go/ptoken to learn more. PTokens are intentionally opaque: go/ptokens-are-opaque. The following should be considered implementation details. Next ID: 9 LINT.IfChange INTERNAL: If both the Scalar and the Compound extensions are populated, we use the Compound and discard the Scalar. In principle, this should never happen.
Information of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChange
This deprecates the above: confidence=3 source=4 This allows us to merge AppInfo data per package_name.
Additional signals when the source is ATV's allow list.
The MEDIA_PROVIDER source can further specify information about the content served by the app.
Category that this app falls into.
Attributes
-
buttons
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityActionsCustomizedNotificationButton.t)
, default:nil
) - Buttons on the notification -
surfaceType
(type:String.t
, default:nil
) - Surface type for the notification -
tapAction
(type:GoogleApi.ContentWarehouse.V1.Model.QualityActionsCustomizedNotificationPayload.t
, default:nil
) - Tap action on the notification body. This overwrites the default tap action on reminder trigger notification (which on mobile, is the reminders hub page). -
text
(type:String.t
, default:nil
) - Notification text
Aqua annotation data for news provider. This proto is added as an extension to NimbleAnnotationData.semantics_proto for nimble annotation.
Message representing a Document (i.e. Google Docs, Sheets, Slides) This is currently only used to indicate the existence of said document and can be later extended to include more document information as needed.
Message representing a Dynamite Group (AKA Google Chat space) This is currently only used to indicate the existence of said group and can be later extended to include more group information as needed.
A representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12
If LocationType is CATEGORICAL, this is info about the category. For example, the category "Grocery Stores" includes chains such as Safeway and Whole Foods.
If LocationType is CHAIN, this is info about the chain.
A representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.
Recurrence rule for specifying time-based repeating reminders.
Ringtone information used for the notification of timer and alarm.
The room in which an alarm or timer resides
Conceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.
Proto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.
Contains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9
Contains the schedule for a single live-op event. Next ID: 4
Contains the format information for a single LiveOp/LiveEvent. Next ID: 11
Stores all possible LiveOps/LiveEvents that are eligible to be shown for an app.
Attributes
-
enhancedImage
(type:GoogleApi.ContentWarehouse.V1.Model.QualityCalypsoAppsUniversalImage.t
, default:nil
) - iOS cover image, which includes the uni image from UAM only. -
featureGraphic
(type:GoogleApi.ContentWarehouse.V1.Model.QualityCalypsoAppsUniversalImage.t
, default:nil
) - aka. promotional image / cover image. -
screenshot
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityCalypsoAppsUniversalImage.t)
, default:nil
) -
Proto message containing site-level signal for search stack. Because firefly_stats.proto depends on "//segindexer:compositedoc_proto", we cannot make perdocdata contain it.
Various external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).
Attributes
-
intent
(type:list(String.t)
, default:nil
) - LINT.ThenChange( //depot/google3/googledata/nlp/generation/messages/assistant/\ dialog_LOCAL_LocalAssistantSchema/\ dialog.LOCAL.LocalAssistantSchema_zxx.genx.textpb, //depot/google3/quality/dialog_manager/verticals/local/assistant/\ suggestion_chip_util.cc)
A generic representation of a local result returned by a local backend. Next ID: 33
Define Reminder Client Type. This field is for the purposes of 1) UX Customization: Reminder frontends can be configured to have a slightly different UX (e.g., A customized button on Hubpage. A customized notification layout.) 2) Metrics: Client can count how many Reminders with a certain client type are retrieved/mutated. (e.g., VEIDs in go/oparaw.) 3) Index: ListReminder can list all Reminders with a certain client type. 4) Visibility control: some frontends (identified by provenance type, shortn/_xVC9nY2Eb8) only have access to a subset of client types.
Set of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 17
When making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChange
PerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 13
Compressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10
Attributes
-
confidence
(type:number()
, default:nil
) - If global_label_value is present, confidence is ignored. confidence is DEPRECATED. -
globalLabelBucket
(type:integer()
, default:nil
) - A byte-size value representing 64 * (1 + global_label_value). Use this instead of global_label_value to save on label storage. See quality_prose::LabelValueToBucket() for more info. -
globalLabelValue
(type:number()
, default:nil
) - -
labelId
(type:integer()
, default:nil
) - At least one of label_id and label_name must be filled in -
labelName
(type:String.t
, default:nil
) - -
provider
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityLabelsGoogleLabelDataLabelProvider.t)
, default:nil
) - -
providerId
(type:list(String.t)
, default:nil
) -
If Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.
Attributes
-
lastMonthBucket
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostCrapsAgingDataAgingAgeBucket.t
, default:nil
) - Documents with byline date younger than month at the event time. -
lastWeekBucket
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostCrapsAgingDataAgingAgeBucket.t
, default:nil
) - Documents with byline date younger than week at the event time. -
lastYearBucket
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostCrapsAgingDataAgingAgeBucket.t
, default:nil
) - Documents with byline date younger than year at the event time. -
yearPlusBucket
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostCrapsAgingDataAgingAgeBucket.t
, default:nil
) - Documents with byline date older than year at the event time.
Click / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.
CrapsDevice has the gws interface, gws tier and operating system for events from QSessions.
Attributes
-
country
(type:String.t
, default:nil
) - Country, like "us". If not present, it's an aggregation for all countries. This is the same format as one used in Glue. -
device
(type:String.t
, default:nil
) - Device, like "m". If not present, it's an aggregation for all devices. "m" - mobile devices. "d" - destop devices. -
language
(type:String.t
, default:nil
) - Language, like "en". If not present, it's an aggregation for all languages. This is the same format as one used in Glue. -
locationId
(type:integer()
, default:nil
) - Location id for metro and city. If not present, it's an aggregation for all locations within current country. -
signals
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostCrapsCrapsClickSignals.t
, default:nil
) - CRAPS Signals for the locale. -
voterTokenBitmap
(type:GoogleApi.ContentWarehouse.V1.Model.QualityNavboostGlueVoterTokenBitmapMessage.t
, default:nil
) - The set of voter tokens of the sessions that contributed to this feature's stats. Voter tokens are not unique per user, so it is a lower bound on the number of distinct users. Used for privacy-related filtering.
Attributes
-
hi
(type:float()
, default:nil
) - -
kind
(type:integer()
, default:nil
) - -
lo
(type:float()
, default:nil
) - -
mean
(type:float()
, default:nil
) - -
median
(type:float()
, default:nil
) - -
n
(type:integer()
, default:nil
) - -
pc10
(type:float()
, default:nil
) - -
pc25
(type:float()
, default:nil
) - -
pc75
(type:float()
, default:nil
) - -
pc90
(type:float()
, default:nil
) - -
stdError
(type:float()
, default:nil
) - -
stddev
(type:float()
, default:nil
) - -
varOfMean
(type:float()
, default:nil
) - -
variance
(type:float()
, default:nil
) - -
weightedN
(type:float()
, default:nil
) -
Used for aggregating query unique voter_token during merging. We use 4 uint64(s) as a 256-bit bitmap to aggregate distinct voter_tokens in Glue model pipeline. Number of elements should always be either 0 or 4. As an optimization, we store the voter_token as a single uint64 if only one bit is set. See quality/navboost/speedy_glue/util/voter_token_bitmap.h for the class that manages operations on these bitmaps.
Experimental NsrTeam data. This is a proto containing versioned signals which can be used to run live experiments. This proto will not be propagated to MDU shards, but it will be populated at query time by go/web-signal-joins inside the CompressedQualitySignals subproto of PerDocData proto. See go/0DayLEs for the design doc. Note how this is only meant to be used during LEs, it should not be used for launches.
The versioned signals used by the ExperimentalNsrTeamData proto.
This is a wrapper needed for the WSJ corpus. We want the WSJ RPCs to inject both the experimental_data and the keys, and as of June 2022 these need to be first level members of the proto.
Versioned NSR score data.
The NsrChunksProto corresponds to the NSRChunks class. The data saved by the proto and the class is the same. We provide utilities to go from one to the other.
NOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 56
The uplift-per-cluster values used in Tundra's uplift arm.
Contains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.
Data used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.
These scores are for image scores in the context of a landing page, which is now a discouraged path of building image classifications. See go/orbit-for-images-v2 for an alternative.
Stores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.
Image-only orbit intents (See: go/orbit-for-images-v2)
Information for chosen snippet. Next ID: 8
Information to identify tidbits.
Snippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================
A collection of data corresponding to a single title candidate. This will be used as: - a collection of signals to score and select titles in production - an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 68
Snippet brain scores.
Document related features used in snippets scoring. Next ID: 10
Attributes
-
isLikelyHomepage
(type:boolean()
, default:nil
) - -
numQueryItems
(type:integer()
, default:nil
) - -
numTidbits
(type:integer()
, default:nil
) - -
numVisibleTokens
(type:integer()
, default:nil
) - -
radish
(type:GoogleApi.ContentWarehouse.V1.Model.QualityPreviewSnippetRadishFeatures.t
, default:nil
) -
Quality related features used in snippets scoring. Next ID: 10
Query related features used in snippets scoring. Next ID: 7
Snippet query term coverage features.
Attributes
-
answerScore
(type:number()
, default:nil
) - Answer score of the passage for thisnavboost_query
. -
navboostQuery
(type:String.t
, default:nil
) - Navboost query for this radish signal. -
passageCoverage
(type:number()
, default:nil
) - The ratio of overlapping tokens between the radish passage and snippet candidate. -
passageType
(type:integer()
, default:nil
) - Integer value of indexing::annotations::wa_passages::Passage::Type. -
queryPassageIdx
(type:integer()
, default:nil
) - The index of this passage undernavboost_query
. -
similarityMethod
(type:integer()
, default:nil
) - How the similarity score is computed. Integer value of mustang_repos_www_snippets::RadishSignalScoringInfo::SimilarityMethod. -
similarityScore
(type:number()
, default:nil
) - Similarity score between thisnavboost_query
and the incoming query. -
snippetCoverage
(type:number()
, default:nil
) -
Protocol message for data related to product sites. This data is stored as signals data in docjoins.
Data for one locale.
Used to annotate the source of cross-account personal data. See go/cross-account-understanding.
The Google account the annotated personal data belongs to.
The 3P account the annotated personal data belongs to.
Alternative names with info like RecognitionAlternateSource indicating where is it from.
Attributes
-
calendarAlias
(type:GoogleApi.ContentWarehouse.V1.Model.QualityQrewriteQRewriteAccountAwareCalendarAliasWrapper.t
, default:nil
) - -
contactCalendarName
(type:GoogleApi.ContentWarehouse.V1.Model.QualityQrewriteContactCalendarName.t
, default:nil
) - -
familyCalendarAlias
(type:GoogleApi.ContentWarehouse.V1.Model.QualityQrewriteFamilyCalendarAlias.t
, default:nil
) - -
primaryCalendarAlias
(type:GoogleApi.ContentWarehouse.V1.Model.QualityQrewritePrimaryCalendarAlias.t
, default:nil
) -
Contact metadata Next Id: 36
A calendar alias wrapper used for query annotation. Aliases values are defined in the extension with build visibility restrictions as they may contain data from an account other than the user's primary account. This proto is used as an metadata output from the QRewrite annotation. It can be used for calendar aliases from different sources i.e. aliases based on the domain of the account associated with the calendar (go/calendar-aliases-annotation).
Relationship->contact data provided by Assistant Memory.
Used as Mustang attachment DO NOT: - ACCESS THE PROTO FIELDS DIRECTLY - USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. - USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.
A subset of LaunchableApplication, which is stored in the PerDocData proto (indexer/perdocdata/perdocdata.proto) and thus stored in the Search Mustang index. It is used to identify documents containing app links at serving time by SuperRoot. A subset of LaunchableApplication is used to save on storage requirements.
This is a measure of how salient this country is for the document.
Set of SalientCountry for a document.
DocData contains additional salient-term-set-level information that complements a SalientTermSet.
SalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).
SalientTermSet is a collection of terms (unigrams and bigrams) with associated weights that can describe something. The "salient terms".
SignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.
SignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.
This proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We're doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.
Moka product attribute facet (go/gx).
Attributes
-
condition
(type:String.t
, default:nil
) - -
controlType
(type:String.t
, default:nil
) - -
fingerprintOfOfferUrls
(type:list(String.t)
, default:nil
) - fingerprint of original offer item_urland mobile_offer_url (if present) to be able to understand if offer data came from different url. -
gtinValue
(type:list(String.t)
, default:nil
) - Global trade item number (GTIN). -
imageId
(type:list(String.t)
, default:nil
) - image_id is sorted and distinct for efficient search during serving. -
inferredImages
(type:list(GoogleApi.ContentWarehouse.V1.Model.ShoppingWebentityShoppingAnnotationInferredImage.t)
, default:nil
) - inferred_images are sorted by inferred_image_id for efficient search during serving. -
isLensBuildable
(type:boolean()
, default:nil
) - Is the offer Lens buildable. The corresponding field in Shopping Annotation is SurfaceSelection. -
matchingType
(type:String.t
, default:nil
) - information about methods used to match offer with indexed url. See shopping_annotation.proto -
merchantAccountId
(type:String.t
, default:nil
) - account_id of the merchant in shopping systems. -
merchantItemId
(type:String.t
, default:nil
) - merchant_item_id is meaningless without the merchant_account_id. -
nonDisplayableBrandMerchantRelationship
(type:String.t
, default:nil
) - direct to consumer brand merchant relationship -
nonDisplayableCurrency
(type:String.t
, default:nil
) - -
nonDisplayableOrganicScoreMillis
(type:integer()
, default:nil
) - Normalized riskiness score for Organic destinations. It's in range [1,1000] with 1 being the worst score and 1000 being the best. -
nonDisplayableStaleAvailability
(type:GoogleApi.ContentWarehouse.V1.Model.ShoppingWebentityShoppingAnnotationOfferAvailabilityInfo.t
, default:nil
) - This is experimental, not filled in yet and not intended to be used. Please contact buyable-corpus@ before considering using this field. -
offerDocid
(type:String.t
, default:nil
) - -
refType
(type:String.t
, default:nil
) - -
soriVersionId
(type:GoogleApi.ContentWarehouse.V1.Model.ShoppingWebentityShoppingAnnotationSoriVersionId.t
, default:nil
) -
Attributes
-
aggregateRating
(type:GoogleApi.ContentWarehouse.V1.Model.ShoppingWebentityShoppingAnnotationProductRating.t
, default:nil
) - -
brandEntityId
(type:String.t
, default:nil
) - -
catalogId
(type:String.t
, default:nil
) - -
globalProductClusterId
(type:String.t
, default:nil
) - -
images
(type:list(GoogleApi.ContentWarehouse.V1.Model.ShoppingWebentityShoppingAnnotationProductImage.t)
, default:nil
) - -
locale
(type:GoogleApi.ContentWarehouse.V1.Model.QualityShoppingShoppingAttachmentLocale.t
, default:nil
) - -
mokaFacet
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityShoppingShoppingAttachmentMokaFacetValue.t)
, default:nil
) - -
nonDisplayableDescription
(type:String.t
, default:nil
) - -
nonDisplayableTitle
(type:String.t
, default:nil
) - -
offer
(type:GoogleApi.ContentWarehouse.V1.Model.QualityShoppingShoppingAttachmentOffer.t
, default:nil
) - -
outlinkDomainRelationship
(type:String.t
, default:nil
) - Whether an outlink points to the same domain or off-domain. Only added if the relationship is known, and the Offer has ref_type of OUTLINK. -
pblock
(type:GoogleApi.ContentWarehouse.V1.Model.QualityShoppingShoppingAttachmentPBlock.t
, default:nil
) - Client needs to make decision on which field to use when both non_displayable_title and pblock.final_title are present. -
productBrowseonomyIds
(type:list(integer())
, default:nil
) - Product level Browseonomy ids from shopping_annotation.product.browseonomy. -
productClusterMid
(type:String.t
, default:nil
) - -
relevanceEmbedding
(type:list(GoogleApi.ContentWarehouse.V1.Model.QualityRankembedMustangMustangRankEmbedInfo.t)
, default:nil
) - Relevance embedding from ShoppingAnnotation.Product -
weakGlobalProductClusterId
(type:String.t
, default:nil
) - Matched/Inferred weak product identity - set only if the global_product_cluster_id is missing
Sitelink candidates that is generated from breadcrumbs.
Scoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.
Information about a single sub-result.
A container for encapsulating a list of sub-results.
Represents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See "Note on adding new fields".
Represents a set of targets. The group may have a label field to uniquely identify this target group among others - for instance, if these targets' titles were generated using an alternative title algorithm, the label can be "newtitles". See "Note on adding new fields".
A set of metadata about a list item that is passed on to Muppet from indexing.
A bolded range in printed snippet lines.
Unreliable dates signals per URL. go/unreliable-dates-dd
Attributes
-
adjustmentInfo
(type:GoogleApi.ContentWarehouse.V1.Model.QualityTimebasedLastSignificantUpdateAdjustments.t
, default:nil
) - This is stored only for debugging purposes. Please consult dates@ team before making a dependency on this field. -
date
(type:String.t
, default:nil
) - LastSignificantUpdate as UNIX timestamp in seconds. This is the new signal (go/lsu-dd) from LSU Selector V2 (once that is enabled, see b/171879888 for status), falling back to the legacy V1 signal if the HIGH_PRECISION signal does not exist. Please use the 'source' field to determine where the value comes from. -
dateUnreliabilityInfo
(type:GoogleApi.ContentWarehouse.V1.Model.QualityTimebasedDateUnreliability.t
, default:nil
) - -
source
(type:String.t
, default:nil
) - The source the signal comes from.
Attributes
-
adjustmentSource
(type:String.t
, default:nil
) - If the selected LSU has been adjusted, i.e. the maximum passage timestamp, firstseen or contentage were assigned to LSU, the adjustment source is stored here. -
isUpperboundTimestampPrecise
(type:boolean()
, default:nil
) - The timestamp is precise when it's derived from existing (>March 2022) passage timestamp. -
unboundedTimestampInSeconds
(type:String.t
, default:nil
) - The timestamp that was picked up by the component indicated in the LastSignificantUpdateSource but was dropped due to exceeding the upper bound. Set only if it is not equal to final LSU. -
unboundedTimestampSource
(type:String.t
, default:nil
) - The source that produced the unbounded timestamp. -
upperboundTimestampInSeconds
(type:String.t
, default:nil
) - The upperbound value derived from passage timestamps. If present, the LSU date should never exceed this value. Design doc: go/lsu-max-passage-timestamp
Attributes
-
isForumPage
(type:boolean()
, default:nil
) - Set to true if this page is classified as a forum page. -
isPageWithFreshRepeatedDates
(type:boolean()
, default:nil
) - Set to true if this page has a fresh repeated date sequence. -
isQnaPage
(type:boolean()
, default:nil
) - Set to true if this page is classified as a question answers page.
Unreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 4 8 / 1024 bytes = 46.9k bytes
If the single date (plus the precision mark) is still not good enough, we will use the following fields for a date range. In this case, the fields above may all be empty.
The following positions are the byte offset in doc body, which is consistent with the date annotations. (See google3/repository/annotations/proto/annotations.proto) These are given when we want to use the date as a byline date, so the snippet generating code will know the positions.
Protocol message for data related to good travel sites. This data is stored as signals data in docjoins.
Raw signals that determine the site quality score.
Audio-based language information about a Watch Page. For more information: https://g3doc.corp.google.com/video/timedtext/g3doc/ali.md
Stores cluster scoring information for an entity Next Id: 6
Wraps other annotations that are run over auto-generated video captions.
Attributes
-
amarnaDocid
(type:String.t
, default:nil
) - Should precisely match the amarna_docid in ContentBasedVideoMetadata. -
asrRepair
(type:GoogleApi.ContentWarehouse.V1.Model.IndexingVideosAsrTranscriptRepairAnnotation.t
, default:nil
) - The results of ASR transcript quality analysis. -
lang
(type:String.t
, default:nil
) - The language of the transcript as recorded in Amarna. -
punctuatedTranscript
(type:String.t
, default:nil
) - -
saftDocument
(type:GoogleApi.ContentWarehouse.V1.Model.NlpSaftDocument.t
, default:nil
) - -
saftSentenceBoundary
(type:GoogleApi.ContentWarehouse.V1.Model.SentenceBoundaryAnnotations.t
, default:nil
) - -
timingInfo
(type:GoogleApi.ContentWarehouse.V1.Model.QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotations.t
, default:nil
) - Timing information that maps sentence boundaries in the punctuated transcript with timing offsets for the start and end of those sentences. -
transcriptSource
(type:String.t
, default:nil
) - -
webrefEntities
(type:GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefWebrefEntities.t
, default:nil
) -
YouTube caption timing information for http://go/video-answers.
Byte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.
Domain registration information for the document. NEXT ID TO USE: 3
GeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.
A conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.
The information contained in a single crumb.
This structure holds data for application information for rich snippets Next ID: 53
Attributes
-
playwrightCategoryId
(type:list(String.t)
, default:nil
) - Copied from the category_id field from Playwright docs. It helps decide which category to show in app ranking info. -
rank
(type:list(GoogleApi.ContentWarehouse.V1.Model.RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRank.t)
, default:nil
) -
Represents the aggregated score of the entities for a given name, aggregated over all sources. Next available tag: 3.
Identifies a set of anchors in the CompositeDoc. Typically these anchors were collapsed by WebRef into a single anchor and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).
Information about a category annotation on a name.
Debug info about the concept annotations. Note that it might not be present in the output.
Human ratings of webref annotations (document-level ratings, mention-level ratings, etc.).
Annotation statistics for each token type. Next available tag: 8.
Holds annotator checkpoints which record the state of the annotations. This is useful for tracking down the source of diffs, in particular for non-determinism.
A message to collect annotator performance data.
Book editions metadata for a book entity. This metadata is a pair of "/book/book_edition" mid and its ISBN number.
High level category annotations for documents and queries.
Experimental scores for browsy topics, see go/example-docs-with-implicit-fashion-styles go/browsy-entities
The HitCat page classifier. See go/hitcat2 If you use any HitCat score, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates.
The QPrime query classifier signals.
All informations about category types of the entity.
Metadata about clusters. See go/webref-variants for details. Next available tag: 6.
A rule that defines a Cluster based on a list of mids. It creates a single Set, and makes it the parent of each of the mids in the list.
An instance of a "mid list" rule. Each "mid list" rule defines exactly one cluster.
A rule that defines a Cluster based on a relation. Given a relation (a link type) R, then: For each entity B that has incoming links of type R This defines an instance of this rule, with argument=B We create a Set S We make B a child of S For each entity A that has a link R to B, we make A a child of S Next available tag: 6
An instance of a "relation" rule. Each "relation" rule defines a number of clusters, one for each entity B that that has incoming links of a certain type R; all entities with an outgoing link to B of type R are part of that cluster.
When we apply a rule to define a particular cluster, we have a RuleInstance. Some kinds of rules for clusters define more than one cluster. In those rules we say things like "for each entity X with this property, we create a cluster where..."; each particular cluster that we create is the result of an instance of that rule, where the argument X has been bound to a particular entity (note that this also applies to rules that define only one cluster; in that case, there are no arguments). An entity that is part of a cluster plays a "role" in such a cluster. This message describes such an instantiation of a rule with a role and with concrete values for the arguments.
Flattened version of possibly nested compound values. This means that the value
in here is never a compound_value
and all predicate MIDs on the nested path are collapsed into the repeated predicate_encoded_mid
field. When predicate_encoded_mid
contains only one predicate, this is equivalent to a CompactKgPropertyValue.
Analog to freebase::PropertyValue
Analog to freebase::Topic
Analog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12
The ArgumentValue reference to Mention.CompoundMention.Component. Next available tag number: 4
Metadata proto to be stored in concept tables. Note: Name table only stores name_type_mask for better performance. Remember to change NameToConceptEntry if you add a field to this proto. Note: in the annotator output only URL and PHONE_NUMBER are populated.
Detailed scores about the topicality of an entity. Next available tag: 17
Information that can be used to display the entity (e.g. title, image...).
Per language display name from reliable sources (e.g. Freebase, Wikipedia). The name can be ambiguous (e.g. "Springfield" rather than "Springfield, Idaho"), and is thus to be used in a context which provides sufficient disambiguation. See: http://go/entity-names WARNING: This data is DEPRECATED and any user-visible entity names need to be fetched from TopicServer. Note that any display names included in this proto are merely a pass-through from KG and have no freshness guarantees.
List of PerDocRelevanceRatings for Precision@5 evals done via ewok (template 2282).
Information about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15
Represents a domain specific entity data.
Top level proto for enricher specific debug data that is only displayed in the Webref demo and should not be used for anything production-related. Next id: 4.
All annotations for a given concept (in one document collection). Available tags: [10-15], [19-]
Provides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.
Next available tag: 35. Represents all the information that we have for a given entity.
Metadata about the nature of the link.
All link data for a given source.
Stores all human ratings collected for a given entity name.
Represents a score for an entity. Next available tag: 39.
Represents the data for a given source of names, including all entity scores. Notice that a source of name can be just a signal like a multiplier. Next available tag: 8.
Keeps a set of scores about an entity. Next available tag: 20.
Information about all ranges explained by the entity or any other entity it implies. For example, the Zurich entity may explain both tokens "Zurich" and "Switzerland" in [FIFA Zurich Switzerland], the first directly, the other via implication. Only used in the context of query annotation.
A range of the annotated document explained by an entity.
Used to store region-specific score ratio per entity. Next available tag: 4.
Additional metadata about the entity, that can be derived from the "raw data" (composite doc, domain specific data...), or come from other sources. Next available tag is 35.
Attributes
-
id
(type:integer()
, default:nil
) - The category ID from verticals4. See go/verticals4 and where we read them in http://google3/repository/webref/preprocessing/fatcat-categories.cc -
score
(type:number()
, default:nil
) - The relative weight of the category within a distribution.
Submessage for forwarding urls in DocumentMetadata.
--------------------------------------------------------------------------- Enums defining the available modifier options.
The Freebase type information.
Identifies the segment index for Webref SegmentTypes not covered by other *Indices messages.
Geo-specific information about the entity. Next available tag: 34.
Terms from AddressComponent proto that we can use as address synonyms. At the time of annotation we have the entire AddressProto, however we can't use it all due to size. So only store relevant pieces of components (defined in superroot/impls/localweb/s2_synoyms.h).
Groups together the LinkInfo for all locales.
Groups together the NameInfo for all variants of a given name. The variants of a name have the same normalized string, but they have a different original string and/or a different language/region. Example: For the name "apple", there may be variants such as "apple|en", "apple|en|US", "apple|de", "Apple|en"...
Identifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.
Identifies the source of Spore segments in the CompositeDoc.
Metadata related to KC attributes and Question & Answer triggering. Next available tag: 2.
See go/kg-collections
A list of entities that are latent given this entity. For example, "Lionel Messi" can have the latent entity "FC Barcelona". See go/refx-latent-entities for detailed description.
Metadata about a latent entity and its relationship to a given child. See go/hits.
LexicalAnnotation is public lightweight serving structure for both WordGraph features and LWT annotations to expose lexical information downstream from RefX, e.g. in LooseParser.
A single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.
Necessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: "zurichben" language: Hungarian retrieved_entity: /m/08966 (with name "zurich") will get: MatchedLightweightToken: LightweightTokenType: "LOCATIVE" begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: "egyesult allamokott" language: Hungarian retrieved_entity: /m/09c7w0 (with name "egyesult allamok") will get: MatchedLightweightToken: LightweightTokenType: "LOCATIVE" begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule "e:as" to transform "tannlegas" to "tannlege". The matched byte range is [7, 9) on "as", therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on "e". Also, keep in mind these are byte offsets, not codepoints.
Collects all lightweight token patterns for each CandidateMention or Mention.
Collects all lightweight token patterns for each NameToConceptEntry.
Represents all information we have about a specific/localized link. Next available tag: 11.
A bitmap of bool values associated with a link kind. Next available tag: 12
Information about one of the types of a linked entity.
Next available tag: 8.
Metadata about MDVC (go/mdvc). Next available tag: 18.
Per-vertical part. Next available tag: 19
Multiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40
Additional ranges covered by the mention. Next available tag: 5
Reference to a component of a compound mention. Next available tag: 5
A single compound mention. Next available tag: 3
Attributes
-
cleanText
(type:String.t
, default:nil
) - A clean version of text. This is mostly used for compatibility with other Goldmine annotators. -
infoString
(type:list(String.t)
, default:nil
) - Optional debug information. -
snippet
(type:String.t
, default:nil
) - A snippet of the parsed text (html tags removed) in the page around this mention. Useful for human evaluation of the quality of the annotations. Outputted by WebrefAnnotator if --webref_output_mention_snippet_size is set to a value greater than 0. -
text
(type:String.t
, default:nil
) - Original UTF-8 document text occurring in the range [begin, end).
Per document mention ratings. Next id: 10
Next available tag: 11
Identifies the source of the Meta Content Tag segment in the Cdoc https://www.w3schools.com/tags/tag_meta.asp
Collects signals from one query used for prior learning.
Collects signals from one query and one candidate. Next available tag: 9
Represents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it after the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).
Represents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.
An N-gram context encountered on the document.
A mention that has been matched in the context (or a substring of it).
Oyster type information.
Per document ratings relevance ratings. Next id: 21.
Aggregates ratings by url/doc_fp.
Key-Value-like message to store values associated with a personalization type. Next id: 3
Details about personalization and contextual scoring decisions from Personalized Query Understanding (go/pqu). This message represents information about what kind of biasing was applied, including what type of data were used and how strongly. Intended to be used by client code for fine-tuning necessary ranking or triggering logic if it's not possible to rely on the aggregated annotation confidence alone. To minimize unwanted dependencies and incorrect usage of the data this proto has restricted visibility. Please reach out to refx-pqu@google.com if you want to have access. Next id: 2
Metadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref's/QRef's output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.
Abstract, source independent scores. Next available tag: 7
Next available tag: 33.
Attributes
-
count
(type:integer()
, default:nil
) - The total number of different sources from where this version of the original name comes from. -
score
(type:float()
, default:nil
) - Score estimating how good this original name is: - some sources are considered more authoritative than others (e.g. KG) - a name found in more sources is better. -
source
(type:list(integer())
, default:nil
) - The sources this name comes from. -
text
(type:String.t
, default:nil
) - One original name version.
Proto with metadata related to why a particular cdoc was selected for an entityjoin.
Information about where the url comes from.
A single processor counter stored as a pair of the counter name and the value.
Processor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.
Products-specific information about the entity. Only available in QrefMetadata output. Next available tag: 16.
Identifies a set of NavBoost queries in the CompositeDoc. Typically these queries were collapsed by WebRef into a single query and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).
The fields hold "non-entity" annotations of text.
Metadata keeper for an annotated range of a segment. Next available tag: 3.
Encapsulates the textual mention spans extracted from a document, split per token.
Describes a mention annotated by Webref in the given document.
Contains high level search query statistics of the document.
Encapsulates additional CDoc metadata needed by Refcon.
Refcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.
Signals used for mining new reference pages, set by the reference-page-scorer processor.
A single Mention within a segment as defined by SegmentMentions.SegmentType
Annotations of a single docjoin segment. A CDoc has several distinct data types which we call "segments" (see SegmentType for complete list). SegmentMentions contains all the mentions for a given (document, segment) pair. For queries there is only a single CONTENT segment.
A date range for an entity. E.g. lifespan of a person, release date of a movie, ...
Represents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text "mountain view", then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don't separate onsite anchors), the count is 30 (10 + 20) and we don't have values in the .._offdomain and .._onsite fields.
Represents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 17.
LINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.
Each SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of "in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)". To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying "I am the state". In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChange
Attributes
-
isReadable
(type:boolean()
, default:nil
) - Signals about quality of data that was shown to raters. If document/query and concept description are readable. -
itemId
(type:String.t
, default:nil
) - -
projectId
(type:String.t
, default:nil
) - -
taskDetails
(type:GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefTaskDetails.t
, default:nil
) - -
taskId
(type:String.t
, default:nil
) -
Information about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6
Attributes
-
confidenceScore
(type:number()
, default:nil
) - Triple annotation confidence_score (value between 0 and 1). Higher values correspond to higher confidence. -
isImplied
(type:boolean()
, default:nil
) - The information in this triple is implied by other triple(s) in the document. -
kgVerified
(type:boolean()
, default:nil
) - Set to true if this triple is present in the webref model as either a link or property value. This implies that the information is in the Knowledge Graph. Note that it can happen that a triple is in KG but not present in the webref model. -
mentions
(type:list(GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefTripleMention.t)
, default:nil
) - Occurrences of the triple on the document -
predMid
(type:list(String.t)
, default:nil
) - The mid of the predicate kg-property(-ies). In order, in the case of multihop links. -
stuff
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - Generic container to hold additional data such as signals, debug data etc. Data that can be stored in this field and their TypeIds: repository_webref::evaluation::ECMDebug (TypeId 192627933), defined in repository/webref/evaluation/triple_annotations/triple-diff.proto Debugging data to be used in WebIt's ECM report. -
triple
(type:GoogleApi.ContentWarehouse.V1.Model.KnowledgeGraphTriple.t
, default:nil
) -
Represents a collection of triples annotated by Webref/Webit. Included in WebrefEntities
Attributes
-
predMention
(type:GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefSegmentMention.t
, default:nil
) - Document mention of the predicate -
scopeBegin
(type:integer()
, default:nil
) - The [begin, end) byte offset of the document scope where this triple was annotated. This corresponds to a table row or a text sentence where the triple was identified. The sub_mention can be outside the scope when the subject is inferred from the table title. -
scopeEnd
(type:integer()
, default:nil
) - -
scopeFprint
(type:String.t
, default:nil
) - Fingerprint2011 of space-joined SAFT tokens in the scope. -
stuff
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - Generic container to hold additional data such as triple scoped signals. Data that can be stored in this field and their TypeIds: repository_webref::universal::webit::ScopeSignals (TypeId 192754198), defined in repository/webref/universal/processors/understanding/webit.proto -
subMention
(type:GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefSegmentMention.t
, default:nil
) - Document mention of the subject -
valueMention
(type:GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefSegmentMention.t
, default:nil
) - Document mention of the value
This proto is filled with n-gram data during model building.
Detailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.
Annotation metadata for an individual entity.
All information that applies globally to the document. Next available tag: 11
Represents a collection of entities returned by the WebRef service. Next available tag: 14.
All information about a single entity available to WebRef. Next available tag: 7
The identifier of a WebrefEntity (see webref-entities.proto). IMPORTANT: Please consider reading this proto through GetWebrefEntityMid() in webref-entities-util.h, because this proto may: a) contain both freebase_mid and concept_id (this is frequently the case to avoid breaking downstream clients), b) only contain freebase_mid or only contain concept_id (as the other one is technically redundant), c) contain neither of them or be missing entirely (potentially in future).
Information regarding links between annotated entities. Next available tag: 5
THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. . We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: - To consume the topical entities (+properties, incl. hitcat, browsy, ...) go/udr/migrate-wma provides a migration with minimal changes. - To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25
Information about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7
Information about the outlinks of an annotated document. Next available tag: 3
Attributes
-
dataEpoch
(type:String.t
, default:nil
) - The epoch of the Webref static data (the name-filter.data file). As of Dec 2020 in prod Goldmine (in webref_daily_full_model_static_data) this value is over from the alpha model static data, since this is where most of the parts come from. I.e. the value does not correspond to the actual model being used. -
utilStatus
(type:GoogleApi.ContentWarehouse.V1.Model.UtilStatusProto.t
, default:nil
) - Error that occurred during the annotation. This field is only populated by QRef (i.e. under QueryJoin.status) and never by WebRef (i.e. under WebrefEntities.status) anymore, which instead reports errors (and soon also taints) through standard Goldmine mechanisms. -
version
(type:integer()
, default:nil
) - The version number of the annotator (the cl the binary was built from). Must be enabled via a command line flag. See also the Goldmine's indexing::annotations::AnnotationMeta proto.
Information about a Wikipedia category (typically at the bottom of the page).
Geocodes extracted from the wikijoins.
////////////////////////////////////////////////////////////////////////////// Conjunction: a single AND clause that contains multiple disjunctions.
////////////////////////////////////////////////////////////////////////////// Disjunction: a single OR clause that contains multiple group:token tuples.
Each EasyConjunction represents an AND-of-ORs block.
Each EasyDisjunction represents one OR clause.
Each EasyRestrictDefinition represents an OR-of-ANDs-of-ORs block.
////////////////////////////////////////////////////////////////////////////// RestrictDefinition: the set of conjunctions and disjunctions that define a single OR-of-ANDs-of-ORs restrict definition.
////////////////////////////////////////////////////////////////////////////// RestrictTokensV2: a set of group:token tuples, collated by group.
Attributes
-
debugTokenStrings
(type:list(String.t)
, default:nil
) - debug_token_strings - (optional) strings that should be used for human-friendly printing. NOT used by the matching engine! -
name
(type:String.t
, default:nil
) - name - the name of the token group. -
tokens
(type:list(String.t)
, default:nil
) - tokens - a list of tokens, stored by their Fingerprint2011 hash.
===================================================================== # GenericFeatureVector Last tag used: 23
This subproto contains configuration for crowding. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute.
Metadata that may be populated if this GFV was transformed into fixed-point from a floating-point GFV.
copybara:strip_begin RestrictTokens - used to perform "restricted searches" where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There's some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. --------------------------------------------------------------------------- The semantics of V1 restrict is described below: V1 "forward" restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are not searched. Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. --------------------------------------------------------------------------- V1 "reverse" restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: If a point's whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. If a point's blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9
All nearest neighbors for one data point. Last tag used: 5
Attributes
-
crowdingAttribute
(type:String.t
, default:nil
) - If crowding is enabled, the crowding attribute of this neighbor will be stored here. -
distance
(type:float()
, default:nil
) - This could be exact or approximate distance. -
docid
(type:String.t
, default:nil
) - Neighbor data point. This field is set based on the data_id_str field in the GFV of the data point in the database (or SSTable key if data_id_str is not present), and thus can be arbitrary data, e.g. docid, URL, query string. -
gfv
(type:GoogleApi.ContentWarehouse.V1.Model.ResearchScamGenericFeatureVector.t
, default:nil
) - The field isn't populated by default, but when enabled (eg, in the ground-truth pipeline), this field provides the original database GFV corresponding to this result. -
metadata
(type:String.t
, default:nil
) - Metadata about the neighbor. This is returned under some configurations as a serialized proto. The specific proto depends on which metadata is configured to be returned.
Attributes
-
namespace
(type:String.t
, default:nil
) - The name of this namespace. -
op
(type:String.t
, default:nil
) - This MUST be specified for queries and must NOT be specified for database points. -
valueDouble
(type:float()
, default:nil
) - -
valueFloat
(type:number()
, default:nil
) - -
valueInt
(type:String.t
, default:nil
) - NOTE: Integers are represented in 64 bits here, but if all integer values for a given namespace fit in a narrower integer type (e.g. int8), we use the narrower integer type internally, increasing performance.
Structure to hold the response time for a node. Last used: 3
Metadata to encode query-specific information. This may include NeighborSelectionOverride, pre-computed query tokenization, etc..
Response to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8
Structure to hold the number of active and total datapoints for a given dataset, as defined below. Last used: 2
Attributes
-
namespace
(type:String.t
, default:nil
) - //////////////////////////////////////////////////////////////////////////// NAMESPACE - the string name of the namespace that this proto is specifying, such as "color", "shape", "geo", or "tags". Recall that your overall query is an AND across namespaces. -
stringBlacklistTokens
(type:list(String.t)
, default:nil
) - //////////////////////////////////////////////////////////////////////////// BLACKLIST - Blacklisting can be used to implement more complex scenarios. The blacklist fields have exactly the same format as the token fields, but represents a negation. When a token is blacklisted, then matches will be excluded whenever the other datapoint has that token. For example, if a query specifies {color: red, blue, !purple}, then that query will match datapoints that are red or blue, but if those points are also purple, then they will be excluded even if they are red/blue. Note that, due to symmetry, if one of the database points is {red, !blue}, that point will be excluded from queries that specify blue. Lastly, note that namespaces with only blacklist tokens behave similar to empty namespaces, in that {color: !purple} would match blue or red datapoints, as long as those datapoints don't also have the purple token. -
stringTokens
(type:list(String.t)
, default:nil
) - //////////////////////////////////////////////////////////////////////////// TOKENS - Conceptually, each token names a set datapoints. The field(s) below are for declaring the tokens that name the datapoint that this TokenNamespace proto is attached to. For convenience, we support either string or uint64 tokens. Internally, the restricts system is based on uint64s, but for many applications, strings are the more natural format, and they should be preferred whenever this is the case. When only uint64s are specified, they will be used as-is. When only strings are specified, they will be converted to uint64s via Fingerprint2011. (See "Note on the safety of Fingerprint2011"). ADVANCED: When both fields are specified, the uint64s are used as-is. Note that, when both fields are used, they must have the same number of entries, and the system will assume that your strings correspond 1:1 with the list of uint64 tokens. EDGE CASE: All matching is done in the uint64 space, so, I'm not sure why you'd do this, but if, eg, your database uses strings, and your queries specify the Fingerprint2011 hashes of those strings, matching will work, and this is a specified behavior. Note on the safety of Fingerprint2011: Unless you have well over 1M+ unique string tokens, you can safely assume that every string will map to a unique 64-bit token. Internally, both Mustang and PSI use Fingerprint2011 to hash arbitrary strings into uint64 tokens, and assume, without validation, that each 64-bit token is unique. And the math backs up this assumption: If we are using a "perfect" hashing function (and Fingerprint2011 is close-enough for our purposes), and we then hash 1M unique tokens into a 64-bit space, there's still better than 99.9999% odds that all tokens are collision-free, nearly as good as the odds for the datacenter's continued existence. Scenarios for having both the string and uint64 token forms: Probably none that matter to you. Just use the strings directly. You could have uint64 enum values, yet want to include the string values for debugging purposes. Note that it is supported to use a proprietary string => uint64 mapping, assuming that it is consistent, and that you always specify the uint64 values. The mixer-tier in a multi-shard deployment might convert the strings into uint64s to avoid redundant hashing overhead on the leaves, yet keep the string tokens to preserve proto-level debugging. When strings are present, I reserve the right to use them for making logging "better", but, thusfar, there are 0 examples of this. -
uint64BlacklistTokens
(type:list(String.t)
, default:nil
) - -
uint64Tokens
(type:list(String.t)
, default:nil
) -
Attributes
-
namespaces
(type:list(GoogleApi.ContentWarehouse.V1.Model.ResearchScamTokenNamespace.t)
, default:nil
) - //////////////////////////////////////////////////////////////////////////// NAMESPACES - a repeating field, where each entry specifies the set of tokens, within a single namespace, that apply to the query, or database point, on which this V3Restrict proto is defined. Note that: Your overall query is an AND across namespaces. Explicitly specifying a namespace with 0 tokens is identical to omitting that namespace. ie, "{ns:}" == "". * It is an error to specify the same namespace more than once per instance of the V3Restrict proto. -
numericNamespaces
(type:list(GoogleApi.ContentWarehouse.V1.Model.ResearchScamNumericRestrictNamespace.t)
, default:nil
) - This field allows restricts to be based on numeric comparisons rather than categorical tokens. HINT: To allow a range of values in a namespace (e.g. 42 <= x < 128), specify the same namespace twice in the query, e.g.: {namespace: "x" op: LESS value_int: 128 } {namespace: "x" op: GREATER_EQUAL value_int: 42 }
Information on the catalog that this dataset comes from. Next ID: 5
Reference to the citation in Google scholar.
The dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6
Data size information, consists of a numeric value and a unit. Next ID: 3
Representation of fields that contain dates. The formattes version, if present, contains ISO 8601 formatted date or range. Otherwise, it is an unformatted string. Next ID: 3
Stores the classification info of each field of study label.
Distribution license information. Next ID: 6
Describes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9
The information representing one navboost query for the dataset source_url.
Organization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don't use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6
A proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74
Stores the information about a dataset replica. Next ID: 5
Data and associated metadata for a scholarly pdf article.
The proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 17
The mid and description of a WebRefEntity.
Stores the information about each cluster of versions. Versions are defined in go/s2-versioning. Next available tag: 4
Other attributes of the object.
Attributes
-
DataObject
(type:list(GoogleApi.ContentWarehouse.V1.Model.RichsnippetsDataObject.t)
, default:nil
) - -
ignoreDataObject
(type:boolean()
, default:nil
) - If ignore_data_object is set to true, pagemap attachment is processed regardless of whether data object is present or not. -
src
(type:String.t
, default:nil
) - -
templatetype
(type:list(GoogleApi.ContentWarehouse.V1.Model.RichsnippetsPageMapTemplateType.t)
, default:nil
) -
S3 based Audio language information about a Watch Page.
A proto that stores SafeSearch internal signals that are not exported to clients.
Flexible multi-vertical classification output. The output for each vertical should be defined as a proto extension to this proto. When defining an extension for a new vertical please follow the format: message NewVertical { extend safesearch.VideoClassifierOutput { optional NewVertical classifier_output_extension = ; } optional safesearch.VideoVerticalOutput vertical_output = 1; } SafeSearch verticals only: Please also update this message with a new extension declaration. For more details on extension declaration please refer to http://go/proto-proposals/extension-declarations. Please refer to http://go/proto2-extensions for details on message extensions. LINT.IfChange next extension id: 7
SafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6
Information about multi-label classification result (the scores and whether frame features were used).
Output of Multi-Label video classifier.
Attributes
-
PatentPublicationNumber
(type:String.t
, default:nil
) - -
ISBNVariant
(type:list(String.t)
, default:nil
) - -
OnlineYear
(type:integer()
, default:nil
) - -
Number
(type:String.t
, default:nil
) - can be 1-3 -
Anchors
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationAnchor.t)
, default:nil
) - All the anchor text (before, after, formal, etc) for this citation in the referring page. -
PMID
(type:String.t
, default:nil
) - Pubmed ID -
PatentCountry
(type:list(String.t)
, default:nil
) - 2-letter country code where patent was issued, see ocean/metadata/patent_record.proto::Patent_Record::country_code for EPO one patent pertains to a list of countries. -
LegalCitation
(type:GoogleApi.ContentWarehouse.V1.Model.LegalCitation.t
, default:nil
) - The ScienceCitation is how metadata passes through the scholar system. For legal, we use the normal ScienceCitation for the metadata/citation of legal journals. For court/government documents (like opinions or statues), we wrap it in the following embedded message -
PublicationDay
(type:integer()
, default:nil
) - for patents, publicationD/M/Y is the date of issue, not application -
Title
(type:String.t
, default:nil
) - -
FileCreationYear
(type:integer()
, default:nil
) - date of creation of the pdf/doc -
funding
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationFunding.t)
, default:nil
) - -
AuthorMetatagLeftOver
(type:String.t
, default:nil
) - -
AbstractLanguage
(type:String.t
, default:nil
) - -
NumBackwardLinks
(type:integer()
, default:nil
) - for display in gws -
FileCreationMonth
(type:integer()
, default:nil
) - zero-indexed field -
ParseSource
(type:integer()
, default:nil
) - -
PublisherAddress
(type:String.t
, default:nil
) - address from bibtex -
AbstractSource
(type:String.t
, default:nil
) - -
ISSN
(type:String.t
, default:nil
) - -
VersionID
(type:String.t
, default:nil
) - Document version identifier - fingerprint of an id computed from the url, or of bibliographic data from a publisher. Different urls for the same article from the same source have the same version id (e.g., abstract, pdf version, and html version). -
unioncatalog
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationUnionCatalog.t)
, default:nil
) - -
PMCID
(type:String.t
, default:nil
) - -
ConferenceNumber
(type:integer()
, default:nil
) - 27 in the "27th conference on magical realism" -
WorldViewable
(type:boolean()
, default:nil
) - Is this version of the article world viewable? -
OnlineDay
(type:integer()
, default:nil
) - -
NumGoodEmbeddedRefs
(type:integer()
, default:nil
) - good embedded refs -
downloadurl
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationDownloadURL.t)
, default:nil
) - -
Series
(type:String.t
, default:nil
) - -
NumSectionRefs
(type:integer()
, default:nil
) - refs in marked section -
NumKeyQuotes
(type:integer()
, default:nil
) - for display in gws -
AbstractCitationSource
(type:integer()
, default:nil
) - The source of abstract text that is chosen by science docid assigner. -
CitationSourceUrl
(type:String.t
, default:nil
) - url where record came from -
Editor
(type:list(String.t)
, default:nil
) - -
Language
(type:String.t
, default:nil
) - -
Chapter
(type:String.t
, default:nil
) - -
alternateabstract
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationAlternateAbstract.t)
, default:nil
) - -
PublicationVenue
(type:String.t
, default:nil
) - where published - subsumes booktitle, howpublished and journal from bibtex -
NumBackwardLinksFromLegal
(type:integer()
, default:nil
) - hack for legal rollout -
Keywords
(type:list(String.t)
, default:nil
) - -
CrawledDocid
(type:String.t
, default:nil
) - If a citation is merged from a crawled version and a metadata version, keep the normal docid fp of the crawled version for clustering FP of normal docid of crawl version -
AbstractHtmlLeftOver
(type:String.t
, default:nil
) - Leftovers from AbstractHtml. These are usually unrecognized xml/html entities or xml/html tags -
NumForwardLinks
(type:integer()
, default:nil
) - for display in gws -
BorrowedFields
(type:integer()
, default:nil
) - OR of FieldType -
FileCreationDay
(type:integer()
, default:nil
) - -
AbstractText
(type:String.t
, default:nil
) - -
PatentApplicationNumber
(type:String.t
, default:nil
) - Note that an issued patent has a PatentNumber and can also have a PatentApplicationNumber, whereas a patent application has a PatentApplicationNumber and can also have a PatentPublicationNumber. -
TitleHtml
(type:String.t
, default:nil
) - Version of title for display. Contains unsanitized HTML/XML. -
accessurl
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationAccessURL.t)
, default:nil
) - -
ClusterDiscoveryDate
(type:String.t
, default:nil
) - Used for logging, recommendations, and sort-by-date. Contains the earliest discovery date of the cluster, adjusted for earlier publication dates. Stored in Universal time scale (100 ns ticks since 0001 AD) because Unix timestamp would lead to negative dates for pre-1970 docs. -
PublicationMonth
(type:integer()
, default:nil
) - month from bibtex PublicationMonth is a zero-indexed field (0 is January). -
CitationSrc
(type:String.t
, default:nil
) - DEPRECATED: use CitationSource -
TranslatedAuthorListHasEtAl
(type:boolean()
, default:nil
) - etal marker for the translated author list - just in case -
alternatetitle
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationAlternateTitle.t)
, default:nil
) - -
subject
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationSubject.t)
, default:nil
) - -
JOI
(type:String.t
, default:nil
) - -
OtherID
(type:String.t
, default:nil
) - eg ERIC doc number or TR number -
CitationSource
(type:integer()
, default:nil
) - citation src: dblp/crossref/paper etc -
WOSID
(type:String.t
, default:nil
) - Web of Science ID -
NumBackwardLinksInWoS
(type:integer()
, default:nil
) - numcited in WoS -
NumRelated
(type:integer()
, default:nil
) - for display in gws -
PublicationVenueVariant
(type:list(String.t)
, default:nil
) - -
BaseLocalID
(type:String.t
, default:nil
) - Set when building an incremental index. Whereas BaseGlobalID is the ID of the corresponding base cluster, the local ID is the ID of an individual citation within that base cluster that corresponds to this reparse. -
CitationSourceCrawlTimestamp
(type:String.t
, default:nil
) - Seconds since the epoch, should be consistent with CitationSourceUrl. -
PublisherId
(type:String.t
, default:nil
) - -
SICI
(type:String.t
, default:nil
) - -
ArxivSection
(type:String.t
, default:nil
) - e.g. hep-ph -
author
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationAuthor.t)
, default:nil
) - -
OnlineMonth
(type:integer()
, default:nil
) - OnlineMonth is a zero-indexed field (0 is January). -
PublisherOrg
(type:String.t
, default:nil
) - subsumes organization, school and institution from bibtex -
AbstractHtml
(type:String.t
, default:nil
) - Version of abstract field for display. Contains unsanitized XML/HTML. -
PatentClassification
(type:list(String.t)
, default:nil
) - patent classification e.g., "B24B 3100" -
Type
(type:integer()
, default:nil
) - ArticleType -
DEPRECATEDPublisherDisplayName
(type:String.t
, default:nil
) - these fields moved to DownloadURL where they belong -
PatentNumber
(type:String.t
, default:nil
) - number according to USPTO/EPO/JPO scheme. -
PubvenueID
(type:String.t
, default:nil
) - local journal number -
AbstractDisplay
(type:String.t
, default:nil
) - -
NumHostedPages
(type:integer()
, default:nil
) - If set, then we host this many pages of this citation's content. Note that this field may be set to 0, in which case we should be hosting this content but have failed. DEPRECATED, moved to DownloadURL -
Volume
(type:integer()
, default:nil
) - -
Edition
(type:String.t
, default:nil
) - -
NumRelated2
(type:integer()
, default:nil
) - for experiments -
ISBN
(type:String.t
, default:nil
) - -
DocumentID
(type:String.t
, default:nil
) - Local document identifier - url fingerprint if we know the url, or fingerprint of all fields if we don't. Different urls have different local docids. -
AlternateVersionID
(type:String.t
, default:nil
) - Fingerprint of the URL after applying crawl and aggregate rewrites. Different citations with the same AlternateVersionID must have the same VersionID, but not necessarily vice versa. Omitted when identical to the VersionID. -
category
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationCategory.t)
, default:nil
) - -
PatentOffice
(type:integer()
, default:nil
) - one of the above -
ReviewTypeReason
(type:integer()
, default:nil
) - bitmap of ReviewArticleTypeReasons -
DspaceID
(type:String.t
, default:nil
) - Dspace uses handle.net handles -
AbstractTypeFromSource
(type:String.t
, default:nil
) - The original (unnormalized) type of an abstract. AbstractDisplay holds a normalized type deduced from things like tagnames, tag-attributes, keywords in documents or the placement of the abstract in the document. This field is meant for the type of the abstract identified explicitly by the source document. E.g., the value of the 'abstract-type' attribute from a tag in XML ('primary abstract', 'summary', 'highlights' etc.). -
UnmatchedInstitution
(type:list(String.t)
, default:nil
) - Author affiliations found in the document that we weren't able to match up to specific authors. -
NumVersions
(type:integer()
, default:nil
) - for display in gws -
PublicationYear
(type:integer()
, default:nil
) - year from bibtext full year -
DOI
(type:String.t
, default:nil
) - Digital Object Identifier -
referencediscussion
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationReferenceDiscussion.t)
, default:nil
) - -
TitleHtmlLeftOver
(type:String.t
, default:nil
) - Leftovers from TitleHtml. These are usually unrecognized xml/html entities or xml/html tags -
translatedauthor
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationTranslatedAuthor.t)
, default:nil
) - -
BorrowedAuthors
(type:integer()
, default:nil
) - one bit per author -
ISSNVariant
(type:list(String.t)
, default:nil
) - -
IncrementalExpected
(type:boolean()
, default:nil
) - Is this article expected to have been indexed in the incremental? -
DblpId
(type:String.t
, default:nil
) - -
BaseGlobalID
(type:String.t
, default:nil
) - Global document identifier - only available when building increments over a known base index. This id is from the base index. -
ConferenceId
(type:String.t
, default:nil
) - Identifier for conference series - issn-lite -
LCCN
(type:String.t
, default:nil
) - library of congress call number -
DEPRECATEDMetadataSourceFile
(type:String.t
, default:nil
) - -
ClearedReason
(type:String.t
, default:nil
) - -
LevelOfDiscussion
(type:integer()
, default:nil
) - If this is a target reference, the level of discussion of this reference. -
AuthorListHasEtAl
(type:boolean()
, default:nil
) - whether this citation had an "et al" in the author list -
NumRelated3
(type:integer()
, default:nil
) - for experiments -
Note
(type:String.t
, default:nil
) - random string data - unparsed -
UnmatchedEmailAddr
(type:list(String.t)
, default:nil
) - Email addresses found in the document that we weren't able to match -
Pages
(type:String.t
, default:nil
) - Using string to handle all kinds of page specifications. Internal structure is not really needed.
User-defined URL and its last access data for citation manager.
There are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.
alternate titles (including language where available)
The anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.
author names should be in the order specified in the paper
Download URL mentioned in citation; we keep up to K of them LINT.IfChange
Attributes
-
Agency
(type:integer()
, default:nil
) - values are from FundingAgency enum -
AgencyName
(type:String.t
, default:nil
) - Text name of the agency. For analysis. Plus for agencies that don't have an enum. -
DebugExtractionInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceCitationFundingExtractionInfo.t)
, default:nil
) - Funding entries for the same agency and grant number can be merged during our extraction process so we maintain a record of all the deduped ExtractionInfo messages within the remaining entry. -
DebugFundingTextBlock
(type:String.t
, default:nil
) - Text block from which the funding entry was extracted. Intended to be used for offline analysis. DEPRECATED -
GrantNumber
(type:String.t
, default:nil
) - -
Recipient
(type:String.t
, default:nil
) - funding recipient -
SourceText
(type:String.t
, default:nil
) - Original text for the funding acknowledgement -
UrlBasedFundingSource
(type:boolean()
, default:nil
) - Whether this funding info was added because this article was at the exclusive repository for this agency.
Holds information about the source of the funding entry.
If this is a source document, the levels of discussion of the references this document cites.
subject classification
translated author names. we usually get these for non-english papers which provide english title/author/abstract info
Create UnionCatalog as a group if we want to later add book level informations.
Attributes
-
HtmlTitleFp
(type:String.t
, default:nil
) - Fingerprint of the html title of the page. This is useful for checking if we have the same version of the page as websearch. -
IndexSelectionScore
(type:number()
, default:nil
) - Index selection score for websearch, bigger is better: (0.5,1.0] - prefer selection into the base index, (0.0,0.5] - prefer selection into the supplemental index. -
NumBackwardLinks
(type:integer()
, default:nil
) - Summary statistics. -
NumRelated
(type:integer()
, default:nil
) - -
NumVersions
(type:integer()
, default:nil
) - -
PublicationDay
(type:integer()
, default:nil
) - -
PublicationMonth
(type:integer()
, default:nil
) - -
PublicationYear
(type:integer()
, default:nil
) - Publication date. -
RemoveLink
(type:boolean()
, default:nil
) - Remove this URL from the index - error page, broken landing page, etc. DEPRECATED, was never used or even filled correctly. -
ScholarId
(type:String.t
, default:nil
) - For links from websearch to scholar. -
Title
(type:String.t
, default:nil
) - Title of the article. Its only filled in when the html title of the page isn't good. -
VisiblePrefixTerms
(type:integer()
, default:nil
) - Length of document prefix that most users are likely to see. Only filled in when we index subscription fulltext but most users see abstracts. This is a conservative guesstimate - e.g., ACM shows fulltext to university/company subscribers (including Google employees) based on user's IP address, but we don't know subscriber IPs, so ACM's PDF pages would have ~500 in this field (estimated length of abstract). -
author
(type:list(GoogleApi.ContentWarehouse.V1.Model.ScienceIndexSignalAuthor.t)
, default:nil
) -
Describes the viewability of ocean content.
Attributes
-
articleness
(type:number()
, default:nil
) - -
pageAnchors
(type:list(GoogleApi.ContentWarehouse.V1.Model.SdrPageAnchorsSitelink.t)
, default:nil
) - -
qscore
(type:number()
, default:nil
) - -
sitelinkWrapper
(type:list(GoogleApi.ContentWarehouse.V1.Model.SdrPageAnchorsSitelinkWrapper.t)
, default:nil
) - -
textRichness
(type:number()
, default:nil
) -
Attributes
-
embedding
(type:GoogleApi.ContentWarehouse.V1.Model.SdrEmbedding.t
, default:nil
) - Needed for relevance scoring. -
geometryScore
(type:number()
, default:nil
) - aggregate score from Section Geometry. -
headingAbbrvScore
(type:number()
, default:nil
) - Heading Abbreviation score. -
hpScore
(type:number()
, default:nil
) - Needed for heading/passage filtering. -
level
(type:integer()
, default:nil
) - -
scrollTo
(type:GoogleApi.ContentWarehouse.V1.Model.SdrScrollTo.t
, default:nil
) - -
sectionHeight
(type:integer()
, default:nil
) - Needed for Geometry Scoring and backoffs. from Section Geometry. -
text
(type:String.t
, default:nil
) - Heading/Reformulated text is needed to display.
This wrapper is used for passing in additional information to generate embeddings in Goldmine.
Data needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_end
Number of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.
Encapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).
Attentional entities (AE) can be pulled from arguments of interpretations, entities annotated by Aqua or QRef annotators, and entities mentioned in Assistant's response and annotated by the fulfillment logic (see https://g3doc.corp.google.com/quality/dialog_manager/attentional_entities/g3doc/overview.md#overview). Sensitivity of AEs can be marked by (1) feature developers in a Monastery frame, (2) code to infer the sensitivity from Argument provenance, and (3) entity annotators, such as Aqua annotator and QRef annotator. See go/sensitive-ae.
Sensitivity is marked at end of the last turn. See go/followon-sensitivity for more details.
Marks that this sensitivity is from fulfillment.
Marks that sensitivity is from a Grounding Provider.
Deprecated, do not use.
Sensitivity is produced by QU.
Marks that this sensitivity is from a synthetic intent.
Represents a principal who has authenticated as any kind of user which the application understands. This is typically used for "wiki-like" security, where anyone is allowed access so long as they can be held accountable for that access. Since the purpose is knowing whom to blame, it is up to the application to decide what kinds of users it knows how to blame. For example, an application might choose to include GAIA users in "all authenticated users", but not include MDB users. Nothing here.
Represents a principal which possesses a particular secret string whose cryptographic hash is specified here. CapTokens ("Capability Tokens") are used in ACLProto. It's expected that ACLs with CapTokenHolders will strongly enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.
Represents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.
Represents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete -- e.g., Keystore does not support it yet (see b/5703421).
Principal associated with a Cloud Principal representing third party user.
A group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.
Represents a verified owner of the given email address. Note that a single address may have many owners, and a single user may own many addresses. (All lower-case, in display form -- see com.google.gaia.client.GaiaEmail)
Represents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).
A Gaia account, which may represent a user, device, service account, etc. For prod (@prod.google.com) accounts, use MdbUserProto instead.
Represents a single host. Optionally, the MDB owner of the host can be specified.
An entity from the MDB namespace that is to be interpreted as a group. If using this for authorization, you should do an exact match of the peer role against group_name or any of the names in the Chubby expansion of the MDB group named group_name.
An entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.
Represents an OAuth consumer, a/k/a AuthSub target. These principals are identified by domain name (e.g., example.com). Historically, Dasher domain GAIA group IDs have been used instead, but that doesn't work: http://go/tricky-gaia-ids
A Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChange
Principal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).
Principal associated with a given RBAC subject. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).
A type of sharing target that points to some resource's ACL. Used to refer to the set of Principals that have the given privilege ('role_id') for the given resource ('application_id', 'object_id', 'object_part'). The meaning of 'role_id' is interpreted only by implementations of AclRpcService and is usually dependent on 'application_id' All fields except object_part are required. If present, object_part must be non-empty.
Represents a principal who possesses a signing key corresponding to the verification key or keyset described here.
Represents a principal which possesses a particular, presumably secret, string. Useful for things like "auth keys," used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it's best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka "attribute", is presented). All that's stored here is an identifying label.
SimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a "label", which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one "auth key". Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.
Represents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.
Represents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete -- e.g., Keystore does not support it yet (see b/5703421).
See go/zwieback. New uses of Zwieback sessions must be approved via go/zwieback-request.
Sentence boundaries.
Attributes
-
begin
(type:integer()
, default:nil
) - -
cleanText
(type:String.t
, default:nil
) - A clean version of .text() generated by using CleanText() and stripping unnecessary whitespace. -
context
(type:String.t
, default:nil
) - Plain text context from the page within which the annotation occurred. -
contextBegin
(type:integer()
, default:nil
) - Byte offsets for the clean text context above. -
contextEnd
(type:integer()
, default:nil
) - -
end
(type:integer()
, default:nil
) - -
info
(type:GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t
, default:nil
) - Used for application-specific information about this annotation. -
text
(type:String.t
, default:nil
) - Original UTF-8 document text occurring in the range [begin, end). -
toIndex
(type:boolean()
, default:nil
) - Used to mark the annotations selected to be indexed.
This proto contains the sentiment and emotions that the user is exhibiting at the time of the query. NEXT ID: 4
The set of behavior signals that the user is expressing/demonstrating that is detected by the sentiment analysis. These signals are used to help assistant determine the proper response behavior. NEXT ID = 2
Basic emotions. NEXT ID: 7
This message represents shingle-related information obtained from a document.
This message represents a source of shingles. Used by ShingleInfoPerDocData.
Images inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.
Images from the product-level representation (i.e. GPC). These images are currently only annotated 1) when no offers are available 2) on the product level
Information about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7
Versioning Information used for Logging Purposes. See go/sori-logjoining.
Note: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.
Attributes
-
DEPRECATEDAnchor
(type:String.t
, default:nil
) - -
DEPRECATEDRunningAnchor
(type:boolean()
, default:nil
) - -
DEPRECATEDTitle
(type:String.t
, default:nil
) - -
displaytitle
(type:String.t
, default:nil
) - -
score
(type:integer()
, default:nil
) - optional, exclude to save space -
url
(type:String.t
, default:nil
) -
This message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it's for lowend mobile.
For legacy purposes, cdocs contain a repeated list of *Entry, whereas it's more convenient elsewhere to contain this information within its own protocol buffer.
A simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.
Attributes
-
boundingBox
(type:GoogleApi.ContentWarehouse.V1.Model.SnapshotBox.t
, default:nil
) - -
isExternal
(type:boolean()
, default:nil
) - An image is considered external iff both: 1. The image appears in a link that is not in the same org as the document, or the target URL is in a different org. 2. The image src is not in the same org as the document. -
url
(type:String.t
, default:nil
) - The absolute url of the image as present in the page.
Attributes
-
imageNode
(type:list(GoogleApi.ContentWarehouse.V1.Model.SnapshotImageNode.t)
, default:nil
) - -
metaNoPreview
(type:boolean()
, default:nil
) - -
metaNoSnippet
(type:boolean()
, default:nil
) - These are set from tags in the web page: -
teradoc
(type:GoogleApi.ContentWarehouse.V1.Model.TeragoogleDocumentInfo.t
, default:nil
) - If this is present it supercedes all the above data. -
textNode
(type:list(GoogleApi.ContentWarehouse.V1.Model.SnapshotTextNode.t)
, default:nil
) - -
title
(type:String.t
, default:nil
) -
Attributes
-
countDistinctResources
(type:integer()
, default:nil
) - The number of distinct resources fetched to render the content. This may aid the calculation of total page load time for user experience. For example, if total_content_length is only a few dozen kilobytes, but that is from fetching 100 distinct resources, total page load time might be much higher than the total_content_length would otherwise infer. -
crawlTimestamp
(type:String.t
, default:nil
) - The time at which the main resource of the Snapshot was fetched, in seconds since epoch. Note that the various page dependencies may have been fetched at much earlier points in time (hours, maybe days) and that this could be off from the actual rendering time. -
snapshotDocument
(type:GoogleApi.ContentWarehouse.V1.Model.SnapshotSnapshotDocument.t
, default:nil
) - -
snapshotQualityScore
(type:number()
, default:nil
) - The score here corresponds to the score in Snapshot, a number between 0.0 and 1.0 (higher the better). -
totalContentSize
(type:String.t
, default:nil
) - Number of bytes fetched to render the content. For example, to render a web page, this value would include the HTML, stylesheets, images, and all other dependencies. This can be used to calculate a coarse estimate of the total page load time a user might experience.
The SnapshotDocument contains a list of TextNode's. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.cc
Attributes
-
candidateInfo
(type:list(GoogleApi.ContentWarehouse.V1.Model.SnippetExtraInfoSnippetCandidateInfo.t)
, default:nil
) - Candidates are ordered by their id. -
containUserQuotes
(type:boolean()
, default:nil
) - Indicates that the snippet candidates all contain uesr quotes. -
containVulgarCandidates
(type:boolean()
, default:nil
) - Indicates if there are any vulgar snippet candidates. -
disableNg3Scoring
(type:boolean()
, default:nil
) - Indicates that SR side should disable the ng3 scoring and soly rely on the SnippetBrain scoring for selecting the final candidate. E.g. this can happen when the offline snippet generation routine is triggered. -
disableQueryFeatures
(type:boolean()
, default:nil
) - Indicates whether the query relevance features is disabled or not in Muppet scoring. -
forceLeadingTextOrMeta
(type:boolean()
, default:nil
) - Indicates to not add any new candidates in SnippetFlow. -
snippetBrainSelectedCandidateIndex
(type:integer()
, default:nil
) - Snippet candidate index selected by snippet brain model. This field will get populated in SnippetFlow in superroot. go/snippets-brain -
snippetsbrainModelInfo
(type:GoogleApi.ContentWarehouse.V1.Model.SnippetExtraInfoSnippetsBrainModelInfo.t
, default:nil
) - SnippetsBrain model information for snippets popup debug.
The extended version of this snippet.
Log model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.
Leading text which may consist of multiple pieces.
Attributes
-
begin
(type:integer()
, default:nil
) - A piece of leading text is text within [begin, end). For example, a document is "ABCDEF". If we want to set leading text as 'CD', the value of begin is byte offset of 'C', the value of end is byte offset of 'E'. end == -1 means to the end of document. -
beginText
(type:String.t
, default:nil
) - UTF8 text, for alignment when using reusableinfo. Those text are not available in docjoins. -
end
(type:integer()
, default:nil
) - -
endText
(type:String.t
, default:nil
) - -
matchedPattern
(type:String.t
, default:nil
) - Matched dom path string for debugging.
Attributes
-
beginPos
(type:integer()
, default:nil
) - Leading text start position, byte offset of page content. The offset is got in ParseMaster. So it is the offset after the content is converted to UTF8. -
leadingtext
(type:list(GoogleApi.ContentWarehouse.V1.Model.SnippetsLeadingtextLeadingTextAnnotation.t)
, default:nil
) - Note: You can also use it to save multiple leading text candidates. -
text
(type:String.t
, default:nil
) - UTF8 text, for alignment when using reusableinfo. The text is not available in docjoins. -
type
(type:String.t
, default:nil
) - Type of leading text which is optimized for this type of document.
An Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.
Formatting information for a segment.
Hashtag metadata, for HASHTAG segments. For a hashtag, the "text" field should contain the display text, and the search_text field should represent the topic being referenced, without the hash symbol; for example, we might have: text = "#Google" hashtag_data.search_text = "Google" Another example: text = "#pikachu" hashtag_data.search_text = "Pokemon" Both strings should be considered part of the searchable text. In go/sbe, both are indexed and searchable.
Link metadata, for LINK segments. Anchor text should be stored in the "text" field of the Segment, which can also serve as a fallback.
SearchLink metadata, for SEARCH_LINK segments. For a search link, the "text" field should contain the display text. This is currently not indexed.
Attributes
-
formatting
(type:GoogleApi.ContentWarehouse.V1.Model.SocialCommonFormatting.t
, default:nil
) - Formatting to be applied when rendering the Segment. For all segment types, this is the standard way of representing that the Segment should be rendered in bold, italics, etc. -
hashtagData
(type:GoogleApi.ContentWarehouse.V1.Model.SocialCommonHashtagData.t
, default:nil
) - For HASHTAG type: -
linkData
(type:GoogleApi.ContentWarehouse.V1.Model.SocialCommonLinkData.t
, default:nil
) - Type-specific metadata. At most one of these should be populated, and the one that is populated should correspond to the type of the Segment. For LINK type: -
searchLinkData
(type:GoogleApi.ContentWarehouse.V1.Model.SocialCommonSearchLinkData.t
, default:nil
) - For SEARCH_LINK type: -
text
(type:String.t
, default:nil
) - Text content of the Segment. As a general rule, this field should contain the actual text that should be rendered in the UI. Thus, for a hashtag, it should be "#Foo", and for a link, it should be the display text. Clients that do not understand a particular segment type may use this text, along with the Formatting info below, as a fallback for display. The field is not required -- if all relevant information is carried in other metadata fields and there is no need for a fallback, or it is not practical for a fallback to be provided for any other reason, the field may be left blank. A standard example would be a user reference being transmitted between server layers, where a gaia-ID representation may be sufficient and there is no need for a textual fallback. In such a case, it would be valid and useful - though not required - for servers to compute and populate a fallback on the serving path. -
type
(type:String.t
, default:nil
) - Type of Segment. -
userMentionData
(type:GoogleApi.ContentWarehouse.V1.Model.SocialCommonUserMentionData.t
, default:nil
) - For USER_MENTION type:
Segments (go/social-segments) represent structured social content, e.g. the contents of a G+ stream post or chat message. A single post or message may consist of a sequence of segments, each representing a type of content, e.g. plain text, hash tag, mention, etc. Segments correspond approximately to units of content delimited by HTML tags, so that a piece of bolded text would be a distinct Segment, a link would be a distinct Segment, and so forth. A single Segment may have multiple such qualifiers; e.g. it may be a bold link; in this case, information about all such qualifiers will be encoded in the Segment proto.
Person metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations -- that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.proto
An entity key with an obfuscated gaia id that can be used externally.
Contains a mimetype supported by a third-party app together with additional ids and other data that the apps use to complete the action for the given mimetype. For example, an app_specific_endpoint_id that corresponds to a WhatsApp Profile. Full Design: go/3p-contact-upload LINT.IfChange
The ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact create was performed.
The ContactDeletionContext message is a wrapper around the generic ContactMutationContext data, and will include any needed delete specific data. NOTE: Before using this message please review go/people-api-contact-deletion-context
The ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact edit was performed.
This message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).
Contact state and related metadata. See go/fbs-contacts-trash.
Pattern for a DAILY (or every N day) recurrence. Time of the day that the notification will occur is taken from the Prompt that owns this recurrence. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Settings that control how a SIBS decoration overlay is displayed.
Represents a delegated group id, delegated groups refer to groups that are owned by another gaiaId, but this user has access to.
A reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service.
Attributes
-
partialNameOptions
(type:GoogleApi.ContentWarehouse.V1.Model.SocialGraphApiProtoPartialNameOptions.t
, default:nil
) - Required. Describes which shortening option the user implicitly chose for their limited profile. E.g., if 'John Doe' chose 'John D.', they implicitly chose: partial_name_options { given_name_spec { show_all: true } family_name_spec: { show_initial: true truncation_indicator: PERIOD } } While we'll in all cases serve the actual name chosen by the user for limited profiles (stored below), we'll use this information to recompute the default limited profile to be rendered to users when they change their core name. -
verbatimFullName
(type:String.t
, default:nil
) - The actual textual name that was chosen by the user in the UI. E.g., if 'John Doe' chose 'John D.', this holds 'John D.'. Whilepartial_name_options
allows the limited profile name to be computed from the core name, the resulting shortened name might change across different versions of the name shortening logic, and we want to preserve the user's choice verbatim whenever possible. This field will be cleared when the two conditions below are met: (1) A successful core name change is not accompanied by a limited profile settings update and (2) The shortened name computed frompartial_name_options
yields a different result than what is originally stored inverbatim_full_name
. When this happens, the limited profile is effectively disabled. E.g., if 'John Doe' from the example above changes their name to 'Jane Doe' and no LimitedProfileSettings are provided,Jane D.
is the resulting shortened name. Thereforeverbatim_full_name
will be cleared and the limited profile settings will be disabled. On the other hand, if they change their name toJohn Dõe
, the resulting shortened name remainsJohn D.
, andverbatim_full_name
is kept as is.
Pattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. Absolute days of the month (i.e. the 1st and 15th) 2. Relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
A MONTHLY recurrence can be one of a MonthlyDayRecurrence or MonthlyWeekdayRecurrence but not both. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Pattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. The nth specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Metadata for a user's name pronunciation audio. Proto message is shared between merged_person and FBS.
Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
For general information about Limited Profiles, see go/limited-profiles-api. LINT.IfChange
Specifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.
These options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50&rcl=334484707 In general, when parsing display names the following rules will apply to all specs: - Hyphenated names are broken down: "Angelina Jollie-Pit" is pre-processed as "Angelina Jollie Pitt"; - Prefixes are ignored: "Prof. Albus Dumbledore" is pre-processed as "Albus Dumbledore"; - Auxiliaries are ignored: "Luís de Camões" is pre-processed as "Luís Camões". Next ID: 8
Holds the name specs for the two parts of a name, as they are structured in storage (given and family).
Settings that control how a photo overlay is displayed.
Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) and in Custard response to client apps that read Prompts.
Design doc: go/pronouns-backend Represents a user's preferred pronouns.
Attributes
-
languageCode
(type:String.t
, default:nil
) - Locale option in which the pronouns were set, in the BCP-47 format. Set by the client at write time. -
pronounType
(type:String.t
, default:nil
) - The pronoun entry type that the user has selected. This indicates which locale-independent classification of pronoun was selected (or optionally, if it is a custom field). -
value
(type:String.t
, default:nil
) - The user's preferred pronouns. Eg. "they / them". This is a human-readable string to be displayed as the user's pronoun. Set at write-time, regardless of pronoun-type. Value is returned as it was set (no localization).
Stores the pronunciation as phoneme for the given word/text. Next ID: 8
Container proto for repeated pronunciation objects. For example, a set of pronunciations that can be added to a single name field.
Flexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5Cb
An internal message to signal that this recurrence has no end date.
Position relative to the user's avatar. 0 = top/left, 1 = bottom/right.
Scale relative to the user's avatar. x and y range from 0 (exclusive) to 1 (inclusive).
Data contained in every search profile. go/janata-profile-in-sgbe.
Wraps information about a user's eductational background.
This proto represents either a KG-entity, as represented by it's MID, or free-string text.
Wraps information about a user's location, if they have chosen to share it on their SearchCard.
This proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,
Wraps social profile information about the user.
Attributes
-
changeTimestamp
(type:DateTime.t
, default:nil
) - Timestamp of when the state was changed. -
displayTimestamp
(type:DateTime.t
, default:nil
) - This will be used to display status to the user at a set time. If set to a value afterchange_timestamp
, the change will not be 'reflected' until this time. -
type
(type:String.t
, default:nil
) - State that the UserProfile was changed to.
Wraps information about a user working at a specific place.
This prompt will occur one time only. Could be a single event such as a graduation or a single connection reminder e.g. remind me to call X on 2022/03/19. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Attributes
-
clientName
(type:String.t
, default:nil
) - Not to be used. We have since moved to a lookup string at read time approach as opposed to storing data at write time. b/146072927 -
projectNumber
(type:String.t
, default:nil
) - Project number of the third party application performing the delete to be looked up via ClientAuthConfig during display time for users to know the current name of an application which has deleted contact data.
Usage information. This is currently used for device contacts. Next ID: 3
Pattern for a WEEKLY recurrence. You must specify at least one week_day. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Pattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: "Every January 16" : monthly_pattern { monthly_day_recurrence { month_day: 16 } } months: JANUARY "Fourth Thursday of November and December" : monthly_pattern { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 4 } } months: NOVEMBER months: DECEMBER Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)
Extra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.
Waldo-related extension data.
Dynamite-related extension data.
Next tag number: 3
Attributes
-
familyStatus
(type:String.t
, default:nil
) - Whether the person is in the same family as the requesting user. Family here refers to https://families.google.com/families. This information is read from SuperGlue, and can be consumed by clients, e.g. Assistant and Photos. If this field is not set, the person is not in the user's family. -
hiddenKeys
(type:list(GoogleApi.ContentWarehouse.V1.Model.SocialDiscoveryExternalEntityKey.t)
, default:nil
) - The full list of hidden keys associated with this person. These are the external equivalent to the keys stored by the ConnectionLabelService, and they can be passed to the MutateConnectionLabel endpoint to unhide this person. This field will only be set if hide_type is HIDDEN. -
hideType
(type:String.t
, default:nil
) - If this field is not set, the person is visible (implicit).
Restrictions that affect the delivery of the stanza. By default, Stanzas are publishable, which means that they are eligible for indexing, aggregation, and other delivery options (Goops, Moonshine, notifications). A stanza can be created in a "do not publish" state; the stanza will not be published anywhere. The restriction can subsequently be removed with an UpdateStanza call, at which point the post will be treated as if it were newly created. A few notes/limitations about this option: 1. Client should keep a stanza unpublishable for a small period of time (if possible to) so that our ranking system does not consider this as a stale post (thus downranking the post). 2. Client should keep the number of unpublishable stanzas to a minimum, to reduce under-serving. 3. Updating a stanza from publishable to unpublishable after creation is not supported 4. At this time, publishing options are only supported on root stanzas; let us know if you require this for child stanzas. 5. Similarly, this is only supported as a global restriction. It may not be set as a per-destination-stream restriction.
ModerationInfo stores the information of moderation for a stanza in a specific destination stream. Including who moderated and why.
Contains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: - Abusive - Legal - Racy - Content not suitable for age - Porn - Blocked by country/geo of viewer. - Restricted by stanza creator (not the user specific block). - etc... Please see go/stanza-abuse-flow for more details.
This holds SpamBrain values which will be populated to docjoins & muppet. Proto is copied from spam_brain::SpamBrainData and populated at sitechunked site level (as opposed to the spambrain page classifier score).
Message representing versioned scores
This protocol buffer indicates actions that we take based on Cookbook recipes (see http://cookbook/) matching a particular document.
Response proto for the LangId service running on a Greco server in prod. Next Tag: 6
A general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.
go/entity-authority NB: currently all facts associated with Authority Feedback are externally traceable to the requests from which they originate.
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
Metadata fields for LMS. See go/lms-online-restrictions for details.
Metadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there's no specific restrictions associated with the missing attribute. For example, if availability_start_timestamp
is not set, the data won't be embargoed automatically; if availability_end_timestamp
is not set, they won't expire automatically. LINT.IfChange
Attributes
-
attributionUrl
(type:list(String.t)
, default:nil
) - Publicly-visible URLs claiming this fact. Can not be empty -- at least one URL must be provided. -
lastVerifiedDate
(type:String.t
, default:nil
) - Most recent date at which 'attribution_url's were verified, as UNIX epoch time in milliseconds. This is required.
Metadata fields for Real World Journey. See go/rwj-kg-dg for details.
A fact about potentially sensitive personal info (http://what/SPII) can be "certified" iff it meets specific requirements. See go/kg-spii-certification for details.
a message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22
Metadata fields for UMP. A piece of data satisfies UMP policy if: (data access region is in the regions_allowed
list) AND (data access time >= availability_start_timestamp) AND (data access time < availability_end_timestamp)
LINT.IfChange Next ID: 101
Attributes
-
areaCode
(type:String.t
, default:nil
) - The local "area code", if there is such a concept. -
countryCode
(type:integer()
, default:nil
) - The international direct dialing code for the country, as per ITU E.164: http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.html -
extension
(type:String.t
, default:nil
) - Extension (to be dialed after connection). -
nationalPrefix
(type:String.t
, default:nil
) - To call this number from within the same country, the national call prefix may be necessary. This is 1 in the US, 0 in the UK, etc. In the US, it's reasonable to omit the leading 1 when writing the number, but in other countries it is less optional. -
number
(type:list(String.t)
, default:nil
) - The actual number, broken down into sections as per local convention. Note that the actual formatting of these sections (hyphen vs space, usage of parentheses) will vary according to local custom.
The docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It's not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37
Misc. attachments to be added to the dynamic repository the docservers build. These override any attachments created by parsing the GDocumentBase.
Sections to be added to the dynamic repository the docservers build. 'tokens' is either a sequence of tokens encoded using the TokenSequenceEncoder (MDU), or a TokenspaceRepository (depends on what's set in section_type. If 'doc' is present, then the contents of these sections override what was created by parsing 'doc'.
Compression type to be applied to section/attachment.
Data related to title sizing calculations in Muppet.
DO NOT USE THIS FOR ANYTHING LIVE WITHOUT PERMISSION! If you want to use this for anything user-facing file a logs-access ticket describing what you want to do. This data is currently only available in the freshdocs pipeline, so it will only be present in instant mustang and certain librarian shards. Email freshdocs-indexing with questions.
Airline contact info grouped by country.
Airline contact info grouped by language. The language locale subcode will determine the country.
ClientServiceInfo is meant for trawler/harpoon clients which are in turn services to store some data specific to their clients. E.g., Kodachrome may serve multiple other clients. In this case they can store their client name here. Webmirror may also store the feed name here even though a feed is technically not a service client. ClientServiceInfo is in nature similar to ClientInfo, except it's stored in FetchReplyData (i.e., trawler logs), whereas ClientInfo is copied to FetchReply (outside FetchReplyData), thus it's not stored in trawler logs.
ClientLabels contains client-specified key/value pairs, used to annotate individual FetchRequests and FetchReplies. This is primarily useful when the Multiverse Nexus performs postprocessing of fetchreplies. ClientLabels essentially allow clients to use the Nexus UI to slice statistics computed on fetchreplies by the specified key/value pairs. Note: we don't use "map" type here delibrately in order to avoid the non-deterministric serialization of the "map" field. See b/69064361 for more details.
===================== Beginning of Deprecated Part ======================
Parsed version of a Content-Range field, which in http might look like: Content-Range: bytes 500-999/3156
This is similar to CrawlDates group in FetchReplyData, except that 1) it's a message; 2) it's filled in each Redirects hop; and 3) the timestamps are in ms rather than seconds since Unix Epoch.
Event is for logging interesting events that happen during a url fetch. Interesting events include "fetch start", "url rejected", etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.
Fetcher -> FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: - cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields - tlookup, tlookup_server: want to be able to return the new fields - logviewer, fetchutil: annoying to get back 'tag88:' in results -------------------------- Next Tag: 125 -----------------------
Reuse information returned if UrlState == CRAWLED, specifying when we may have reused from cache. See also ReuseInfo below. NOTE: Please use the CrawlTimes below. CrawlDates is deprecated. use CrawlTimes instead!
Depending on which Data Acquisition API the client uses, the fetched content can be delivered to the client in the RPC, via Goops, or copied to the client's storage system (possibly after transformation). In the latter case, DeliveryReport will contain info about the delivery status, such as whether we have permission error, whether the destination storage is out of quota, etc).
The fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.
Records stats about state changes on the client side if there're any. For example, there's a state of cache lookup when using private-cache client library.
The following are only populated if Params.WantStateStats is true.
---------------------------------------------------------------------- PartialResponse is used with streaming responses in LargeFileFetchAdapter. Rather than fitting entirely in a single FetchReply, there is a series of FetchReplies until IsFinalResponse. Each group of responses will have a unique FetchID to link them.
Group with protocol specific response (determined by the protocol of the url that generated the content we return).
The sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects followed, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.
WebIO is the new hostload model introduced in 2023. It measures the occupancy of 1 outgoing fetch connection for 1 minute.
Attributes
-
Reason
(type:integer()
, default:nil
) - The Reason field gives further clarifying details about why or how the fetch had the given outcome. For instance, if State is URL_ERROR - was it a 404/NotFound or a DNS error? The Reason field is present iff State != URL_CRAWLED. For a given crawl status of URL_FOO, the Reason value will be one of the various FetchFooReason enum values from crawler/trawler/trawler_enums.proto -
State
(type:String.t
, default:nil
) - The State field describes the basic outcome of a fetch (URL_CRAWLED, URL_ROBOTED, URL_ERROR, etc). The value is one of the UrlStatusType enum values from crawler/trawler/trawler_enums.proto Note, there are several combinations of this Status/Reason tuple that could mean that your content is crawled or can be bucketed in a particular type of error. So instead of comparing the enumeration values manually, we suggest to use the predicate functions such as IsContentCrawled() provided in crawler/trawler/public/basictypes.h (see details there).
============================ Next Tag: 22 ============================ Data about the scheduling host bucket a URL was in (if the client wants to use this, e.g. for more intelligent scheduling, etc).
Per each list that wishes to schedule url we return one of these
Information about VPC fetches tracked for logging purposes.
Contain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.
The information about the original client who starts the request.
Trawler can add a policy label to a FetchReply. The two main cases are: - "spam" label added for specific spammer IPs listed in trawler_site_info, which most crawls auto-reject. - "roboted:useragent" (e.g. "roboted:googlebot") if InfoOnlyUserAgents field is set in FetchParams
This protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. -------------------------- Next Tag: 13 -------------------------------
To keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).
This is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added after the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 47
Information about the result support for a given interpretation.
Information about provenance of a result support.
Url poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6
Wire-format for a Status object
------------------------------------------------------------------------------ Proto message containing the trusted genome entities that belong to an app. Document type: ANDROID_APP See go/gd-server-design for more info. ## Next tag: 4
Proto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12
Proto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5
Proto message containing policy related information.
Attributes
-
channelMap
(type:list(integer())
, default:nil
) - Maps channel indexes of an audio stream to indexes corresponding to the specified ambisonics channel ordering scheme. For example: A 1st order pheriphonic ambisonics format is configured with 4 audio channels corresponding to ambisonic components W, X, Y, Z respectively. The channel_ordering scheme is specified as CHANNEL_ORDERING_ACN (which implies a W, Y, Z, X ordering). Therefore the channel_map is [0, 3, 1, 2]. -
channelOrdering
(type:String.t
, default:nil
) - -
nonDiegeticStereo
(type:boolean()
, default:nil
) - -
normalization
(type:String.t
, default:nil
) - -
numChannels
(type:integer()
, default:nil
) - -
order
(type:integer()
, default:nil
) - -
type
(type:String.t
, default:nil
) - -
version
(type:integer()
, default:nil
) -
Valid fields in ACL are "mdb/groupname", or "user/username", e.g., "mdb/youtube-prod", or "user/alice".
Describes ingredient level settings. Clients are authoritative in defining Settings. See go/venom-trustme for how Settings and ProcessingCharacteristics work together. If your Settings extension contains PII fields, please 1) Annotate them appropriately with DataPol, and 2) Add your BUILD target to google3/video/assets/venom/proto/settings/BUILD:pii See google3/video/assets/venom/proto/settings/ for extension messages.
As video mutations are reconciled by Venom, we can tell if the ingredient did or did not reach certain objectives. When processing has completed, all objectives will have a corresponding transition. All transitions are reset for every mutation, but will take into account assets outside of that mutation. For example, if Asset X fails, and was part of "OBJECTIVE_PRIMARY_ASSETS_DONE", a rerun of Asset Y is destined to result in OUTCOME_FAILED, regardless of the fate of Asset Y. Some phenonema have effects on most or all Objectives. For example, a bad input file will result on OUTCOME_INFEASIBLE across the board (eventually, for now it's just GO_LIVE and DO_ALL, work in progress), and a failure to produce Format 18 will cause OUTCOME_FAILED across most Objectives.
A VideoId is the unique identifier of a video. Privacy: VideoIds are visible in logs, notifications, etc and must not contain PII.
Next tag: 10
Generic clip information contains a key string and a value string.
Contains anchor level features that apply to all anchor types. Next id: 22.
When an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.
Properties of the thumbnail image to show for an anchor.
Attributes
-
colorEntropy
(type:number()
, default:nil
) - Entropy of the clustered color distribution. -
imageData
(type:GoogleApi.ContentWarehouse.V1.Model.ImageData.t
, default:nil
) - Thumbnail image data for SafeSearch classification. -
isUnsafe
(type:boolean()
, default:nil
) - Convenience field that consolidates signals for whether this thumbnail is safe. -
starburstV4Embedding
(type:GoogleApi.ContentWarehouse.V1.Model.DrishtiDenseFeatureData.t
, default:nil
) - 64d float vector of starburst v4 embedings. -
thumbnailBytes
(type:String.t
, default:nil
) - The raw data for a thumbnail.
Contains anchor set level features that apply to all anchor types.
Attributes
-
hasMissingStarburst
(type:boolean()
, default:nil
) - Whether or not any of the anchor thumbnails have missing Starburst embeddings. -
hasMissingThumbnails
(type:boolean()
, default:nil
) - Whether or not any of the anchors have missing thumbnails. -
thumbnailDiversity
(type:number()
, default:nil
) - A score representing how diverse a set of thumbnails is. This is currently defined as one minus the median pairwise cosine similarity between thumbnail Starburst embeddings.
Product aspect.
Contains token-level information about ASR captions.
Contains features needed for Bleurt inference.
Features and debug info for individual caption entity video anchors.
Features and debug info for clusters of caption entity video anchors.
Contains information about document appearances of an entity.
Contains transcript-level data about a video whether it comes from ASR or closed captions.
Contains timing and text for a given label.
Attributes
-
dolphinFeatures
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchSpanDolphinFeatures.t
, default:nil
) - The features used to construct the inference example. -
dolphinScores
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchSpanDolphinScores.t
, default:nil
) - The inference result from the Dolphin span model. -
embeddingDistance
(type:list(number())
, default:nil
) - Embedding distances (e.g. cosine distance) to the other anchors of the same video. -
postGapInMs
(type:integer()
, default:nil
) - Time gap in ms to the next anchor. Always positive number. -
preGapInMs
(type:integer()
, default:nil
) - Time gap in ms to the previous anchor. Always a positive number. -
saftBeginTokenIndex
(type:integer()
, default:nil
) - The range of tokens in video_info.saft_doc for the anchor label. -
saftEndTokenIndex
(type:integer()
, default:nil
) - -
saftTranscriptEndCharOffset
(type:integer()
, default:nil
) - -
saftTranscriptStartCharOffset
(type:integer()
, default:nil
) - The range of characters in video_info.saft_transcript for the anchor label. -
spanAsrConfidenceStats
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchMetricStats.t
, default:nil
) - A summary of the ASR confidence for the selected candidate. -
spanDolphinScore
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchMetricStats.t
, default:nil
) - A summary of the Dolphin span token scores for the selected candidate. -
wordCount
(type:integer()
, default:nil
) - Word count of the span text, tokenized with SAFT.
A message containing set-level comment anchor features. Next ID: 3
A structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8
Attributes
-
entityTextCoverage
(type:number()
, default:nil
) - When the description anchor text has been recognized as an entity, how much of the description anchor text is covered by the entity mention. -
inAsr
(type:boolean()
, default:nil
) - Whether or not a mention of the description anchor exists in the ASR. -
isDescriptionAnchor
(type:boolean()
, default:nil
) - Whether or not the anchor was created from the description for use in training data. This will be set to true for positive examples and false for negative examples. -
spanToAsrTime
(type:integer()
, default:nil
) - The distance from the ASR sentence to the description anchor time in ms.
Attributes
-
asrAnchorCount
(type:integer()
, default:nil
) - The number of description anchors that were matched to captions in the ASR. -
asrAnchorFraction
(type:number()
, default:nil
) - The fraction of anchors that were matched to captions in the ASR. -
uniqueAsrMidCount
(type:integer()
, default:nil
) - The number of unique mids which where matched to description anchors.
Metadata about the span when the anchor source is description span.
Contains information about the scores from each individual dolphin ensemble model.
Attributes
-
altQuery
(type:String.t
, default:nil
) - The alt query used for building the Dolphin example. -
answer
(type:String.t
, default:nil
) - The answer used for building the Dolphin example. -
query
(type:String.t
, default:nil
) - The query used for building the Dolphin example. -
timeMs
(type:String.t
, default:nil
) - The time stamp of the video anchor in milliseconds. -
title
(type:String.t
, default:nil
) - The title used for building the Dolphin example. -
url
(type:String.t
, default:nil
) - The url of the video.
Attributes
-
descriptivenessOutputKey
(type:String.t
, default:nil
) - The output put keys for Dolphin PredictResponse -
ensembleModelNames
(type:list(String.t)
, default:nil
) - If the dolphin model is an ensemble model (e.g. Video QnA model which consists of 4 teacher models), stores each individual model name. -
inferenceBatchSize
(type:integer()
, default:nil
) - The inference batch size to use for inference methods that handle batching. -
inferenceMethod
(type:String.t
, default:nil
) - The method to use for inference. This must be set or inference will fail. -
maxRpcRetries
(type:integer()
, default:nil
) - Holds value of flag --max_rpc_retries. -
modelName
(type:String.t
, default:nil
) - Model name used for ModelSpec in PredictRequest used in the PredictionService API. -
modelPath
(type:String.t
, default:nil
) - Only used when using the bulk_inference API. See go/dolphin-models to learn about the different dolphin models. -
outputKey
(type:String.t
, default:nil
) - TODO(alexiaxu) To deprecate this field in the future Output key for Dolphin PredictResponse. -
rpcDeadlineSeconds
(type:float()
, default:nil
) - Holds value of flag --rpc_deadline (converted to seconds). -
serviceBns
(type:String.t
, default:nil
) - Tensorflow inference BNS address when using PredictionService API. -
usefulnessOutputKey
(type:String.t
, default:nil
) -
Entity annotations for one of the mids representing an anchor label or a query text.
Frame-level similarities info for each topic for an interval of frames.
Starburst frame-level dense data.
The inference result features coming from the prediction service that generates the topics.
Anchor-level Metadata about Instruction anchors. TODO(keyvana) Update this proto.
Anchor-level metadata about the instruction anchors. Each instruction passage anchor can contain multiple instruction steps and multiple description anchors and thus the following fields are defined as repeated.
Anchor-level Metadata about list description anchors.
Cluster-level Metadata about list anchors. Next id: 15.
Anchor-level metadata about the description anchors used as list items to build training data for list anchors.
Cluster-level metadata about the description anchors used as list items to build training data for list anchors.
Median, mean and standard deviation of a feature value.
Multimodal features for a single generated topic. Next ID: 8
Multimodal features for a single generated topic used to build training data.
Message for SAFT named entities.
Features for queries generated using document navboost data with timed anchors.
Contains OCR text, its start time and additional details about position/fonts
Attributes
-
minCharEditDistance
(type:integer()
, default:nil
) - The minimum char edit distance between the normalized OCR text and candidate word strings taken from a time window around the OCR appearance. -
minCharEditDistanceAsrText
(type:String.t
, default:nil
) - The matched ASR candidate for minimum char edit distance. -
minCharEditDistancePercent
(type:number()
, default:nil
) - The min_char_edit_distance divided by the length of the OCR string. -
ocrTextNormalizedForCharMatch
(type:String.t
, default:nil
) - The normalized OCR text which was used to match the candidate. -
ocrTextNormalizedForCharMatchLength
(type:integer()
, default:nil
) - The length of the normalized OCR text. -
pretriggerScore
(type:number()
, default:nil
) - The score from the pretrigger model. -
wordOverlapAsrText
(type:String.t
, default:nil
) - The ASR text that was used for the word overlap calculation. -
wordOverlapCount
(type:integer()
, default:nil
) - The number of words found both in the OCR text and the ASR in a time window around OCR appearance. -
wordOverlapPercent
(type:number()
, default:nil
) - The word_overlap_count divided by the number of words in the OCR text.
Attributes
-
normalizedWordOverlapScore
(type:number()
, default:nil
) - The word_overlap_score divided by the greatest word_overlap_score for any cluster in the VideoAnchorSets. -
wordOverlapScore
(type:number()
, default:nil
) - A score based on the number of overlapped words between the OCR and ASR for anchors in the cluster.
Metadata about the join of description anchors and OCR data which is used to build training data.
Metadata about the join of description anchors and OCR data for a set of description anchors.
Features for video level info.
Features for the set of OnScreenText.
Keep feature values which are useful to filter titles, labels.
QBST terms overlap features for the candidate query.
Features for individual Q&A anchors. Next ID: 23
Debug info for Q&A anchors. Next ID: 15
Rankembed neighbor neighbor features for the candidate query.
Saft named-entities info for a given topic.
Features for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34
Attributes
-
instructionStartMs
(type:integer()
, default:nil
) - The timestamp of when the first token in the token sequence is spoken in the video. -
instructionText
(type:String.t
, default:nil
) - The instruction step text coming from the web document. Currently only populated for best_description_and_instruction_anchors_match_info. -
referenceText
(type:String.t
, default:nil
) - The reference text used for matching against token_sequence (e.g. description anchor text or instruction step text). -
referenceTextTimeMs
(type:integer()
, default:nil
) - The timestamp of when the reference text is pointing in the video (e.g. this is the description anchor timestamp when reference_text is description anchor. For instruction step used as the reference, no timestamps exists and thus this field is not populated). -
scoringMethodName
(type:String.t
, default:nil
) - Similarity scorer name. -
similarityScore
(type:number()
, default:nil
) - The similarity score given by the scoring method specified by the message scoring_method_name. -
stepIndex
(type:integer()
, default:nil
) - The index of the step in HowToInstructions that this token_sequence corresponds to. -
tokenSequence
(type:String.t
, default:nil
) - The matched token sequence text in ASR. -
tokenSequenceLength
(type:integer()
, default:nil
) - The length of the tokens in the token sequence. -
tokenStartPos
(type:integer()
, default:nil
) - The token offset of the matched token sequence from the beginning of the document.
Attributes
-
spanCandidate
(type:list(GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchSpanDolphinScoresSpanCandidate.t)
, default:nil
) - The span candidates extracted from the list of span tokens. Each token is added to a span if its score is above a certain threshold. -
spanToken
(type:list(GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchSpanDolphinScoresSpanToken.t)
, default:nil
) - The token-score pairs for the passage.
Attributes
-
asrConfidenceStats
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchMetricStats.t
, default:nil
) - A summary of the token asr_confidence scores that make up the candidate. -
scoreStats
(type:GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchMetricStats.t
, default:nil
) - A summary of the token scores that make up the candidate. -
sourcePassage
(type:String.t
, default:nil
) - The passage text from which this span candidate belongs to. In case of description spans, this field stores the sentence containing the span candidate where the sentence is a subset of the passage used for generating the span candidate. -
text
(type:String.t
, default:nil
) - The span candidate text. -
timeMs
(type:String.t
, default:nil
) - The start time for the span candidate.
Attributes
-
asrConfidence
(type:number()
, default:nil
) - The ASR confidence for the token, if available. -
isSentenceStart
(type:boolean()
, default:nil
) - Whether or not this token is the first token in a sentence. -
score
(type:number()
, default:nil
) - A score correlated with the probability that the token is part of a span candidate. -
text
(type:String.t
, default:nil
) - The token text. -
timeMs
(type:String.t
, default:nil
) - The start time of the passage with this token.
Features for a set of Sports Key Moments (SKM) Anchors. Each instance of this object should be associated with a VideoAnchorSets object. Next ID: 3
Attributes
-
durationToPredictedTimeMs
(type:String.t
, default:nil
) - The time gap of the matched_time_ms from the predicted timestamp of when this anchor should appear in the video. -
matchScore
(type:number()
, default:nil
) - The float similarty score from the anchor label to matched_asr_text. -
matchedAsrStartPos
(type:integer()
, default:nil
) - The start token offset from the beginning of ASR where matched_asr_text starts. -
matchedAsrText
(type:String.t
, default:nil
) - The ASR text that was a candidate match for the list anchor. -
matchedAsrTimeMs
(type:String.t
, default:nil
) - The timestamp of the matched ASR in the video in milliseconds. -
matchedAsrTimeRatio
(type:number()
, default:nil
) - The ratio of the matched_asr_time_ms over the total duration of the video. -
matchedAsrTokenCount
(type:integer()
, default:nil
) - The number of tokens in matched_asr_text -
matchedDescriptionItemIndexRatio
(type:number()
, default:nil
) - The ratio of the video description item index this match corresponds to over the total number of list description items for the video. -
matchedDescriptionText
(type:String.t
, default:nil
) - The video description text matched with the ASR that's used as the anchor label. -
matchedDescriptionTokenCount
(type:integer()
, default:nil
) - The number of tokens in matched_description_text.
Attributes
-
hypothesisText
(type:String.t
, default:nil
) - The hypothesis text that was used for the token overlap calculation. -
hypothesisTextTime
(type:String.t
, default:nil
) - The time in ms for the hypothesis_text. -
referenceText
(type:String.t
, default:nil
) - -
scoringMethodName
(type:String.t
, default:nil
) - Similarity scorer name. -
similarityScore
(type:number()
, default:nil
) - The similarity score given by the scoring method specified by the message scoring_method_name. -
tokenMatchCount
(type:integer()
, default:nil
) - Token by token matching stats. Exact matched token count. -
tokenMatchPercent
(type:number()
, default:nil
) - The token_overlap_count divided by the number of tokens in the hypothesis text. -
wordAlignment
(type:list(GoogleApi.ContentWarehouse.V1.Model.VideoContentSearchTokenAlignment.t)
, default:nil
) - Word by word alignment.
Token by token mapping between hypothesis text and reference text.
Token level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5
Video level info for online pipeline usage. For example: skip pattern as defined in https://schema.org/SeekToAction.
Aggregated rating score, used in training pipeline, etc.
Message to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27
Used to store the label before label cleaning or other transformations. If the label goes through multiple transformations, the original_label vector will include the transformations in chronological order.
Aggregated set level rating score, used in training pipeline, etc.
One video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.
A video can have a list of text anchors, which have different anchor types. Next ID: 15
Message to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14
Contains video level features that apply to all anchor types.
Contains video level features for generated queries that are applied at the video level.
This message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31
Specifies whether a video has an introduction part that can be skipped. An introduction is the beginning part of a video that can be safely skipped without impacting user's understanding of the overall video content.
Video-level Multimodal features for generated topics. Next ID: 2
Video level scoring info.
Startburst visual tokens or features, more details in go/starburst-mum-user-guide
This message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChange
Decoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile & level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdf
A message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.
A message holding the equivalent of the content light level information in HEVC or its representation in matroska/webm. This gives coarse stats on the luminance levels in the content and may be used as a hint by algorithms & displays to tone map.
Information on Frame Packing arrangement
Stats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.
A message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.
Representation of a color coordinate in CIE1931 color space.
Globally allowed spherical meta data.
The cropping coordinates, in pixels.
Specifies usage of cubemap projection.
Specifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)
Specifies usage of mesh projection. "content" contains the mshp atom: version/flags, CRC, compression method, description of the mesh(es) (vertices, coordinates corresponding to each vertex, and vertex lists to describe the projection). See go/pir-spec for mshp atom data layout.
Specifies the compass heading, pitch & roll for the origin of the projection. The origin for the "equirectangular" projection is the center of the image. The origin for the other projection types is defined as the location in the image that corresponds to the origin of an "equirectangular" projection.
YT app video information. (go/yt-create-vsi-data)
Feel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChange
Next ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all --train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.
Audio stream description with no PII.
Data stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have data streams. Fields in proto are used to exclude clips with certain types of data streams.
Video clip info description with no PII.
Timed text stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have timed text streams. Add fields to proto if we want to only exclude clips with certain types of timed text streams in the future.
Video stream description with no PII.
Attributes
-
frameBlobRefs
(type:list(GoogleApi.ContentWarehouse.V1.Model.BlobstoreBlobRef.t)
, default:nil
) - The blobRef where the representative frame is stored. This is repeated in order to support multiple thumbnails in the future. -
frameFileList
(type:GoogleApi.ContentWarehouse.V1.Model.VideoThumbnailsFrameFileList.t
, default:nil
) - Video frame files (based on file_dir_to_save_frames parameter) -
frameTypeGenerated
(type:String.t
, default:nil
) - Frame type generated (VR/360/3D/default). -
generatedFromDrishtiThumbnailer
(type:boolean()
, default:nil
) - True if the thumbnails are generated from drishti_thumbnailer. -
highResPreviewThumbnailGenerated
(type:boolean()
, default:nil
) - -
hq720Generated
(type:boolean()
, default:nil
) - hq720.jpg is a 1280x720 pixel image generated only when the input video resolution is 1280x720 or higher. -
hqdefaultGenerated
(type:boolean()
, default:nil
) - The flags below indicate whether certain optional thumbnail images were generated. hqdefault.jpg is a 480x360 pixel high quality image which should normally be always generated. -
hvcBackupGenerated
(type:boolean()
, default:nil
) - True if a set of backup HVC thumbnails is generated. -
improvedVerticalGenerated
(type:boolean()
, default:nil
) - True if the thumbnails are generated with background crop and scrim. -
maxresdefaultGenerated
(type:boolean()
, default:nil
) - maxresdefault.jpg is an image of the same resolution as the input video. It is generated only when the input video is significantly higher-resolution than 640x480. -
maxresdefaultHeight
(type:integer()
, default:nil
) - Height of the generated maxresdefault thumbnail. -
maxresdefaultWidth
(type:integer()
, default:nil
) - Width of the generated maxresdefault thumbnail. -
movingThumbnailGenerated
(type:boolean()
, default:nil
) - True if moving thumbnails are generated. -
privateThumbnailsGenerated
(type:boolean()
, default:nil
) - True if private thumbnails were generated and stored in the thumbnail database. -
publicThumbnailsGenerated
(type:boolean()
, default:nil
) - True if public thumbnails were generated and stored in the thumbnail database. -
rerunStatus
(type:String.t
, default:nil
) - Analysis result of running the rerun thumbnailer -
sddefaultGenerated
(type:boolean()
, default:nil
) - sddefault.jpg is a 640x480 pixel image generated only when the input video resolution is 640x480 or higher. -
storyboardGenerated
(type:boolean()
, default:nil
) - This flag indicates if storyboard mosaic images were generated and stored in the thumbnail database. -
storyboardNumLevels
(type:integer()
, default:nil
) - Number of levels of storyboard generated (0 if policy default). -
storyboardPolicy
(type:integer()
, default:nil
) - Policy number that governed the storyboard generation. If zero, no policy was used and the storyboard format is not fully specified by the parameters contained in this message. -
storyboardVersion
(type:integer()
, default:nil
) - Version of the storyboard. -
storyboardVideoDurationMs
(type:integer()
, default:nil
) - Video duration of the video. -
storyboardVideoHeight
(type:integer()
, default:nil
) - Height of the video that was storyboarded. -
storyboardVideoWidth
(type:integer()
, default:nil
) - Width of the video that was storyboarded. -
webpGenerated
(type:boolean()
, default:nil
) - This flag indicates if images in WebP format were created and stored in the thumbnail database.
Attributes
-
info
(type:GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfo.t
, default:nil
) - -
inputReadTime
(type:float()
, default:nil
) - Total time taken in seconds to read the input -
partialFile
(type:boolean()
, default:nil
) - Was the VSI computed on a partial file ? -
totalVsiTime
(type:float()
, default:nil
) - Total time (of all attempts) taken in seconds to compute VSI -
vsiStats
(type:list(GoogleApi.ContentWarehouse.V1.Model.VideoPipelineViperVSIColumnDataVsiStats.t)
, default:nil
) -
The stats of each output vsi.
This SEI message only takes the payload type and the sum of the payload sizes for all SEI messages of this type. More informations, such as timestamp, payload, may be added in the future.
Measurement of loudness. Next tag = 3
Individual video frame saved in an image file.
List of individual video frames, each saved as an image file
LINT.IfChange Score calculated from a thumbnail. NextID: 16
Attributes
-
confidence
(type:number()
, default:nil
) - A score between 0.0 and 1.0; the relative probability that this is the language of the video. This should not be interpreted as an absolute probability. For instance, scores may be calculated for all languages even for videos for which no speech was detected. -
langCode
(type:String.t
, default:nil
) - The language code for one of the languages supported by automatic language identification.
This message contains user data registered itu-t t.35 data
This message contains unregistered user data identified by a UUID
VideoClipInfo : meta information extracted from video file Next id: 26
Generic geo-location information. This is error-prone due to the fact that is uses signed integer fields, which are not supported by proto1 API and are cast to unsigned integers. Consider using the metadata_util function directly, which fills out a version 2 API proto.
Attributes
-
bitrate
(type:String.t
, default:nil
) - Video bitrate in bits/s. -
codecId
(type:integer()
, default:nil
) - Video codec ID. Uses the numeric value corresponding to the CodecId enum object, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:CodecId%20f:google3/video/vidproc/vsi/videostreaminfo.proto -
fps
(type:float()
, default:nil
) - Video frame per second, obtained by parsing video header information. The value can be inaccurate for some types of codecs. See comments at http://cs/symbol:video_fps%20f:google3/video/vidproc/vsi/videostreaminfo.proto -
height
(type:integer()
, default:nil
) - -
lengthSec
(type:float()
, default:nil
) - Video length, in seconds. This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero. -
streamIndex
(type:String.t
, default:nil
) - Index of the stream in the file, 0-based. -
width
(type:integer()
, default:nil
) - The video stream's width and height. Important notes: 1) These are the coded dimensions of the video stream and DO NOT take into account any rotation metadata that may be present in the video container. Prefer to use the MediaOverview::resolution and MediaOverview::orientation when possible. 2) In the case you want detailed displayed width/height information, you can use the MediaOverview::orientation to determine the displayed dimensions. E.g., in the case of PORTRAIT orientation: displayed_width = min(width, height) displayed_height = max(width, height) And for LANDSCAPE orientation: displayed_width = max(width, height) displayed_height = min(width, height)
Note that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84
Data streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+
An attached 3D look up table
Description and encoding of a 3d lut.
Timed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 - Line 21) do not belong here.
TODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48
Attributes
-
diversificationThreshold
(type:number()
, default:nil
) - Diversification threshold used in prediction. Additional responses which are closer than the threshold to the already selected responses will be skipped. -
likelihoodBiasWeight
(type:number()
, default:nil
) - Bias weight used in prediction. -
replyContent
(type:String.t
, default:nil
) - Content of the reply snippet (could include emoji as well as text). -
score
(type:float()
, default:nil
) - Model score for the predicted reply snippet.
Smart reply suggestions for comment.
Used for stanza KV pair. Next tag: 7.
Some per-doc info is returned for all www DocInfo requests. Next id: 94
Return related images.
We can return the content attribute for some or all meta tags.
The following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26
Per-document response for a www DocInfo request. Next field position: 55
Encoded bitmap.
Next ID: 3
Page boosting using Live Results data. Attaching this proto to a document indicates that a Live Result feed exists for that document, and that this feed has sufficient reliability to warrant potential boosting of the document rank. Next ID: 3
Per-provider attachment of a LiveResult. Used to identify pages for which result-based triggering of Live Results should appear. Theoretically there can be more than one attachment per web document, so we keep them as a repeated field of the LiveResultsDocAttachment. Next ID: 4
Message to which we attach to web documents in order to decide which LiveResult to trigger. Next ID: 3
Time range (start time and end time). Used to indicate the times in which a LiveResult is considered "hot" and thus a potential for boosting. Specified as Unix time (seconds since midnight, January 1, 1970). Time zone is same as that for query_start_time (i.e., GMT). Next ID: 3
IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests.
To tag which fetcher satisfied this fetch request with optional detail.
Contains information about comment that is posted through a Super Thanks purchase. Next ID: 7
Data representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributes
Whether a HOLD decision is enforced based on the decision name and QPS requirement. For LiveChat, there could be multiple Automod moderations generated at chat message creation time. Only HOLD decisions are persisted. At most one HOLD decision can be enforced based on write QPS.
The restriction issuers here identify "who" issues the restriction. It represents restriction granularity at the issuer level so restrictions from different issuers will not override each other.
Channel moderator info details. Supports audit log functionality that shows moderator activity.
Channel owner info details. Supports audit log functionality that shows creator activity.
The restriction issuers here identify "why" the restriction is issued. Most reasons are specific to one type of issuer but some of them are shared among multiple issuers.
Intended to be simpler to work with than the ExportedStanza it's derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 80
Comment text embedding.
Text quality scores for a single comment.
Sentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.
An entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.
A mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.
The annotation of a document by a given entity, for a given type of relationship.
A collection of annotations returned by Legos for a document.
The identification of a Knowledge Graph (KG) entity in Legos.
Description of a format Legos annotation. http://go/legos/formats.md
Description of a present Legos annotation.
Description of a semantic Legos annotation. http://go/legos/project.md#semantic-intent-annotations
Extra context about how the entity relates to the document. Typically vertical-specific.
Description of a taxonomic Legos annotation. http://go/legos/project.md#taxonomy-annotations
Blarney Stone classification scores: go/blarneystone Next available ID: 6
Next available ID: 4