Graphistry 2.40.74: Hello GFQL Endpoint and OpenTelemetry

Posted by Graphistry Staff on June 13, 2024

A major addition for Graphistry API users is the new GFQL endpoint where you can run rich graph queries on all data in Graphistry, including with automatic GPU acceleration. For more advanced deployments, the release also significantly improves the OpenTelemetry support, streamlines custom Python package installation, and provides the usual bug fixes and general improvements. Check the release notes for deeper details.

Our favorite features are:

      • GFQL HTTP endpoint: Run GFQL queries on uploaded Graphistry server data and return the results in JSON format. GFQL enables a user to accelerate many-hop subgraph extraction, allowing speedy computation of results from graphs containing millions of edges as we discussed in the original GFQL announcement. Now that GFQL is executable via API for any Graphistry data, any web application can benefit from GFQL by enabling large graph querying directly from any web application, with no back-end necessary user-side.

        The following examples shows using Python or raw JSON to run a GFQL query:
        # Equivalent cypher: MATCH p=({'name'}: "Alice")-[]->() RETURN p


        with open('query.json', 'w') as json_file:
        query = chain([n({'name': "Alice"}), e_forwards(), n()])
        json.dumps(
        query.to_json(),
        json_file)# Raw JSON payload
        cat query.json:
        {"gfql_operations": [
        {"type": "Node", "filter_dict":{"name": "Alice"}},
        {"type": "Edge", "direction": "forward", "hops": 1},
        {"type": "Node"}
        ]}


        curl -X POST "http:///datasets//gfql?format=json" \
        -H "Authorization: Bearer " \
        -H "Content-Type: application/json" \
        -d query.json

        To get started, see the documentation for the new GFQL HTTP endpoint, the GFQL quick start guide, and our earlier blogpost introducing GFQL. Also for a friendly introduction to querying a graph using GFQL, check out our new explainer article.
      • OpenTelemetry: OpenTelemetry should now export more critical data while reducing noise from unnecessary metrics and traces, thereby optimizing storage costs. Building on the previous versions initial OpenTelemetry support, much more of your Graphistry server activity can be sent to standard OpenTelemetry-compatible observability tools. The new, optimized OpenTelemetry metrics for the ETL service make it possible to observe and track the files and datasets created for any given graph, while also recording useful metadata. For more information, see the documentation for OpenTelemetry setup.
      • Notebooks: Python libraries can now be installed in the built-in Jupyter notebook and graph-app-kit Streamlit dashboarding containers and, with the new approach, will now persist through service restarts. The setup step detailed here shows how to start using this new streamlined process.
      • PyGraphistry[AI]: Updated to the latest version 0.33.8 from 0.33.0 which includes various bug fixes particularly around GFQL.

Learn more in our public release notes.