<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="kgsearch_v1.html">Knowledge Graph Search API</a> . <a href="kgsearch_v1.entities.html">entities</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#search">search(prefix=None, query=None, x__xgafv=None, types=None, indent=None, languages=None, ids=None, limit=None)</a></code></p>
<p class="firstline">Searches Knowledge Graph for entities that match the constraints.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="search">search(prefix=None, query=None, x__xgafv=None, types=None, indent=None, languages=None, ids=None, limit=None)</code>
  <pre>Searches Knowledge Graph for entities that match the constraints.
A list of matched entities will be returned in response, which will be in
JSON-LD format and compatible with http://schema.org

Args:
  prefix: boolean, Enables prefix match against names and aliases of entities
  query: string, The literal query string for search.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  types: string, Restricts returned entities with these types, e.g. Person
(as defined in http://schema.org/Person). If multiple types are specified,
returned entities will contain one or more of these types. (repeated)
  indent: boolean, Enables indenting of json results.
  languages: string, The list of language codes (defined in ISO 693) to run the query with,
e.g. 'en'. (repeated)
  ids: string, The list of entity id to be used for search instead of query string.
To specify multiple ids in the HTTP request, repeat the parameter in the
URL as in ...?ids=A&ids=B (repeated)
  limit: integer, Limits the number of entities to be returned.

Returns:
  An object of the form:

    { # Response message includes the context and a list of matching results
      # which contain the detail of associated entities.
    "@context": "", # The local context applicable for the response. See more details at
        # http://www.w3.org/TR/json-ld/#context-definitions.
    "itemListElement": [ # The item list of search results.
      "",
    ],
    "@type": "", # The schema type of top-level JSON-LD object, e.g. ItemList.
  }</pre>
</div>

</body></html>