require(["esri/rest/knowledgeGraph/GraphSearch"], (GraphSearch) => { /* code goes here */ });
import GraphSearch from "@arcgis/core/rest/knowledgeGraph/GraphSearch.js";
esri/rest/knowledgeGraph/GraphSearch
The search operation is performed on a knowledge graph service's
graph resource.
This operation allows you to search the properties of both entities and
relationships in the graph.
Any field with the Text data type or the Globally Unique Identifier (GUID) data type with the
searchable properties set to true
is included in the search.
A search index is built and maintained automatically on the values for all searchable fields.
- See also
//searches for 'solar' in the properties of all entities in the knowledge graph
require([
"esri/rest/knowledgeGraphService"
], (KnowledgeGraphModule) => {
KnowledgeGraphModule
.executeSearch(kg, {
searchQuery: "solar",
typeCategoryFilter: "entity",
})
.then((queryResult) => {
// do something with the search results
console.log("Graph Search Result", queryResult);
});
});
//sample return from above search
[{
"declaredClass": "esri.rest.knowledgeGraph.Entity",
"properties": {
"shape": {
"declaredClass": "esri.geometry.Point",
"cache": {},
"hasM": false,
"hasZ": false,
"latitude": 53.589000000000009,
"longitude": -0.9633,
"type": "point",
"extent": null,
"spatialReference": {
"wkid": 4326
},
"x": -0.9633,
"y": 53.589000000000009
},
"Name": "Suncommon",
"Employee_Count": 400,
"energyType": "solar"
},
"typeName": "Company",
"id": "156786"
}]
Constructors
-
Parameterproperties Object
The
searchQuery
property is required. See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The name of the class. | Accessor | ||
The text to search for in the knowledge graph. | GraphSearch | ||
Specifies whether to search entities, relationships, or both. | GraphSearch |
Property Details
-
searchQuery
searchQuery String
-
The text to search for in the knowledge graph. Accepts Lucene search syntax.
Required
- knowledgeGraphService.executeSearch() will fail if not provided.
-
typeCategoryFilter
typeCategoryFilter String
-
Specifies whether to search entities, relationships, or both. Valid values are
entity
,relationship
, orboth
.Note
- Check the service definition for the knowledgeGraphService (see ArcGIS REST APIs - Hosted Knowledge Graph Service) for valid values of
typeCategoryFilter
. Not all services supportboth
.
Required
- This property is required for the search to execute successfully. If the service does not support
both
one of the other options must be specified.
Possible Values:"entity" |"relationship" |"both"
- Default Value:"both"
- Check the service definition for the knowledgeGraphService (see ArcGIS REST APIs - Hosted Knowledge Graph Service) for valid values of
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Returns true if a named group of handles exist. | Accessor | ||
Removes a group of handles owned by the object. | Accessor |
Method Details
-
Inherited from Accessor
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from Accessor -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
Inherited from Accessor
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");