19.9. Automatic Indexes

19.9.1. Find node by exact match from an automatic index
19.9.2. Find node by query from an automatic index

To enable automatic indexes in neo4j, set up the database for that, see Section 15.12.1, “Configuration”. With this feature enabled, you can then index and query nodes in these indexes.

19.9.1. Find node by exact match from an automatic index

Automatic index nodes can be found via exact lookups with normal Index REST syntax.

Figure 19.55. Final Graph


Example request

  • GET http://localhost:7474/db/data/index/auto/node/name/I
  • Accept: application/json

Example response

  • 200: OK
  • Content-Type: application/json
[ {
  "outgoing_relationships" : "http://localhost:7474/db/data/node/327/relationships/out",
  "data" : {
    "name" : "I"
  },
  "traverse" : "http://localhost:7474/db/data/node/327/traverse/{returnType}",
  "all_typed_relationships" : "http://localhost:7474/db/data/node/327/relationships/all/{-list|&|types}",
  "property" : "http://localhost:7474/db/data/node/327/properties/{key}",
  "self" : "http://localhost:7474/db/data/node/327",
  "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/327/relationships/out/{-list|&|types}",
  "properties" : "http://localhost:7474/db/data/node/327/properties",
  "incoming_relationships" : "http://localhost:7474/db/data/node/327/relationships/in",
  "extensions" : {
  },
  "create_relationship" : "http://localhost:7474/db/data/node/327/relationships",
  "paged_traverse" : "http://localhost:7474/db/data/node/327/paged/traverse/{returnType}{?pageSize,leaseTime}",
  "all_relationships" : "http://localhost:7474/db/data/node/327/relationships/all",
  "incoming_typed_relationships" : "http://localhost:7474/db/data/node/327/relationships/in/{-list|&|types}"
} ]

19.9.2. Find node by query from an automatic index

See Find node by query for the actual query syntax.

Figure 19.56. Final Graph


Example request

  • GET http://localhost:7474/db/data/index/auto/node/?query=name:I
  • Accept: application/json

Example response

  • 200: OK
  • Content-Type: application/json
[ {
  "outgoing_relationships" : "http://localhost:7474/db/data/node/326/relationships/out",
  "data" : {
    "name" : "I"
  },
  "traverse" : "http://localhost:7474/db/data/node/326/traverse/{returnType}",
  "all_typed_relationships" : "http://localhost:7474/db/data/node/326/relationships/all/{-list|&|types}",
  "property" : "http://localhost:7474/db/data/node/326/properties/{key}",
  "self" : "http://localhost:7474/db/data/node/326",
  "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/326/relationships/out/{-list|&|types}",
  "properties" : "http://localhost:7474/db/data/node/326/properties",
  "incoming_relationships" : "http://localhost:7474/db/data/node/326/relationships/in",
  "extensions" : {
  },
  "create_relationship" : "http://localhost:7474/db/data/node/326/relationships",
  "paged_traverse" : "http://localhost:7474/db/data/node/326/paged/traverse/{returnType}{?pageSize,leaseTime}",
  "all_relationships" : "http://localhost:7474/db/data/node/326/relationships/all",
  "incoming_typed_relationships" : "http://localhost:7474/db/data/node/326/relationships/in/{-list|&|types}"
} ]