I configured pgx.conf file to load graph data from property graph tables and started it. Looks like it started properly because I didn't see any errors on console window.

Now I realized I missed vertex loading property (use_vertex_property_value_as_label) in graph config file so I killed the server by pressing Ctrl+C and then made the required changes to graph config file. I am seeing below exception when I restart the server after this change.

Configuration file(TestData.json) used to load graph properties is given below. Details about pgx.conf are provided in other thread.

{

"jdbc_url": "jdbc:oracle:thin:@<hostname>:1521:pgdb",

"username": "scott",

"password": "tiger",

"format": "pg",

"db_engine": "rdbms",

"name": "TestData",

"vertex_props": [

{ "name": "name", "type": "string" },

{ "name": "type", "type": "string" },

],

"edge_props": [

{ "name": "created_on", "type": "timestamp" },

],

"loading": {

"load_edge_label": true,

"load_vertex_labels":true,

"use_vertex_property_value_as_label":"name" //This line has been added for 2nd run

}

}

As highlighted above graph config file doesn't contain "use_vertex_property_value_as_label":"name" propertywhen I first started PGX server using start_server.bat. Later I realized that I need to add this property to config file so I killed the PGX server by pressing Ctrl+C and then updated the config file with missing property. Now when I start PGX server using start_server.bat its throwing the exception shown above

I see what you try to do there. I had a chat a year ago with PMs and architects of PGX and their position was more that there isn't much difference between a label and a property, and having only the properties and not the label for the nodes wasn't an issue as everything still work.

The only little difference is in your PGQL queries where instead of "(n:label)" you need to use something like "(n WITH property_name = value)".

In my memory in a old (2.3 or there around) version of PGX I couldn't make it work properly that option to identify a property which will become the label when loaded.

I never tried anymore after as I just started writing all my queries with the "WITH" syntax instead.

I was testing on PGX 3.1.1 (linux) by loading a graph and I didn't have any error but I also didn't have any label

There is a thing which I saw: the table storing vertices in 3.1.1 is different than the previous 2.x.x versions. There is now a VL column which looks like the EL one of the edges tables. I tried entering content there but still didn't have any label loaded.

So ... still don't know how to get labels for properties.

Will dig a bit more into it over the coming days (also because with that different structure of database tables I need to rewrite some parts of my coming presentations about PGX )

If it doesn't work in your case I assume it's because you are on a older version of PGQL?

You could check if there is an update for PGX giving you PGQL 1.2 (and other things).

I didn't read the spec of PGQL 1.0 and 1.1 for a while, therefore I can't remember if there is a function for that. Last time I needed a quick IN with 2 values I just wrote it like: name = 'John' OR name = 'Mary' .

In theory you could also try to get the same result using java_regexp_like and a regexp with the 2 values, but it will be quite hard to maintain and read, for sure more than a good old OR.

PS: don't hesitate to create your own thread with questions when you don't find one matching your topic