Query Builder

FEATURE DEPRECATED

This feature is no longer supported and the query of Hyperledger or any other data source has been migrated to the workflow. Using the workflow feature, you will be able to query any datasource which includes Neo4j, Hyperledger and ES for now. For more details on Workflow setup and configuration, please refer to this link

Details on Query Builder UI

This UI has 2 screens for addition and edit/delete.

    Addition of Cypher queries (All fields are mandatory).

    Name of the Query - Unique Report Name 

    Frequency -  daily, weekly, fortnightly, monthly to execute the Query

    Subscribers Please provide valid email address. You may use ‘,‘ to provide multiple email address

    Query Please select source of data for generating report( neo4j or hyperledger)

    Upload QueryUpload Cypher query with proper syntax

    

    


    Edit/Delete Report Queries.

    

Report Types

       There are 2 types of reports that can be distinguished based on Query type in UI . 

Sno

CYPHER

CYPHER and HYPHERLEDGER

1

Fetches records from NEO4j Database

Fetches records from both NEO4j and Hypherledger

2

Upload file will have 2 fields as query and table_structure

Upload file will have only query field as below .

3

PDF will be generated based on the table_structure mapping to cypherresponse.json

PDF will be generated based on hyperledger response which is fixed for now.

Prerequisites: Create a folder named Audit-report under $INSIGHTS_HOME/.Insights/ and provide write priviledge. This is required for placing the uploaded files.

Deep dive into cypher response and Mapping.

         - Report from Cypher and its table_structure.

           Let's take the neo-feature-build.json attached above as sample.

            {
                "queryname" : "MATCH (g:GIT:DATA)-[*1..2]->(u:UCD:DATA) WHERE g.branchName <> 'master' and u.environment='PROD' RETURN g,u",
                "table_structure" : {
                           "REPO NAME" : "g.repoName",
                           "MESSAGE" : "g.message",
                           "BRANCH NAME":"g.branchName",
                           "STATUS": "u.status",
                           "ENVIRONMENT": "u.environment"    

                   }
            }

           

             Query : MATCH (g:GIT:DATA)-[*1..2]->(u:UCD:DATA) WHERE g.branchName <> 'master' and u.environment='PROD' RETURN g,u

             CypherResponse: (showing only one node for sample).

             

              Here g, u are result nodes which has corresponding results in row array index where g is mapped to 0 and u is mapped to 1 . 

              Sample Mapping :  In order to map these results to PDF we can select the key names from the cypher response as below with the resultant node.

              "REPO NAME" : "g.repoName","MESSAGE" : "g.message","BRANCH NAME":"g.branchName","STATUS": "u.status","ENVIRONMENT": "u.environment"

PDF Sample

The resultant generated PDF will look like this if all config is correct.


Attaching the whole PDF for reference (pwd:12345)


Mail Config

Provide the Mail server configuration in server-config.json file present in $INSIGHTS_HOME/.InSights/ as below.

"emailConfiguration":
{
         "smtpHostServer": "",
         "smtpPort": "",
         "smtpUserName": "",
         "smtpPassword": "",
         "mailFrom": ""
}

Log Analysis

Each report will generate corresponding log as ${reportname.log} configured in UI. These can be downloaded from UI for analysis purpose which is located as one of the tab in healthcheck page.

Prerequisites : Create a folder named Reports under PlatformAuditService in ${INSIGHTS_HOME}\logs\PlatformAuditService\ and provide write access. 




Back to Top

©2021 Cognizant, all rights reserved. US Patent 10,410,152