- URL:
- https://<knowledgegraphserver_graph-url>/query
- Methods:
GET
Description
The query operation is performed on a knowledge graph service's graph resource. The entities and relationships in the graph are queried by sending an openCypher query. Learn more about openCypher queries.
Request parameters
| Parameter | Details |
|---|---|
| Allows you to return the entities and relationships in a graph, as well as the properties of those entities and relationships, by providing an openCypher query. |
| The response format. The default response format is Values: |
Example usage
The following is an example request URL to query a knowledge graph service named School for information about the students enrolled at a specific school. If an openCypher query is specified such as the example below, the query will return the first Student entity found with the Enrolled relationship to a School entity whose name property is set to Eastside Elementary :
MATCH (p:Student)-[e:EnrolledAt]->(s:School) WHERE s.name = 'Eastside Elementary' RETURN p,e,s.principal,s.numStaff LIMIT 1A description of the Student entity, its Enrolled relationship, and the related School entity will be provided along with the specified property values.
Sample request URL
https://organization.example.com/<context>/rest/services/Hosted/SchoolDistrict/KnowledgeGraphServer/graph/query?openCypherQuery=MATCH+%28p%3AStudent%29-%5Be%3AEnrolledAt%5D-%3E%28s%3ASchool%29+WHERE+s.name+%3D+%27Eastside+Elementary%27+RETURN+p%2Ce%2Cs.principal%2Cs.numStaff+LIMIT+1&f=htmlHTML Response syntax
When an openCypher query is specified on the HTML page for the knowledge graph server's query operation, an HTML response is displayed on the page. The values returned depend on the query that is issued.
When a query returns entities, the value for an entity will include its label and properties. An entity's label identifies the Entity . When a query returns relationships, the value for a relationship will include its type and properties. A relationship's type identifies the Relationship . For both entities and relationships, only properties with a value are included in the response.
An openCypher query can also return individual property values or summary information about the graph's content. In these cases the query will return individual text strings representing the property values or a count of the number of instances of an entity that satisfy the query.
The example below represents the syntax for the example query provided previously. Entities always have globalid and objectid properties. Relationships always have globalid , objectid , origin , and destination properties. The origin identifies the entity that is the origin of the relationship. The destination identifies the entity that is the destination of the relationship.
header:
dataModelTimestamp: <dataModelTimestamp>
fieldNames: [<returnValuesFromQuery>]
results:
exceededTransferLimit: <boolean>
rows:
values:
entityValue:
label: <EntityType>
properties:
globalid: {<GUID>}
objectid: <integer>
property1: <property1Value>
property2: <property2Value>
property3: <property3Value>
relationshipValue:
type: <RelationshipType>
properties:
globalid: {<GUID>}
originGlobalID: {<GUID>}
destinationGlobalID: {<GUID>}
objectid: <integer>
property1: <property1Value>
<returnedValue>
<returnedValue>HTML Response example one
The following is an example request URL to query a knowledge graph service named School . The query counts how many Student entities have an Enrolled relationship to a School entity:
MATCH (School)<-[EnrolledAt]-(p:Student) RETURN Count(p)Sample request URL
https://organization.example.com/<context>/rest/services/Hosted/SchoolDistrict/KnowledgeGraphServer/graph/query?openCypherQuery=MATCH (s:School)<-[e:EnrolledAt]-(p:Student) RETURN +Count(p)&f=htmlThis example illustrates the response to the above query. The response includes one row of data. There is one value, 15 , in one field named Count(p) .
header:
dataModelTimestamp: 1628172329005
fieldNames: [Count(p)]
results:
exceededTransferLimit: false
rows:
values: [15]HTML Response example two
The following is an example request URL to query a knowledge graph service named School for information about the Student entities it contains. If an openCypher query is specified such as the example below, the query will return the first tuple found where a Student entity (p ) has any relationship (e ) with a School entity (s ) where the name of the school is Eastside Elementary :
MATCH (p:Student)-[e]->(s:School) WHERE s.name = 'Eastside Elementary' RETURN p,e,s.principal,s.numStaff LIMIT 1Sample request URL
https://organization.example.com/<context>/rest/services/Hosted/BeersOfTheWorld/KnowledgeGraphServer/graph/query?openCypherQuery=MATCH+%28b%3ABeer%29+RETURN+b+LIMIT+1&f=htmlFull information describing the Student entity and their relationship to the school will be returned, along with individual property of the school identified in the query: the value of the principal property and the value of the num property.
header:
dataModelTimestamp: 1628172329005
fieldNames: [p, e, s.principal, s.numStaff]
results:
exceededTransferLimit: false
rows:
values:
entityValue:
label: Student
properties:
name: John Smith
extracurriculars: theatre, band
globalid: {567EACFE-6779-4EBD-8773-F8E1486A6F79}
objectid: 11
relationshipValue:
type: EnrolledAt
properties:
globalid: {F4D89C49-E1C2-4482-9D3E-6919BA9F230F}
originGlobalID: {567EACFE-6779-4EBD-8773-F8E1486A6F79}
destinationGlobalID: {B5025C91-118C-4B28-91D2-3073401C0992}
objectid: 2
startDate: 1628272439016
Ms. Jane Principal
19PBF Request
Create a PBF-formatted request to perform this operation based on the Query file.
PBF Response
Create a PBF-formatted response to get feedback from the operation based on the Query file.