VCI is unclear from Schema


Amiya <amiyakr...@...>
 

I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name | Type | Unique | Backing | Key: Status |
---------------------------------------------------------------------------------------------------
name | Composite | true | internalindex | name: ENABLED |
vertices | Mixed | false | search | age: ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name | Type | Unique | Backing | Key: Status |
---------------------------------------------------------------------------------------------------
edges | Mixed | false | search | reason: ENABLED |
| | | | place: ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index | Type | Direction | Sort Key | Order | Status |
---------------------------------------------------------------------------------------------------
battlesByTime | battled | BOTH | time | desc | ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Florian Hockmann <f...@...>
 

You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:

I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Amiya <amiyakr...@...>
 

I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  


On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Amiya <amiyakr...@...>
 

After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Florian Hockmann <f...@...>
 

OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:

After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Amiya <amiyakr...@...>
 

Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    


On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Florian Hockmann <f...@...>
 

Great to hear! We have a document that explains the contributing process: Contributing to JanusGraph. The docs also contain a Development section that might be helpful. In general, every pull request should have an issue that it fixes. So, the first step is usually to identify an open issue that you want to address or to create a new one. Then you can create a branch in your own fork of JanusGraph and start working on it. Once you're in a state where it should be ready to be merged back in the main repo, you can create a pull request.
If you have any more questions, I'm more than happy to help.

Am Donnerstag, 6. Februar 2020 16:35:48 UTC+1 schrieb Amiya:

Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    

On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Amiya <amiyakr...@...>
 

Thanks, Let me check.


On Friday, 7 February 2020 15:16:29 UTC+5:30, Florian Hockmann wrote:
Great to hear! We have a document that explains the contributing process: Contributing to JanusGraph. The docs also contain a Development section that might be helpful. In general, every pull request should have an issue that it fixes. So, the first step is usually to identify an open issue that you want to address or to create a new one. Then you can create a branch in your own fork of JanusGraph and start working on it. Once you're in a state where it should be ready to be merged back in the main repo, you can create a pull request.
If you have any more questions, I'm more than happy to help.

Am Donnerstag, 6. Februar 2020 16:35:48 UTC+1 schrieb Amiya:
Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    

On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


szthanatos lux <thanat...@...>
 

It's my turn now to be confused about it...

Anybody handsome could tell me is there any difference between `vertex index` and `edge index`? Does it mean `index for property bound on vertex/edge`?
And what `Backing`, `Partitoned` means?


在2020年2月9日星期日 UTC+8 上午1:07:29<Amiya> 写道:

Thanks, Let me check.


On Friday, 7 February 2020 15:16:29 UTC+5:30, Florian Hockmann wrote:
Great to hear! We have a document that explains the contributing process: Contributing to JanusGraph. The docs also contain a Development section that might be helpful. In general, every pull request should have an issue that it fixes. So, the first step is usually to identify an open issue that you want to address or to create a new one. Then you can create a branch in your own fork of JanusGraph and start working on it. Once you're in a state where it should be ready to be merged back in the main repo, you can create a pull request.
If you have any more questions, I'm more than happy to help.

Am Donnerstag, 6. Februar 2020 16:35:48 UTC+1 schrieb Amiya:
Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    

On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


Amiya <amiyakr...@...>
 

Hi,

I think by "edge index" you are referring buildEdgeIndex method and by `vertex index` you mean Vertex Centric Index.
If above assumption is correct then, both Vertex Centric index and buildEdgeIndex are same.


In Janusgraph Index are primarily 2 types graph indexes and vertex-centric indexes.

Graph Index: Graph indexes are global index,  which allow efficient retrieval of vertices or edges by their properties. That means when you start a traversal from a particular vertex/edge. 

Vertex Centric Index: Vertex-centric indexes are local index structures built individually per vertex. As edges stored locally to vertex, this index needs to be created on edge property. If vertex are having lots of incident edges this index is helpful while traversing from that vertex to edges with that edge property filter. (AFAIK this index never displayed in profile() step, but it gets used as per JG documentation)  

