# Index creation

**URL:** <https://community.neo4j.com/t/index-creation/60266>\
**Category:** Neo4j Graph Platform\
**Tags:** migrated\
**Created:** [June 6, 2022, 3:33pm UTC](https://community.neo4j.com/t/index-creation/60266 "2022-06-06T15:33:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolodipietro58](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/paolodipietro58/32/21045_2.png) [@paolodipietro58](https://community.neo4j.com/u/paolodipietro58)\
**Post date:** [June 6, 2022, 3:33pm UTC](https://community.neo4j.com/t/index-creation/60266/1 "2022-06-06T15:33:51Z")

</div>

Server community edition 4.4.7  
Is there a way to create indexes for all the nodes who have a property with a given name?

---

<div class="post-metadata">

**Author:** ![paolodipietro58](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/paolodipietro58/32/21045_2.png) [@paolodipietro58](https://community.neo4j.com/u/paolodipietro58)\
**Post date:** [June 6, 2022, 4:14pm UTC](https://community.neo4j.com/t/index-creation/60266/2 "2022-06-06T16:14:29Z")

</div>

I tried with:

```auto
CALL db.labels() YIELD label

UNWIND label as lab

call apoc.cypher.run("CREATE INDEX index_created_at_" + lab + " IF NOT EXISTS FOR (n:" + lab + ") on (n.'CREATED_AT')",{lab: lab}) YIELD value as v1

```

but it returns an error:

```auto
Neo.ClientError.Procedure.ProcedureCallFailed
Failed to invoke procedure `apoc.cypher.run`: Caused by: org.neo4j.exceptions.SyntaxException: Invalid input 'INDEX': expected "(", "allShortestPaths" or "shortestPath" (line 1, column 31 (offset: 30))
" WITH $`lab` as `lab` CREATE INDEX index_created_at_ErrorArea IF NOT EXISTS FOR (n:ErrorArea) on (n.'CREATED_AT')"
                               ^

```

where ErrorArea is the first returned label.

Any suggestion?

---

<div class="post-metadata">

**Author:** ![paolodipietro58](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/paolodipietro58/32/21045_2.png) [@paolodipietro58](https://community.neo4j.com/u/paolodipietro58)\
**Post date:** [June 7, 2022, 3:08pm UTC](https://community.neo4j.com/t/index-creation/60266/3 "2022-06-07T15:08:21Z")

</div>

This is the solution if someone is interested:

```auto
// Create an index on all 
CALL db.labels() YIELD label

UNWIND label as lab

WITH 
"CREATE INDEX index_created_at_" + lab + " IF NOT EXISTS FOR (n:" + lab + ") ON (n.CREATED_AT)" as v1,
"CREATE INDEX index_updated_at_" + lab + " IF NOT EXISTS FOR (n:" + lab + ") ON (n.UPDATED_AT)" as v2,
"CREATE INDEX index_deleted_at_" + lab + " IF NOT EXISTS FOR (n:" + lab + ") ON (n.DELETED_AT)" as v3

call apoc.cypher.runSchema(v1,{}) YIELD value as v11
call apoc.cypher.runSchema(v2,{}) YIELD value as v12
call apoc.cypher.runSchema(v3,{}) YIELD value as v13

return v11, v12, v13

```
