Skip to content

Redisgraph cross validation #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 138 commits into from
Aug 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
e1a876b
[add] clarify how to change update_interleave property which is of ex…
filipecosta90 Feb 26, 2020
8b434f7
Fix typo
szarnyasg Feb 26, 2020
782a9cb
[add] updated interactive read query frequencies to match SF1
filipecosta90 Feb 27, 2020
6849747
Merge branch 'clarify.properties' of https://github.com/filipecosta90…
filipecosta90 Feb 27, 2020
b64ab7d
Merge pull request #102 from filipecosta90/clarify.properties
szarnyasg Feb 27, 2020
c76ca26
Use Java 11. Fixes #106
szarnyasg Mar 16, 2020
e5ea731
Bump Travis configuration to OpenJDK11
szarnyasg Mar 19, 2020
f8c2b9a
Fix psql invocations
szarnyasg Mar 19, 2020
06d9d68
Add foreign keys to PostgreSQL schema
petere Apr 14, 2020
6a3cd67
Merge pull request #110 from petere/postgres-foreign-keys
szarnyasg Apr 14, 2020
0cec96e
Downgrade to Java 8 to support Neo4j 3.x
szarnyasg Apr 14, 2020
1ef32c7
Do not enforce FK constraints in psql until updates are fixed
szarnyasg Apr 14, 2020
3940ce0
Postgres: Use ldbcsftest DB instead of ldbcsf1 for testing
szarnyasg Apr 16, 2020
0060282
Fix interactive tests to satisfy FK constraints, re-enable FKs in Pos…
szarnyasg Apr 16, 2020
4167460
Merge pull request #112 from ldbc/fix-interactive-tests
szarnyasg Apr 16, 2020
c98ec88
Add script to temporarily disable updates in Postgres runs
szarnyasg May 3, 2020
9ed377a
Use uniform frequencies
szarnyasg May 3, 2020
0317cf0
Add util script to change time unit to us
imbur May 3, 2020
24f8bef
Fix possible infinite loop in IC-13 query by recording the path.
jmarton Jun 1, 2020
3c50f08
Merge pull request #128 from ldbc/postgresql-ic-13-fix-infinite-loop
szarnyasg Jun 2, 2020
0ef971c
Bump Neo4j version to the latest in 3.x line
szarnyasg Jul 6, 2020
17e3999
Add Neo4j indices #25
szarnyasg Jul 8, 2020
4f5289d
Create indexes for Neo4j after loading
szarnyasg Jul 8, 2020
7e1f967
Add script to check the number of persons
szarnyasg Jul 8, 2020
e24ebbb
Fix check-num-person.sh script permission
imbur Jul 8, 2020
b5e06eb
Add SF10 properties file for Cypher validation
szarnyasg Jul 8, 2020
88ec363
Do not print queries in Interactive create validation runs
szarnyasg Jul 8, 2020
535f235
Use 'neo4j-admin import' instead of 'neo4j import'
szarnyasg Jul 8, 2020
a3a0451
Revert "Use 'neo4j-admin import' instead of 'neo4j import'"
szarnyasg Jul 8, 2020
0d82584
Merge pull request #136 from ldbc/interactive-backports
szarnyasg Oct 2, 2020
bc6b0b4
Improve documentation of the Cypher solution
szarnyasg Nov 2, 2020
8236fb1
Add compatibility table to README
szarnyasg Jan 27, 2021
a0d07aa
Add placeholder CircleCI configuration
szarnyasg Feb 10, 2021
f80ccbf
Fix Interactive Q1 implementations: exclude start Person from results
szarnyasg May 3, 2020
a056ab6
Add Postgres instructions for Fedora
szarnyasg Mar 3, 2021
8c0f0b3
Fix locale in PostgreSQL
szarnyasg Mar 8, 2021
a334888
Add id indices
szarnyasg Mar 18, 2021
0b0f141
Use 'POSIX' (=C) locale, which also sets --lc-collate and --lc-ctype
szarnyasg Mar 14, 2021
c8c4155
Merge pull request #159 from ldbc/collate
szarnyasg Apr 2, 2021
07d1c06
Cast number to integer in IC Q7. Fixes #161
szarnyasg Apr 18, 2021
7a86018
Build driver JAR from scratch (README instructions/CI) #162
szarnyasg May 11, 2021
b1e2911
Fix path in CI
szarnyasg May 11, 2021
5ead5d6
Use 0.3.x versioning scheme for current releases
szarnyasg May 13, 2021
a65b4cb
Remove deprecated SPARQL implementation
szarnyasg May 13, 2021
12515eb
Remove DBToaster implementation
szarnyasg May 13, 2021
1da9ce3
postgres: Load posts directly from CSV file
petere May 19, 2021
bdfe025
Relicense repository, add NOTICE file
szarnyasg May 25, 2021
3baaf76
Rework repository: drop BI queries from Java client, use Neo4j 4.x
szarnyasg May 25, 2021
efc9bb5
Make output less verbose
szarnyasg May 25, 2021
8eebebe
Test execution in CircleCI
szarnyasg May 25, 2021
1f9ca11
Use constant values instead of strings in Interactive client
szarnyasg May 25, 2021
593086d
Omit superfluous toInteger() calls
szarnyasg May 25, 2021
dac8cc4
Use v0.3.5 release of the driver
szarnyasg May 25, 2021
c99cd01
Merge pull request #166 from petere/postgres-load-post
szarnyasg May 25, 2021
e4cb01f
Document Neo4j Docker setup
szarnyasg May 29, 2021
802a985
Remove Travis CI configuration, update badges
szarnyasg May 29, 2021
f2955b7
Update README
szarnyasg May 30, 2021
34e99ee
Cleanup README
szarnyasg May 30, 2021
c25c0c2
Fixes/tracking changes in repository URLs
szarnyasg May 30, 2021
414a483
Update README
szarnyasg May 31, 2021
f3c0f8b
Remove BI queries
szarnyasg Jun 5, 2021
691fd9a
Clarify README
szarnyasg Jun 5, 2021
ab3b9aa
Fix links in README
szarnyasg Jun 5, 2021
b429a12
Change path to the Datagen directory
szarnyasg Jun 5, 2021
e476309
Remove Postgres Interactive scripts
szarnyasg Jun 5, 2021
3d9d890
Cleanup code related to the BI workload
szarnyasg Jun 11, 2021
e184fbd
Update descriptions
szarnyasg Jun 21, 2021
80e89c5
Replace CASE structures with coalesce and IS NOT NULL
szarnyasg Jun 20, 2021
0bae44b
Merge pull request #175 from ldbc/coalesce
szarnyasg Jun 21, 2021
b4ed39e
Update Postgres test data
szarnyasg Jun 21, 2021
f036b22
Bump Neo4j version
szarnyasg Jun 22, 2021
71690c3
Add dockerized Postgres implementation, update CI configuration
szarnyasg Jun 21, 2021
81b8f05
Adjust container name for Neo4j/Cypher
szarnyasg Jun 22, 2021
13bc818
Use version available in Docker Hub
szarnyasg Jun 22, 2021
93a09f0
Update READMEs
szarnyasg Jun 22, 2021
22406dd
Remove duplicate script
szarnyasg Jun 22, 2021
d3662c5
Merge pull request #177 from ldbc/run-postgres-in-ci
szarnyasg Jun 22, 2021
b96fef7
Use 'with time zone' instead of 'without time zone'
szarnyasg Jun 22, 2021
3f3aac9
Run PostgreSQL validatiom parameter generator separately
szarnyasg Jun 22, 2021
270fef9
Use 'date' instead of 'timestamp' to store birthday
szarnyasg Jun 22, 2021
6df08d1
Add 'not null' constraints to Postgres schema for FKs where applicable
szarnyasg Jun 22, 2021
2b508f6
Add disable-updates.sh script to Cypher
szarnyasg Jun 22, 2021
c46d8e6
Rename 'raw' directory to 'vanilla'
szarnyasg Jun 22, 2021
6af4147
Rename 'neo4j-scratch' directory to 'scratch' for consistency
szarnyasg Jun 22, 2021
2160b15
Remove delete queries
szarnyasg Jun 22, 2021
c721e91
Remove unused datetime converter
szarnyasg Jun 22, 2021
608f040
Remove deprecated methods in CypherQueryStore
szarnyasg Jun 22, 2021
9541a9b
Fix datetime handling in Cypher queries
szarnyasg Jun 22, 2021
32dcd24
Simplify Postgres testing classes
szarnyasg Jun 22, 2021
284ed4c
Use GMT time zone for Postgres JDBC connection
szarnyasg Jun 22, 2021
3182945
Format Cypher queries
szarnyasg Jun 23, 2021
fc65920
Adjust IC queries 7, 9, 10
szarnyasg Jun 23, 2021
0a4e26b
Add example parameters
szarnyasg Jun 23, 2021
c9e6b1a
Rework directory structure: move benchmark scripts and properties fil…
szarnyasg Jun 23, 2021
bb479cd
Rework how Cypher/Neo4j scripts handle CSV data
szarnyasg Jun 23, 2021
534040f
Test validation result in CI
szarnyasg Jun 23, 2021
ca24816
Merge pull request #178 from ldbc/postgres-optimizations
szarnyasg Jun 23, 2021
ae6706f
Add example parameters in Cypher query head comments
szarnyasg Jun 23, 2021
b4d3786
Simplify 'coalesce' expressions in SQL queries
szarnyasg Jun 23, 2021
7e8e68b
Default to empty string if both inputs of coalesce are NULL
szarnyasg Jun 23, 2021
cfebe10
Fix typo
szarnyasg Jun 23, 2021
f823269
Make content nullable, load NULL value instead of empty strings for P…
szarnyasg Jun 23, 2021
922af1b
Add example parameters to PostgreSQL implementation. Fixes #144
szarnyasg Jun 23, 2021
59e2217
Use spaces consistently (instead of space-tab mix)
szarnyasg Jun 23, 2021
cb9af09
Make container names unique among SNB workloads
szarnyasg Jun 23, 2021
a742c27
Use ANALYZE instead of VACUUM FULL
szarnyasg Jul 2, 2021
2433ca1
Allow NULL values for the message.m_content field
szarnyasg Jul 3, 2021
572ea3c
Cross validate systems both ways in CI
szarnyasg Jul 3, 2021
55fc10f
Merge pull request #183 from ldbc/cross-validate-both-ways
szarnyasg Jul 7, 2021
0926741
Merge pull request #184 from ldbc/nulls
szarnyasg Jul 8, 2021
fad77a5
Change URLs from ldbc.github.io to ldbcouncil.org
szarnyasg Jul 10, 2021
ce5d778
Clarify READMEs
szarnyasg Jul 18, 2021
4928beb
Rework comment
szarnyasg Jul 18, 2021
41b98c1
Test SF1 in CI
szarnyasg Jul 18, 2021
bdbc26e
Use larger machine in CI
szarnyasg Jul 18, 2021
15b65f3
Fix Cyphery query: use date for birthday when inserting Persons
szarnyasg Jul 18, 2021
cd6b7f3
Remove unused method
szarnyasg Jul 18, 2021
0913735
Use separate strings formatters for dates and datetimes
szarnyasg Jul 18, 2021
83ebc6e
Add more comments
szarnyasg Jul 18, 2021
9c6db49
Use explicit ::date modifier in Postgres' SQL queries
szarnyasg Jul 18, 2021
2310c80
Postgres: add '::date' from the client code and example parameter spe…
szarnyasg Jul 18, 2021
41acd1d
Use more consistent spacing (line breaks) in properties files
szarnyasg Jul 18, 2021
69bd96c
Remove redundant update stream files
szarnyasg Jul 18, 2021
cd500ac
Fixes in CI configuration: omit redundant copying, fix CSV name
szarnyasg Jul 18, 2021
db415c0
Merge pull request #188 from ldbc/sf1-test
szarnyasg Jul 18, 2021
8538127
Merge pull request #185 from ldbc/vacuum-analyze
szarnyasg Jul 18, 2021
149e5a2
Clarify READMEs #190
szarnyasg Aug 5, 2021
8e3ec12
Merge remote-tracking branch 'upstream/main' into redisgraph.unstable
jeffreylovitz Aug 5, 2021
98ecf67
Post-merge fixes
jeffreylovitz Aug 5, 2021
a7547c0
WIP
jeffreylovitz Aug 5, 2021
8221d21
WIP
jeffreylovitz Aug 6, 2021
0a997a2
WIP
jeffreylovitz Aug 9, 2021
faf22ec
WIP
jeffreylovitz Aug 9, 2021
8d1024c
Fixes to Java RedisGraph query implementations
jeffreylovitz Aug 10, 2021
5446751
Only run handled queries
jeffreylovitz Aug 10, 2021
356b547
WIP
jeffreylovitz Aug 12, 2021
09f9698
WIP
jeffreylovitz Aug 18, 2021
9407475
Disable failing complex tests
jeffreylovitz Aug 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
125 changes: 97 additions & 28 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,11 @@ workflows:
version: 2
build:
jobs:
- test:
filters:
branches:
ignore:
- stable
- test