Name buildEdgeIndex creates confusion while starting working Janusgraph, but I think it's inherited from quite a while now. Another confusion beginner face VCI and RelationIndex, Print schema was showing different (did not check with latest JG v5). But VCI, buildedgeindex, awaitRelationIndex refers to same index that is local to each vertex.

HIH, Amiya  

On Saturday, 19 September 2020 at 22:24:35 UTC+5:30 szthanatos lux wrote:
It's my turn now to be confused about it...

Anybody handsome could tell me is there any difference between `vertex index` and `edge index`? Does it mean `index for property bound on vertex/edge`?
And what `Backing`, `Partitoned` means?


在2020年2月9日星期日 UTC+8 上午1:07:29<Amiya> 写道:
Thanks, Let me check.


On Friday, 7 February 2020 15:16:29 UTC+5:30, Florian Hockmann wrote:
Great to hear! We have a document that explains the contributing process: Contributing to JanusGraph. The docs also contain a Development section that might be helpful. In general, every pull request should have an issue that it fixes. So, the first step is usually to identify an open issue that you want to address or to create a new one. Then you can create a branch in your own fork of JanusGraph and start working on it. Once you're in a state where it should be ready to be merged back in the main repo, you can create a pull request.
If you have any more questions, I'm more than happy to help.

Am Donnerstag, 6. Februar 2020 16:35:48 UTC+1 schrieb Amiya:
Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    

On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?


HadoopMarc <bi...@...>
 

Hi Szthanatos,

The only way out is to get the source code. So:

management.buildIndex("name", Vertex.class).addKey(name);
This shows up as:
---------------------------------------------------------------------------------------------------
Vertex Index Name | Type | Unique | Backing | Key: Status |
---------------------------------------------------------------------------------------------------
name | Composite | true | internalindex | name: ENABLED |

---------------------------------------------------------------------------------------------------


management.buildIndex("vertices", Vertex.class).addKey(age).buildMixedIndex(mixedIndexName);
---------------------------------------------------------------------------------------------------
Vertex Index Name | Type | Unique | Backing | Key: Status |
---------------------------------------------------------------------------------------------------
vertices | Mixed | false | search | age: ENABLED |
---------------------------------------------------------------------------------------------------


management.buildIndex("edges", Edge.class).addKey(reason).addKey(place).buildMixedIndex(mixedIndexName);
This shows up as:
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name | Type | Unique | Backing | Key: Status |
---------------------------------------------------------------------------------------------------
edges | Mixed | false | search | reason: ENABLED |
| | | | place: ENABLED |
---------------------------------------------------------------------------------------------------


management.buildEdgeIndex(battled, "battlesByTime", Direction.BOTH, Order.desc, time);
This shows up as:
---------------------------------------------------------------------------------------------------
Relation Index | Type | Direction | Sort Key | Order | Status |
---------------------------------------------------------------------------------------------------
battlesByTime | battled | BOTH | time | desc | ENABLED |
---------------------------------------------------------------------------------------------------

Backing refers to the index used (CompositeIndex or a particular indexing backend for the MixedIndex)

A PR for improvement is welcome.

Best wishes,      Marc

PS This answer is best read on an html-enabled client because of the rich text features and colors used!



Op zaterdag 19 september 2020 om 18:54:35 UTC+2 schreef szthanatos lux:

It's my turn now to be confused about it...

Anybody handsome could tell me is there any difference between `vertex index` and `edge index`? Does it mean `index for property bound on vertex/edge`?
And what `Backing`, `Partitoned` means?


在2020年2月9日星期日 UTC+8 上午1:07:29<Amiya> 写道:
Thanks, Let me check.


