diff --git a/athena-neptune/docs/aws-glue-sample-scripts/assets/customtable.png b/athena-neptune/docs/aws-glue-sample-scripts/assets/customtable.png index 5696dbc186..297495e3ab 100644 Binary files a/athena-neptune/docs/aws-glue-sample-scripts/assets/customtable.png and b/athena-neptune/docs/aws-glue-sample-scripts/assets/customtable.png differ diff --git a/athena-neptune/docs/aws-glue-sample-scripts/automation/config.json b/athena-neptune/docs/aws-glue-sample-scripts/automation/config.json index 061e1eee53..d456c41fb5 100644 --- a/athena-neptune/docs/aws-glue-sample-scripts/automation/config.json +++ b/athena-neptune/docs/aws-glue-sample-scripts/automation/config.json @@ -1,34 +1,19 @@ { - "queries": [ + "views": [ { - "label":"report1", - "query": "g.V().hasLabel('person').out('follows').valueMap()", + "label":"sourcetodestinationairport", + "query": "g.V().hasLabel('airport').as('source').out('route').as('destination').select('source','destination').by('code').limit(10)", "properties":[ { - "property" : "lastName", + "property" : "source", "dataType" : "String", "isMultiValue" : false, "isNullable" : false }, { - "property" : "created", - "dataType" : "Date", - "isMultiValue" : false, - "isNullable" : false - }, { - "property" : "firstname", - "dataType" : "String", - "isMultiValue" : false, - "isNullable" : false - }, { - "property" : "salary", - "dataType" : "Integer", - "isMultiValue" : false, - "isNullable" : false - }, { - "property" : "JobTitle", + "property" : "destination", "dataType" : "String", "isMultiValue" : false, "isNullable" : false - } ] + }] } ], "edges" : [ { diff --git a/athena-neptune/docs/aws-glue-sample-scripts/automation/script.js b/athena-neptune/docs/aws-glue-sample-scripts/automation/script.js index 2e199408ff..95cc3496e8 100644 --- a/athena-neptune/docs/aws-glue-sample-scripts/automation/script.js +++ b/athena-neptune/docs/aws-glue-sample-scripts/automation/script.js @@ -29,7 +29,7 @@ function addDatabase(addTablesAfterDatabase) { }); } -function addTable(tableType, tableName, tableColumns,query) { +function addTable(tableType, tableName, tableColumns, query) { var params = { DatabaseName: databaseName, /* required */ TableInput: { /* required */ @@ -125,8 +125,8 @@ function addTables(data) { addTable('edge', edge.label, edge.properties); }); - data.queries.forEach(query => { - addTable('query', query.label, query.properties,query.query); + data.views.forEach(view => { + addTable('view', view.label, view.properties,view.query); }); } diff --git a/athena-neptune/docs/aws-glue-sample-scripts/manual/sample-cli-script.sh b/athena-neptune/docs/aws-glue-sample-scripts/manual/sample-cli-script.sh index 8ae8e32b8c..c5408f8fd2 100755 --- a/athena-neptune/docs/aws-glue-sample-scripts/manual/sample-cli-script.sh +++ b/athena-neptune/docs/aws-glue-sample-scripts/manual/sample-cli-script.sh @@ -112,8 +112,8 @@ aws glue create-table \ "Location":"s2://dummy-bucket/"}, "Parameters":{ "separatorChar":",", - "componenttype":"query", - "query":"g.V().hasLabel(\"airport\").as(\"s\").out(\"route\").as(\"d\").project(\"source\",\"destination\").by(select(\"s\").id()).by(select(\"d\").id()).limit(10)" + "componenttype":"view", + "query":"g.V().hasLabel(\"airport\").as(\"source\").out(\"route\").as(\"destination\").select(\"source\",\"destination\").by(\"code\").limit(10)" } }' \ --profile $1 \ diff --git a/athena-neptune/pom.xml b/athena-neptune/pom.xml index 4102f19148..60744471ba 100644 --- a/athena-neptune/pom.xml +++ b/athena-neptune/pom.xml @@ -9,7 +9,7 @@ athena-neptune 2022.47.1 - 3.5.2 + 3.6.2 2.4.0 diff --git a/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/Enums.java b/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/Enums.java index b5bafe96cb..1689e384e7 100644 --- a/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/Enums.java +++ b/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/Enums.java @@ -26,7 +26,7 @@ public enum SpecialKeys { } public enum TableSchemaMetaType { - VERTEX, EDGE, QUERY + VERTEX, EDGE, VIEW } public enum GraphType{ diff --git a/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/PropertyGraphHandler.java b/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/PropertyGraphHandler.java index b83f9c41bb..13eff884b0 100644 --- a/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/PropertyGraphHandler.java +++ b/athena-neptune/src/main/java/com/amazonaws/athena/connectors/neptune/propertygraph/PropertyGraphHandler.java @@ -143,7 +143,7 @@ public void executeQuery( break; - case QUERY: + case VIEW: String query = recordsRequest.getSchema().getCustomMetadata().get("query"); Iterator resultIterator = client.submit(query).iterator();