jobs:
test:
resource_class: large
resource_class: xlarge
machine:
image: ubuntu-2004:202008-01
steps:
Expand All @@ -24,41 +20,114 @@ jobs:
export DEBIAN_FRONTEND=noninteractive
sudo apt update
# install dependencies
sudo apt install -y curl git wget unzip maven netcat
# driver
git clone --depth 1 --branch dev https://github.com/ldbc/ldbc_snb_driver && cd ldbc_snb_driver && mvn install -DskipTests && cd ..
# Cypher
sudo apt install -y git
# clone, build, and install driver
git clone --depth 1 --branch 0.3.5 https://github.com/ldbc/ldbc_snb_driver && cd ldbc_snb_driver && mvn install -DskipTests && cd ..
# PostgreSQL
pip3 install --user --progress-bar off psycopg2-binary
- run:
name: Build project
command: ./build.sh
- run:
name: Tiny data set - Load Cypher/Neo4j database (1st time)
command: |
cd cypher
scripts/install-dependencies.sh
. scripts/environment-variables-default.sh
scripts/load-in-one-step.sh
cd ..
# PostgreSQL
# TODO
- run:
name: Download data
name: Tiny data set - Create validation parameters with Neo4j/Cypher project
command: |
mkdir data/
cd data
wget -q https://ldbc.github.io/ldbc_snb_data_converter/csv-composite-projected-fk.zip
unzip csv-composite-projected-fk.zip
cd cypher
driver/create-validation-parameters.sh
mv validation_params.csv validation_params_cypher_tiny.csv
cd ..
- run:
name: Load
name: Tiny data set - Load PostgreSQL database (1st time)
command: |
cd postgres
export POSTGRES_CSV_DIR=`pwd`/test-data/
scripts/start.sh
scripts/create-db.sh
scripts/load.sh
cd ..
- run:
name: Tiny data set - Create validation parameters with the PostgreSQL project
command: |
cd postgres
driver/create-validation-parameters.sh
mv validation_params.csv validation_params_postgres_tiny.csv
cd ..
- run:
name: Tiny data set - Load Cypher/Neo4j database (2nd time)
command: |
# PostgreSQL
# TODO
# Cypher
cd cypher
. scripts/environment-variables-default.sh
export NEO4J_CSV_DIR=`pwd`/../data/csv-composite-projected-fk
export NEO4J_CSV_POSTFIX=.csv
scripts/load-in-one-step.sh
cd ..
- run:
name: Test
command: mvn test -B
name: Tiny data set - Cross-validate the Neo4j/Cypher project based on the results from Postgres
command: |
mv postgres/validation_params_postgres_tiny.csv cypher/validation_params.csv
cd cypher
driver/validate.sh | tee validation-log.txt
grep 'Validation Result: PASS' validation-log.txt
cd ..
- run:
name: Run Cypher Python script
name: Tiny data set - Load PostgreSQL database (2nd time)
command: |
cd postgres
export POSTGRES_CSV_DIR=`pwd`/test-data/
scripts/start.sh
scripts/create-db.sh
scripts/load.sh
cd ..
- run:
name: Tiny data set - Cross-validate the Postgres project based on the results from Neo4j/Cypher
command: |
mv cypher/validation_params_cypher_tiny.csv postgres/validation_params.csv
cd postgres
driver/validate.sh | tee validation-log.txt
grep 'Validation Result: PASS' validation-log.txt
cd ..
- run:
name: Download SF1 data set
command: |
wget https://surfdrive.surf.nl/files/index.php/s/Ar7kacLw3LVzQaf/download --quiet --output-document=sf1.zip
unzip sf1.zip
# substitution parameters and updateStreams for Neo4j/Cypher
cp ./sf1/substitution_parameters/* ./cypher/test-data/substitution_parameters/
cp ./sf1/social_network-csv_composite/updateStream* ./cypher/test-data/update_streams/
- run:
name: SF1 data set - Load Cypher/Neo4j database
command: |
cd cypher
python3 bi.py
. scripts/environment-variables-default.sh
export NEO4J_VANILLA_CSV_DIR=`pwd`/../sf1/social_network-csv_composite
scripts/load-in-one-step.sh
cd ..
- run:
name: SF1 data set - Create validation parameters with the Neo4j/Cypher
command: |
cd cypher
driver/create-validation-parameters.sh
mv validation_params.csv validation_params_cypher_sf1.csv
cd ..
- run:
name: SF1 data set - Load PostgreSQL database
command: |
cd postgres
export POSTGRES_CSV_DIR=`pwd`/../sf1/social_network-csv_merge_foreign
scripts/start.sh
scripts/create-db.sh
scripts/load.sh
cd ..
- run:
name: SF1 data set - Cross-validate the Postgres project based on the results from Neo4j/Cypher
command: |
mv cypher/validation_params_cypher_sf1.csv postgres/validation_params.csv
cd postgres
driver/validate.sh | tee validation-log.txt
grep 'Validation Result: PASS' validation-log.txt
cd ..
- slack/status
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,5 @@ validation_params.csv
*.swp
*-actual.json
*-expected.json
results-*/
results/
*.DS_Store
*.report
Loading