Skip to content
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

Multi model graphical querying #81

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
b05f2bc
Radiobutton-selection between SQL, Cypher, and MQL and fitting view o…
melsvab Feb 10, 2023
2140e75
resolved merge conflict
melsvab Feb 15, 2023
f4e1389
added input fields + fitting generated query to cypher. Active Namesp…
melsvab Feb 15, 2023
cea361a
changed selectedLanguage to lang and modified executeQuery()
melsvab Feb 15, 2023
4a8af47
first buggy prototype for MQL graphyical querying
melsvab Feb 17, 2023
1406f73
new prototype idea for mql
melsvab Feb 17, 2023
11f6d93
implemented or & nor, equal and not equal for mql
melsvab Feb 18, 2023
90ae085
extended cypher prototyp with additional input fields. Fixxed multipl…
melsvab Feb 19, 2023
6a35c66
extended mql querying with greater and lesser
melsvab Feb 21, 2023
a50de2f
added extra fields for relationship types in cypher
melsvab Feb 21, 2023
399bb46
added delete button for every new row in mql
melsvab Feb 22, 2023
4430b44
added dropdown for mql button
melsvab Feb 22, 2023
f71d37a
added first buggy prototype for mql for its properties. Bugs to fix: …
melsvab Feb 24, 2023
f1a9582
fixed smaller bugs for new prototype mql
melsvab Feb 25, 2023
189f1f4
now deleting through splice instead of leaving the indices values emp…
melsvab Feb 25, 2023
97be967
fixxing small bug for properties
melsvab Feb 25, 2023
293de5c
added and & or operators. TO DO: Fix new delete button bugs
melsvab Mar 5, 2023
49a075e
fixxed delete button for Logical Operators
melsvab Mar 5, 2023
bc0d65c
fixed small mistake for type in mql
melsvab Mar 5, 2023
53ba280
corrected the delete button function specifically for the logical ope…
melsvab Mar 6, 2023
e0a31c7
corrected comma bug in MQL
melsvab Mar 6, 2023
a155b91
added dynamic new fields for cypher
melsvab Mar 6, 2023
2b93c21
added hardcoded node & relationship labels to cypher
melsvab Mar 6, 2023
02fc7af
added simple drag function to the cypher labels
melsvab Mar 7, 2023
0c15719
corrected bug with not undefined dropdown when adding fieldkeyobject
melsvab Mar 7, 2023
9dbd644
added draggable mql rows
melsvab Mar 8, 2023
b1abc37
changed sidebar to support crossmodel
melsvab Mar 8, 2023
fb73879
added code generation for new dynamic cypher fields
melsvab Mar 11, 2023
1d6e43b
added operators to cypher where clause
melsvab Mar 11, 2023
96bc887
added operators to cypher where clause
melsvab Mar 11, 2023
1a2213b
corrected colors for labels in cypher similiar to data-graph.componen…
melsvab Mar 13, 2023
1500ee7
simplified and cleaned code for mql
melsvab Mar 13, 2023
0d87f74
added basic aggregate interface for mql
melsvab Mar 13, 2023
e0ea834
removed boolean operators and and or from the group stage
melsvab Mar 13, 2023
7ef36fc
added simple query generation for the group stage in the aggregate pi…
melsvab Mar 14, 2023
73d36c1
added tooltips to cypher
melsvab Mar 14, 2023
998e57a
added Modal + text for the find method in mql
melsvab Mar 14, 2023
f79277c
added Modal + text for cypher
melsvab Mar 14, 2023
c3d32b7
added sort stage and added unfinished basic modal text for the moment
melsvab Mar 14, 2023
48fd764
added dynamic return fields
melsvab Mar 15, 2023
9724cde
corrected small logical operator bug for mql
melsvab Mar 15, 2023
0e7771b
fixed the aggregation pipeline for mql and finished the modal text
melsvab Mar 21, 2023
2450de7
improved the id field in the group stage of the aggregation pipeline …
melsvab Mar 21, 2023
82a45a0
changed getColletion() to directly the collection
melsvab Mar 22, 2023
cd2b737
created one cypher property field modal for match
melsvab Mar 22, 2023
491fe84
made the modal more beautiful and added some tooltips
melsvab Mar 22, 2023
4651d92
Merge remote-tracking branch 'origin/multi-model-graphical-querying' …
melsvab Mar 22, 2023
8a244ce
made the match modal to adapt dynamically per added match field
melsvab Mar 23, 2023
7f5e5cb
input for nodes inside match modal is differentiated between field
melsvab Mar 23, 2023
c04b3de
added dynamic relationship modal for properties
melsvab Mar 24, 2023
83e68c7
made the cypher match modal only be usable for each one node
melsvab Mar 24, 2023
8c75e07
simplified the cypher match modal code
melsvab Mar 24, 2023
8955c47
added dropdown to return clause in cypher
melsvab Mar 24, 2023
4d67576
fixxed bug that dropdown value of the return clause does not get gene…
melsvab Mar 24, 2023
26e31eb
updating the help modal of cypher with the new features
melsvab Mar 24, 2023
3a8b6b2
fixxed delete button bug that parts of queries are shown of deleted rows
melsvab Mar 24, 2023
f0aad19
small improvemenets
melsvab Apr 1, 2023
78f4eb4
added automatic quotation marks around specific input and added a cle…
melsvab Apr 4, 2023
a68e8d3
removed appearance of undefined in cypher
melsvab Apr 5, 2023
13b39be
small fix to the mql generation code triggered by drag and drop
melsvab Apr 5, 2023
3e25332
adding cross-model querying support
melsvab Apr 23, 2023
ebc067d
adding additional comments
melsvab May 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/app/components/components.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ import {DatesPipeModule} from './data-view/shared-module';
InputComponent,
JsonEditorComponent,
EditorComponent,
DeleteConfirmComponent
DeleteConfirmComponent,
DataGraphComponent
]
})
export class ComponentsModule {
Expand Down
5 changes: 4 additions & 1 deletion src/app/models/ui-request.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,16 +224,19 @@ export class SchemaRequest extends UIRequest {
*/
showTable: boolean;
schemaEdit: boolean;

isCrossModel: boolean;
dataModels: DataModels[];

constructor(routerLinkRoot: string, views: boolean, depth: number, showTable: boolean, schemaEdit?: boolean, dataModels: DataModels[] = [DataModels.RELATIONAL, DataModels.DOCUMENT, DataModels.GRAPH]) {
constructor(routerLinkRoot: string, views: boolean, depth: number, showTable: boolean, schemaEdit?: boolean, isCrossModel= false, dataModels: DataModels[] = [DataModels.RELATIONAL, DataModels.DOCUMENT, DataModels.GRAPH]) {
super();
this.routerLinkRoot = routerLinkRoot;
this.views = views;
this.depth = depth;
this.showTable = showTable;
this.schemaEdit = schemaEdit || false;
this.dataModels = dataModels;
this.isCrossModel = isCrossModel;
}
}

Expand Down
2 changes: 2 additions & 0 deletions src/app/views/querying/console/console.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,8 @@ export class ConsoleComponent implements OnInit, OnDestroy {
this.queryAnalysis = null;

this.loading = true;
console.log(code);
console.log(this.activeNamespace);
if (!this._crud.anyQuery(this.websocket, new QueryRequest(code, this.analyzeQuery, this.useCache, this.lang, this.activeNamespace))) {
this.loading = false;
this.resultSets = [new ResultSet('Could not establish a connection with the server.', code)];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export class ExploreByExampleComponent implements OnInit, OnDestroy {
}

initSchema() {
this._crud.getSchema(new SchemaRequest('views/graphical-querying/', true, 3, false, false, [DataModels.RELATIONAL])).subscribe(
this._crud.getSchema(new SchemaRequest('views/graphical-querying/', true, 3, false, false, false, [DataModels.RELATIONAL])).subscribe(
res => {
const nodeAction = (tree, node, $event) => {
if (!node.isActive && node.isLeaf) {
Expand Down
1,472 changes: 1,411 additions & 61 deletions src/app/views/querying/graphical-querying/graphical-querying.component.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,59 @@
padding-right: 0;
}

//Dropdown
.json-dropdown {
display: block;
// center block
margin: 0 auto;
position: absolute;
left: 50%;
transform: translateX(-50%);
}

.show-error {
display: block !important;
}

.cypher-sidebar {
background-color: #f0f3f5;
border: 1px solid #c8ced3;
}

.mql-second-text-fields {
background-color: rgb(210, 210, 210, 0.9);
padding: 1em;
border: 1px rgba(0, 0, 0, 0.125) solid;
}

.text-fields {
background-color: #dcdcdc;
padding: 1em;
margin-bottom: 1.5em;
border: 1px rgba(0, 0, 0, 0.125) solid;
}

//Label Container
.label-container {
display: flex;
}

.label-container p {
margin-right: 2.5em;
}

.label-node {
padding-left: 0.5em;
padding-right: 0.5em;
border: 1px solid black;
}

.label-relation {
padding-left: 0.5em;
padding-right: 0.5em;
border-radius: 1.5em;
border: 1px solid black;
}



Loading