{"id":17875833,"url":"https://github.com/constraintautomaton/amw_shape_index_results","last_synced_at":"2025-04-03T00:23:55.258Z","repository":{"id":240767371,"uuid":"801487305","full_name":"constraintAutomaton/amw_shape_index_results","owner":"constraintAutomaton","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-22T20:10:47.000Z","size":223,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-22T20:34:04.539Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/constraintAutomaton.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-16T10:23:51.000Z","updated_at":"2024-05-27T16:26:29.338Z","dependencies_parsed_at":"2024-05-20T20:44:44.458Z","dependency_job_id":"911ca821-de50-4f8c-a48c-55ea44a50346","html_url":"https://github.com/constraintAutomaton/amw_shape_index_results","commit_stats":null,"previous_names":["constraintautomaton/amw_shape_index_results"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constraintAutomaton%2Famw_shape_index_results","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constraintAutomaton%2Famw_shape_index_results/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constraintAutomaton%2Famw_shape_index_results/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/constraintAutomaton%2Famw_shape_index_results/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/constraintAutomaton","download_url":"https://codeload.github.com/constraintAutomaton/amw_shape_index_results/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246912900,"owners_count":20853943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T11:25:30.501Z","updated_at":"2025-04-03T00:23:55.235Z","avatar_url":"https://github.com/constraintAutomaton.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# amw_shape_index_results\nA repository for the experiments in relation to the short paper \"Opportunities for Shape-based Optimization of Traversal Queries over Decentralized Environments\" submitted to the [\"Alberto Mendelzon International Workshop on Foundations of Data Management\"](https://amw2024.github.io/).\n\n## Dependencies\n- Python 3\n- Nodejs v18 or higher\n\n## Experiment\nThe experiment consist of executing a [subset of the queries](client/queries) from the benchmark [Solidbench](https://github.com/SolidBench/SolidBench.js). \nIn each pod a complete shape index is added using a custom implementation of a [rdf-dataset-fragmenter.js](https://github.com/constraintAutomaton/rdf-dataset-fragmenter.js/tree/feature/shapeIndex).\n\nExample of a shape index\n```turtle\n\u003cindex1\u003e a si:ShapeIndex ;\n  si:domain \"http://localhost:3000/pods/00000000000000000065/.*\" ;\n  si:entry [\n    si:bindByShape \u003chttp://localhost:3000/pods/00000000000000000065/profile_shape#Profile\u003e ;\n    solid:instanceContainer \u003chttp://localhost:3000/pods/00000000000000000065/profile/\u003e\n  ], [\n    si:bindByShape \u003chttp://localhost:3000/pods/00000000000000000065/posts_shape#Post\u003e ;\n    solid:instanceContainer \u003chttp://localhost:3000/pods/00000000000000000065/posts/\u003e\n  ] , [\n    si:bindByShape \u003chttp://localhost:3000/pods/00000000000000000065/comments_shape#Comment\u003e ;\n    solid:instanceContainer \u003chttp://localhost:3000/pods/00000000000000000065/comments/\u003e\n  ] ;\n  si:isComplete true .\n```\nExample of a shape\n\n```turtle\nPREFIX xsd: \u003chttp://www.w3.org/2001/XMLSchema#\u003e\nPREFIX ldbcvoc: \u003chttp://localhost:3000/www.ldbc.eu/ldbc_socialnet/1.0/vocabulary/\u003e\nPREFIX schema: \u003chttp://www.w3.org/2000/01/rdf-schema#\u003e\n\n\u003chttp://localhost:3000/pods/00000000000000000065/comments_shape#Comment\u003e CLOSED {\n    a ldbcvoc:Comment?;\n    ldbcvoc:id xsd:long ;\n    ldbcvoc:creationDate xsd:dateTime ;\n    ldbcvoc:locationIP xsd:string  ;\n    ldbcvoc:browserUsed xsd:string ;\n    ldbcvoc:content xsd:string?;\n    ldbcvoc:lenght xsd:int ;\n    ldbcvoc:hasTag IRI *;\n    (\n        ldbcvoc:replyOf @\u003chttp://localhost:3000/pods/00000000000000000065/comments_shape#Post\u003e *;\n        |\n        ldbcvoc:replyOf @\u003chttp://localhost:3000/pods/00000000000000000065/posts_shape#Comment\u003e *;\n    );\n    ldbcvoc:isLocatedIn IRI ;\n    ldbcvoc:hasCreator @\u003chttp://localhost:3000/pods/00000000000000000065/profile_shape#Profile\u003e ;\n}\n```\n\nTo run the experiment two steps are necessary.\n- Generate and serve SolidBench\n- Run the Comunica client with selected queries\n\n### Generate and serve Solidbench\n```\ncd ./server\n./install\nyarn run solidbench-generate\nyarn run solidbench-serve\n```\nThis will generate the data and serve an HTTP server hosting the data.\n\n### Run the benchmark\n\n```\ncd ./client\n./install\nyarn run benchmark\n```\n\nThis will run the benchmark with every selected queries.\nThe results including the log and the summary of the results will be available in `./client/result`\n\n## Results\nAn analysis of the results is presented in `./result`.\nIt is generated using a [jupyter notebook](https://jupyter.org/).\nTo install all the dependencies inside a virtual the user can run `./create_python_env.sh` and to start the notebook using this environement in the browser `./execute_jupyter.sh`.\nBelow some important figure are presented.\n\n### Result figure\n![Summary of the results](result/figure/combined.svg)\nThe query execution time distribution (the upper graph) and the number of HTTP requests (the lower graph).\nThe results of our approach are in blue and the state of the art (type index with LDP) in red.\nThe results have been generated with 50 repetitions and a timeout of 6000 ms. \nThe queries are denoted with first the initial of the query template (e.g., S1 for interactive-**s**hort-**1**), and the version of the concrete query (e.g., V0).\n### Table of performance\nTable presenting the percentage of reductions of the shape index approach in relation to the type index approach.SI stand for shape index and TI for type index.\n\n| Query (SI/TI)        | Std execution time   | Percentage of reduction HTTP request   | Percentage of reduction execution time   | Ratio of HTTP request by ratio of execution time   |\n|----------------------|----------------------|----------------------------------------|------------------------------------------|----------------------------------------------------|\n| complex-8 version 0  | -                    | -                                      | -                                        | -                                                  |\n| complex-8 version 1  | -                    | -                                      | -                                        | -                                                  |\n| complex-8 version 2  | -                    | -                                      | -                                        | -                                                  |\n| complex-8 version 3  | -                    | -                                      | -                                        | -                                                  |\n| complex-8 version 4  | -                    | -                                      | -                                        | -                                                  |\n| discover-1 version 0 | 48/51                | 42                                     | 17                                       | 0.7                                                |\n| discover-1 version 1 | 5/8                  | 68                                     | 60                                       | 0.8                                                |\n| discover-1 version 2 | 5/12                 | 63                                     | 60                                       | 0.92                                               |\n| discover-1 version 3 | 11/40                | 90                                     | 80                                       | 0.5                                                |\n| discover-1 version 4 | 27/47                | 49                                     | 23                                       | 0.66                                               |\n| discover-3 version 0 | 40/42                | 5                                      | 1                                        | 0.96                                               |\n| discover-3 version 1 | 21/23                | 9                                      | 2                                        | 0.93                                               |\n| discover-3 version 2 | 11/20                | 11                                     | 4                                        | 0.93                                               |\n| discover-3 version 3 | 48/67                | 4                                      | -9                                       | 0.88                                               |\n| discover-3 version 4 | 34/39                | 5                                      | -9                                       | 0.87                                               |\n| discover-4 version 0 | 14/29                | 65                                     | 70                                       | 1.17                                               |\n| discover-4 version 1 | 14/11                | 62                                     | 17                                       | 0.46                                               |\n| discover-4 version 2 | 7/9                  | 57                                     | 21                                       | 0.54                                               |\n| discover-4 version 3 | 20/41                | 16                                     | 8                                        | 0.91                                               |\n| discover-4 version 4 | 15/38                | 59                                     | 64                                       | 1.14                                               |\n| discover-5 version 0 | 18/19                | 11                                     | 2                                        | 0.91                                               |\n| discover-5 version 1 | 7/9                  | 64                                     | 26                                       | 0.49                                               |\n| discover-5 version 2 | 7/35                 | 58                                     | 33                                       | 0.63                                               |\n| discover-5 version 3 | 16/59                | 8                                      | 5                                        | 0.97                                               |\n| discover-5 version 4 | 24/27                | 11                                     | 5                                        | 0.94                                               |\n| discover-6 version 0 | -                    | -                                      | -                                        | -                                                  |\n| discover-6 version 1 | 12/20                | 59                                     | 17                                       | 0.49                                               |\n| discover-6 version 2 | 9/15                 | 53                                     | 27                                       | 0.64                                               |\n| discover-6 version 3 | -                    | -                                      | -                                        | -                                                  |\n| discover-6 version 4 | 40/68                | 10                                     | -1                                       | 0.89                                               |\n| discover-7 version 0 | -                    | -                                      | -                                        | -                                                  |\n| discover-7 version 1 | 11/16                | 59                                     | 17                                       | 0.49                                               |\n| discover-7 version 2 | 9/15                 | 53                                     | 25                                       | 0.63                                               |\n| discover-7 version 3 | -                    | -                                      | -                                        | -                                                  |\n| discover-7 version 4 | 50/60                | 10                                     | 6                                        | 0.96                                               |\n| short-1 version 0    | 7/23                 | 95                                     | 74                                       | 0.19                                               |\n| short-1 version 1    | 5/12                 | 70                                     | 38                                       | 0.48                                               |\n| short-1 version 2    | 7/30                 | 65                                     | 40                                       | 0.58                                               |\n| short-1 version 3    | 6/36                 | 97                                     | 80                                       | 0.15                                               |\n| short-1 version 4    | 6/25                 | 94                                     | 74                                       | 0.23                                               |\n| short-5 version 0    | 14/16                | 35                                     | 6                                        | 0.69                                               |\n| short-5 version 1    | 11/52                | 64                                     | 20                                       | 0.45                                               |\n| short-5 version 2    | 27/37                | 9                                      | 1                                        | 0.92                                               |\n| short-5 version 3    | 18/40                | 12                                     | 1                                        | 0.89                                               |\n| short-5 version 4    | 12/12                | 59                                     | 12                                       | 0.47                                               |\n\n### Table of statistical significance\n\nTable presenting the statistical significance of the results. SI stand for shape index and TI for type index.\n\n| Query                 | SI faster query execution   | P value   | SI different execution time than TI   | P value   |\n|-----------------------|-----------------------------|-----------|---------------------------------------|-----------|\n| complex-8 version v0  | -                           | -         | -                                     | -         |\n| complex-8 version v1  | -                           | -         | -                                     | -         |\n| complex-8 version v2  | -                           | -         | -                                     | -         |\n| complex-8 version v3  | -                           | -         | -                                     | -         |\n| complex-8 version v4  | -                           | -         | -                                     | -         |\n| discover-1 version v0 | True                        | 1.57e-28  | True                                  | 3.14e-28  |\n| discover-1 version v1 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-1 version v2 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-1 version v3 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-1 version v4 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-3 version v0 | False                       | 1.09e-01  | False                                 | 2.17e-01  |\n| discover-3 version v1 | False                       | 6.62e-02  | False                                 | 1.32e-01  |\n| discover-3 version v2 | True                        | 4.23e-08  | True                                  | 8.46e-08  |\n| discover-3 version v3 | False                       | 1.00e+00  | True                                  | 8.28e-18  |\n| discover-3 version v4 | False                       | 1.00e+00  | True                                  | 4.82e-21  |\n| discover-4 version v0 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-4 version v1 | True                        | 1.77e-23  | True                                  | 3.54e-23  |\n| discover-4 version v2 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-4 version v3 | True                        | 1.88e-19  | True                                  | 3.76e-19  |\n| discover-4 version v4 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-5 version v0 | True                        | 1.90e-05  | True                                  | 3.80e-05  |\n| discover-5 version v1 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-5 version v2 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-5 version v3 | True                        | 1.89e-07  | True                                  | 3.77e-07  |\n| discover-5 version v4 | True                        | 5.69e-12  | True                                  | 1.14e-11  |\n| discover-6 version v0 | -                           | -         | -                                     | -         |\n| discover-6 version v1 | True                        | 5.46e-27  | True                                  | 1.09e-26  |\n| discover-6 version v2 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-6 version v3 | -                           | -         | -                                     | -         |\n| discover-6 version v4 | False                       | 9.97e-01  | False                                 | 6.27e-03  |\n| discover-7 version v0 | -                           | -         | -                                     | -         |\n| discover-7 version v1 | True                        | 4.71e-28  | True                                  | 9.42e-28  |\n| discover-7 version v2 | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| discover-7 version v3 | -                           | -         | -                                     | -         |\n| discover-7 version v4 | True                        | 9.23e-19  | True                                  | 1.85e-18  |\n| short-1 version v0    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-1 version v1    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-1 version v2    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-1 version v3    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-1 version v4    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-5 version v0    | True                        | 5.00e-12  | True                                  | 1.00e-11  |\n| short-5 version v1    | True                        | 3.93e-29  | True                                  | 7.85e-29  |\n| short-5 version v2    | False                       | 4.75e-02  | False                                 | 9.51e-02  |\n| short-5 version v3    | False                       | 5.84e-01  | False                                 | 8.37e-01  |\n| short-5 version v4    | True                        | 3.89e-24  | True                                  | 7.78e-24  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstraintautomaton%2Famw_shape_index_results","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconstraintautomaton%2Famw_shape_index_results","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstraintautomaton%2Famw_shape_index_results/lists"}