On Friday, 7 February 2020 15:16:29 UTC+5:30, Florian Hockmann wrote:
Great to hear! We have a document that explains the contributing process: Contributing to JanusGraph. The docs also contain a Development section that might be helpful. In general, every pull request should have an issue that it fixes. So, the first step is usually to identify an open issue that you want to address or to create a new one. Then you can create a branch in your own fork of JanusGraph and start working on it. Once you're in a state where it should be ready to be merged back in the main repo, you can create a pull request.
If you have any more questions, I'm more than happy to help.

Am Donnerstag, 6. Februar 2020 16:35:48 UTC+1 schrieb Amiya:
Yep, I am interested to the contribute to JanusGraph if I can in some cases. What is the process?    

On Thursday, 6 February 2020 20:45:16 UTC+5:30, Florian Hockmann wrote:
OK, now I get where your confusion comes from. I agree that we should make this clearer and probably decide on one term and then use that consistently throughout the docs and the API. Do you want to create an issue for that? If you want to get involved in JanusGraph development, then that could of course also be a good contribution :)

Am Dienstag, 4. Februar 2020 18:42:02 UTC+1 schrieb Amiya:
After going through code (ManagementSystem, RelationType, JanusGraphRelation, RelationTypeIdex and JanusGraphIndex), found out
JanusGraphRelation is internal concept to represent relation between a vertex and some other entity (mostly property and edge).

Vertex Centric Index is nothing but Relation Index. (Is not it?) or can a RelationTypeIndex can speed up multiple vertex-centric indexes?
java doc mention
A RelationTypeIndex is an index installed on a {@link RelationType} to speed up vertex-centric indexes for that type.

Hence
Relation Index (VCI) will be more appropriate. 

Nevertheless anyone think similar to buildCompositeIndex and buildMixedIndex, better to have buildRelationIndex(...) / getRelationIndex(...)? If we want to keep RelationIndex abstract, then buildVertexCentricIndex(...)/grtVertexCentricIndex(...) ? Any thoughts?  


On Tuesday, 4 February 2020 21:43:29 UTC+5:30, Amiya wrote:
I know what VCI means, 
what I am asking Edge index and Relation Index are confusing. Because VCI is showing under Relation Index. any composite or mixed index on edge property generally shows under Edge Index.

Hence I think Relation Index (VCI) is more appropriate.

But ambiguity lies while creating the index.
mgmt.buildEdgeIndex(battled, 'battlesByTime', Direction.BOTH, Order.desc, time)
.....
mgmt.updateIndex(mgmt.getRelationIndex(battled, "battlesByTime"), SchemaAction.REINDEX).get()

That means to create a VCI, I have to use buildEdgeIndex but it will then display under Relation Index in printSchema? Even to get the VCI from management api I have to getRelationIndex.

Does not it look odd?  

On Tuesday, 4 February 2020 16:34:37 UTC+5:30, Florian Hockmann wrote:
You mean that you don't understand the acronym VCI? It stands for vertex-centric index. The term was just too long to include it completely in the print, but Edge Index alone might also be confusing as it's not called like that in the docs. If you have a better idea of how they should be named in this print, then we can probably change it.

Am Sonntag, 2. Februar 2020 20:22:29 UTC+1 schrieb Amiya:
I downloaded the docker image of JanusGraph 0.4 and loaded the graph using GraphOfTheGodsFactory.

When I print the schema it shows as below
...
...
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
name                           | Composite   | true      | internalindex  | name:         ENABLED |
vertices                       | Mixed       | false     | search         | age:          ENABLED |
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
edges                          | Mixed       | false     | search         | reason:       ENABLED |
                               |             |           |                | place:        ENABLED |
---------------------------------------------------------------------------------------------------
Relation Index                 | Type        | Direction | Sort Key       | Order    |     Status |
---------------------------------------------------------------------------------------------------
battlesByTime                  | battled     | BOTH      | time           | desc     |    ENABLED |
---------------------------------------------------------------------------------------------------


Why the Edge Index is showing as VCI? Because VCI created is battlesByTime, is not it?