ZhengZhanFei opened a new issue, #2322:
URL: https://github.com/apache/age/issues/2322

   On page 17.7, for age1.6, when I was using it, I first created a Gin index, 
and then inserted data in batches. However, the data could not be retrieved.
   
   CREATE EXTENSION IF NOT EXISTS age;
   
   SET search_path = ag_catalog, "$user", PUBLIC;
   
   SELECT create_graph('graph_name');
   
   SELECT create_vlabel('graph_name','n1');
   
   create index idx_n1_properties_gin on graph_name."n1" using gin(properties)
   
   -- There are 10 pieces of data in the CSV file.
   SELECT load_labels_from_file(
     'graph_name',
     'n1',
     '/tmp/age/age-node-10.csv'
   );
   
   -- Return 10
   SELECT COUNT(*) FROM graph_name."n1";
   
   
   -- Query Statement 1
   -- {"id": 844424930131969, "label": "n1", "properties": {"id": "1", 
"__id__": 1, "node_name": "type2_1", "node_type": "type2", "node_identify": 
"1"}}::vertex
   SELECT *
   FROM cypher('graph_name', $$
    MATCH (a:n1 {node_name: 'type2_1', node_type: 'type2'})
     RETURN
       a
   $$) AS (
     a agtype
   );
   
   <img width="1185" height="335" alt="Image" 
src="https://github.com/user-attachments/assets/e5e9a4a4-8389-40b3-ae46-48ee627a7aed";
 />
   
   
   -- Query Statement 2
   SELECT *
   FROM cypher('graph_name', $$
    MATCH (a:n1 {node_name: 'type2_1'})
     RETURN
       a
   $$) AS (
     a agtype
   );
   
   <img width="1153" height="356" alt="Image" 
src="https://github.com/user-attachments/assets/a3769294-b79c-4c0e-a790-f062173145db";
 />
   
   
   During the first query, my conditions were 'node_name' and 'node_type', and 
I was able to retrieve the records. However, during the second query, I removed 
the 'node_type' condition from my criteria, but no results were returned. I 
thought that the second query should also have returned results, but it didn't.
   
   --  -- Query Statement 3
   SELECT *
   FROM cypher('graph_name', $$
    MATCH (a:n1)
    WHERE a.node_name = 'type2_1'
    RETURN a
   $$) AS (
     a agtype
   );
   
   During the third query, I was able to retrieve the information by using the 
"where" clause.
   
   The execution plans corresponding to the three SQL statements are as 
follows: when using the gin index, there will be a situation where the record 
cannot be retrieved.
   
   SELECT *
   FROM cypher('graph_name', $$
   explain MATCH (a:n1 {node_name: 'type2_1', node_type: 'type2'})
     RETURN
       a
   $$) AS (
     a agtype
   );
   Seq Scan on n1 a  (cost=0.00..25.06 rows=12 width=32)
     Filter: (properties @> '{"node_name": "type2_1", "node_type": 
"type2"}'::agtype)
   
   
   SELECT *
   FROM cypher('graph_name', $$
   explain  MATCH (a:n1 {node_name: 'type2_1'})
     RETURN
       a
   $$) AS (
     a agtype
   );
   
   Bitmap Heap Scan on n1 a  (cost=13.04..23.79 rows=12 width=32)
     Recheck Cond: (properties @> '{"node_name": "type2_1"}'::agtype)
     ->  Bitmap Index Scan on idx_n1_properties_gin  (cost=0.00..13.04 rows=12 
width=0)
           Index Cond: (properties @> '{"node_name": "type2_1"}'::agtype)
   
   
   SELECT *
   FROM cypher('graph_name', $$
    explain MATCH (a:n1)
    WHERE a.node_name = 'type2_1'
    RETURN a
   $$) AS (
     a agtype
   );
   Seq Scan on n1 a  (cost=0.00..28.03 rows=6 width=32)
     Filter: (agtype_access_operator(VARIADIC ARRAY[properties, 
'"node_name"'::agtype]) = '"type2_1"'::agtype)
   
   
   My installation process:
   sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
   sudo git clone https://github.com/apache/age.git
   cd age
   git config --global --add safe.directory /home/age
   sudo git checkout PG17/v1.6.0-rc0
   sudo make PG_CONFIG=/Programs/postgres17.7/bin/pg_config install
   
   -- postgres version
   select version()
   PostgreSQL 17.7 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 
9.4.0-1ubuntu1~20.04.2) 9.4.0, 64-bit
   
   
   I have been struggling with this for a long time. I want to know where I 
went wrong. Thank you for your help.
   
   
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to