I am building a system where you can define a schema for a complex object and store and retrieve the objects and schema's via an api.

I would like to be able to index the items in my collection.

For my equals index I was imagining I could use HashMap's

```
new HashMap<UUID, HashMap<UUID, HashMap<String, ArrayList<UUID>>>()

```

Which would be mapped as below

```
ObjectTypeUuid
-> FieldTypeUuid
-> FieldValue
-> ArrayList of ObjectUuid

```

I am not sure this would work too well for doing greater than and less than operations.

What other data structures could help me achieve my goals?