postgresqlgraph-databasesapache-age

How to query using auto generated id and get know if it is an edge id or vertex id


Hot to query using the auto generated id in the apache age graph database.

I want to get to know if it is edge id or a vertex id.

For example i have an id 844424930131970. I know its somewhere within graph. But I don't know if its id for a vertex or an id for edge


Solution

  • It would sort of depend on what you're trying to MATCH on to determine if it is a vertex or an edge. I don't think it is possible to match on an abstract object in the graph.

    For a vertex:

    postgresDB=# SELECT * FROM cypher('airroutes', $$
    MATCH (n)
    WHERE id(n) = 844424930131969
    RETURN n $$)
    AS (n agtype);
                                                                                                                                                                            n     
                                                                                                                                                                        
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
     {"id": 844424930131969, "label": "airport", "properties": {"id": "1", "lat": "33.63669968", "lon": "-84.42810059", "city": "Atlanta", "code": "ATL", "desc": "Hartsfield - Ja
    ckson Atlanta International Airport", "elev": "1026", "icao": "KATL", "__id__": 1, "region": "US-GA", "country": "US", "longest": "12390", "runways": "5"}}::vertex
    

    For an edge:

    postgresDB=# SELECT * FROM cypher('airroutes', $$
    MATCH ()-[e]-() 
    WHERE id(e) = 1688849860263937
    RETURN e $$)
    AS (n agtype);
                                                                                                 n                                                                                
                 
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -------------
     {"id": 1688849860263937, "label": "route", "end_id": 844424930131971, "start_id": 844424930131969, "properties": {"dist": "809", "route_id": "3749", "end_vertex_type": "airp
    ort"}}::edge
     {"id": 1688849860263937, "label": "route", "end_id": 844424930131971, "start_id": 844424930131969, "properties": {"dist": "809", "route_id": "3749", "end_vertex_type": "airp
    ort"}}::edge
    (2 rows)