Skip to content
This repository has been archived by the owner on Jul 26, 2023. It is now read-only.

Rdf ontology graph #163

Open
wants to merge 70 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
4edcb76
create and rdf ontology graph component and display it in app component.
himadri-kumari Jun 22, 2019
88c8af5
read new data from RDF ontology json file and creation of nodes and l…
himadri-kumari Jun 22, 2019
aada811
read new data from RDF ontology json file and creation of nodes and l…
himadri-kumari Jun 22, 2019
9301d63
checking logs..ignore commit
himadri-kumari Jun 22, 2019
09441fa
test commit
RahulSherikar Jun 24, 2019
adc98d8
test commit
RahulSherikar Jun 24, 2019
f1f7523
1. creation of nodes and links for all properties.
RahulSherikar Jun 25, 2019
1b8ff64
docker thing
RahulSherikar Jun 25, 2019
6b07423
implemented graph bounded and Zoom functionality.
himadri-kumari Jun 25, 2019
296b39f
1. implement reset graph functionality and include it into filter tab.
RahulSherikar Jun 25, 2019
d755083
implement the node information section structure in right side card.
himadri-kumari Jun 25, 2019
3480643
1. implement the customization graph section structure in right side …
RahulSherikar Jun 25, 2019
2d863da
docker thing
RahulSherikar Jun 25, 2019
58fdd41
- removed the edge label and replace the literal node label with edge…
himadri-kumari Jun 25, 2019
bb76c6a
1.implementing the customization graph section structure of right sid…
RahulSherikar Jun 25, 2019
b3ff6df
margin end changes
RahulSherikar Jun 25, 2019
63adfc2
disbling zoom on double click
himadri-kumari Jun 26, 2019
0049cde
On double click functionality
himadri-kumari Jun 27, 2019
db5e48b
On double click functionality pending things
RahulSherikar Jun 27, 2019
f1a255d
Onclick functionality
RahulSherikar Jun 28, 2019
8a02d2f
swapped onclick and on double clicked
himadri-kumari Jun 28, 2019
d598101
remove the question marks.
himadri-kumari Jul 1, 2019
f4e5792
fixing issues
himadri-kumari Jul 1, 2019
679085e
Keeping the ontology explorer as a separate item on sidebar.
nandeeshpatelgp Jul 2, 2019
3ae2627
fixing graph display issues after tab implementation.
RahulSherikar Jul 2, 2019
5cc167c
ready for code review
RahulSherikar Jul 2, 2019
3b3ed47
fix the Codacy/PR Quality Review issues
RahulSherikar Jul 2, 2019
15650d8
try resolving merge conflict
RahulSherikar Jul 3, 2019
73c6dbb
try resolving merge conflict ..
RahulSherikar Jul 3, 2019
465abf5
Update app.module.ts
RahulSherikar Jul 3, 2019
764359f
try resolving merge conflict
RahulSherikar Jul 3, 2019
2b92da2
try resolving merge conflict
RahulSherikar Jul 3, 2019
04bdeef
try resolving merge conflict ..
RahulSherikar Jul 4, 2019
98bd508
Merge branch 'master' of https://github.com/dice-group/ida into RDF_O…
RahulSherikar Jul 4, 2019
9666b56
resolve Codacy/PR Quality Review issues
RahulSherikar Jul 4, 2019
fca1056
resolve Codacy/PR Quality Review issues
RahulSherikar Jul 4, 2019
58439cc
resolve Codacy/PR Quality Review issues
RahulSherikar Jul 4, 2019
c980bfa
resolve Codacy/PR Quality Review issues
RahulSherikar Jul 4, 2019
c7725b4
changing svg id value in component html and starting use of Angular m…
RahulSherikar Oct 22, 2019
6bdc036
implemented functionality of collapsing nodes and links that are expa…
RahulSherikar Nov 1, 2019
1f5019f
1. change color of node on expanding/collapsing it.
RahulSherikar Nov 1, 2019
f84a7a3
1.Angular material changes in rdf-ontology components.
RahulSherikar Nov 2, 2019
97893fe
1.Continued angular material changes in rdf-ontology components.
RahulSherikar Nov 2, 2019
a9a7abd
Resource and literals labels fetching and display changes
RahulSherikar Dec 5, 2019
7b82a9b
1.Continued angular material changes in rdf-ontology components.
RahulSherikar Jan 3, 2020
7d89a2e
1.Continued angular material changes in rdf-ontology components.
RahulSherikar Jan 3, 2020
16953c5
test ignore
RahulSherikar Jan 3, 2020
38d76d9
resolving push conflicts.
RahulSherikar Jan 3, 2020
bc86d17
1.Continued angular material changes in rdf-ontology components.
RahulSherikar Jan 3, 2020
6caf5e5
rive script changes
RahulSherikar Jan 12, 2020
29d8fb5
rive script changes.
RahulSherikar Jan 12, 2020
2657e74
rive script changes.
RahulSherikar Jan 12, 2020
aec07bc
removing Ontology.ttl file
RahulSherikar Jan 14, 2020
9786656
new changes + resolving review comments
RahulSherikar Jan 14, 2020
a4b3c45
Merge branch 'RDF_Ontology_Graph' of github.com:dice-group/ida into R…
RahulSherikar Jan 14, 2020
f9a0c3a
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
da69a6d
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
38d155e
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
4b112be
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
003e204
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
c808440
resolving "Codacy/PR Quality Review" issues
RahulSherikar Jan 14, 2020
3c2afa9
Merge branch 'RDF_Ontology_Graph' of github.com:dice-group/ida into R…
RahulSherikar Jan 14, 2020
7ffa1c3
Pulling latest from master.
RahulSherikar Jan 19, 2020
8593af6
Fetching ontology data from fuseki.
RahulSherikar Jan 19, 2020
a62c9ae
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
f1b7a38
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
a7ca0fb
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
45d11dd
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
2111245
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
6dc2c54
resolving "Codacy/PR Quality Review" issues.
RahulSherikar Jan 19, 2020
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
5 changes: 4 additions & 1 deletion ida-chatbot/src/app/app.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
[activeItem]="getActiveItem()"></app-sidebar>
<!-- </div>-->
<div fxFlex="100%" id="mainView">


<app-intro [ngClass]="{'hidden-cls': activeItem!==0 }"></app-intro>
<app-rdf-ontology-view [hidden]='activeItem !== 1'></app-rdf-ontology-view>
<ng-container *ngFor="let mvw of getMainviewItems()" >
<app-data-view-container [item]="mvw" [ngClass]="{'hidden-cls': activeItem!==mvw.id }"></app-data-view-container>
<app-data-view-container [item]="mvw" [ngClass]="{'hidden-cls': activeItem!==mvw.id }"></app-data-view-container>
</ng-container>
</div>
<app-chatbox id="chatBox" fxFlexAlign="end" fxFlex="auto" (actnEmitter)="addNewUserMessage($event)"></app-chatbox>
Expand Down
5 changes: 3 additions & 2 deletions ida-chatbot/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ import {IdaEventService} from './service/event/ida-event.service';
styleUrls: ['./app.component.css']
})
export class AppComponent {
idCount = 1;
idCount = 2;
title = 'app';
public introSideItem = new SidebarElement(0, 'Introduction', 'intro');
public ontologySideItem = new SidebarElement(1, 'Ontology Explorer', 'ontology');
public activeItem = 0;
private sidebarItems: SidebarElement[] = [this.introSideItem];
private sidebarItems: SidebarElement[] = [this.introSideItem, this.ontologySideItem];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work 👍 is it hardcoded? or it will add dynamically? and the thing is AFAIR we don't need any sidebar tab or any tab for RDF ontology explorer as we just only need to show it under the table explorer?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And also there is a conflict :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Maqbool,

for hard coded things @nandeeshpatelgp is best person to answer it, and for where to display it, for now me and Himadri have decided to have a tab below the Introduction and on click of it load the ontology graph component and it will display as
image

we know that this is not the right place to display the ontology graph but this cannot be implement at the last minute , I have created an issue "dice-group/IDA#165" which includes the pending tasks for this PR, please add this into it by mentioning how and where it should be displayed.

And please mention more details on what conflict is there :).

Thanks and regards,
Rahul sherikar.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks ill wait for @nandeeshpatelgp comment :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @maqboolkhan

  1. For now I think it is a independent component and not related to display table as the data used for ontology is historians data which we are not using on the application yet. This change is just for demo.
  2. I don't understand exactly when you say hard-coded, I have made the ontology explorer as a sidebar element similar to intro, which will be shown when you click on the ontology explorer option on sidebar and the option on sidebar is shown all the time similar to introduction. Basically sidebar will have 2 options (intro, ontology) all the time and the third entry will be dynamic for dataset which will be added when user loads any dataset using the chatbot.

I hope this answers your question. If not please let me know.

private mainViewItems: MainviewElement[] = [];

@ViewChild(ChatboxComponent)
Expand Down
4 changes: 3 additions & 1 deletion ida-chatbot/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ import {DatatableDetailComponent} from './components/datatable-detail/datatable-
import { SsbViewComponent } from './components/ssb-view/ssb-view.component';
import { VennViewComponent } from './components/venn-view/venn-view.component';
import { DeckglHexViewComponent } from './components/deckgl-hex-view/deckgl-hex-view.component';
import { RdfOntologyViewComponent } from './components/rdf-ontology-view/rdf-ontology-view.component';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
Expand All @@ -80,7 +81,8 @@ import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
DatatableDetailComponent,
SsbViewComponent,
VennViewComponent,
DeckglHexViewComponent
DeckglHexViewComponent,
RdfOntologyViewComponent
],
imports: [
BrowserModule,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.labelClass {

padding-left: 20px;
text-indent: -15px;
padding-top: 7px;
font-size: 19px;
}
.checkboxClass {
width: 20px;
height: 20px;
padding-top: 10px;
margin:0;
vertical-align: bottom;
position: relative;
top: -8px;
*overflow: hidden;
}
.inputLabelClass {
padding-left: 10px;
font-size: 15px;
float: left;
}

.inputTextClass {
border-radius: 8px;
width: 33%;
padding-left: 3px;
}

.nodeInfoDivClass {
float: left;
}

.nodeInfoDiv {
padding-left: 35px;
font-size: 18px;
width:275px;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
<mat-tab-group style="min-width: 40vw;max-height: 100vh">
<mat-tab label="Ontology Explorer">
<div [attr.id]="fdgId1" fxFlexstyle="height: 150vh; margin: 20px;border-color: #eaeaea;border-style: solid">

<div style="width: 100%; height: 20%;">
<h1 align='center'>Historian Ontology Graph</h1>
</div>
<div id="filtersId"
style="width: 99%;height: 36px;margin-left: 3px;border-radius: 8px;background-color: #5DADE2;">
<label class="labelClass">
Filters:

</label>
<label class="labelClass">
Display in Deutsch
<input class="checkboxClass" type="checkbox" [(ngModel)]="languageCheked"
(change)="checkboxValuesChanged(isChecked)" />
</label>
<label class="labelClass">
Include Class Hierarchy
<input class="checkboxClass" type="checkbox" [(ngModel)]="classHeirarchyChecked" value="1"
(change)="checkboxValuesChanged(isChecked)" />
</label>
<label class="labelClass">
Include All Properties
<input class="checkboxClass" type="checkbox" [(ngModel)]="allPropChecked"
(change)="checkboxValuesChanged(isChecked)" />
</label>
<label class="labelClass">
Bounded Graph
<input class="checkboxClass" type="checkbox" [(ngModel)]="allNodesInBoundClicked"
(change)="checkboxValuesChanged(isChecked)" />
</label>
<label class="labelClass">
Disable Zoom
<input class="checkboxClass" type="checkbox" [(ngModel)]="disableZoomClicked"
(change)="checkboxValuesChanged(isChecked)" />
</label>
<label class="labelClass">
<button #graphReset (click)="graphResetChanged($event)"
style="width: 8%; height: 36px;margin-left: 3px;border-radius: 8px;background-color:whitesmoke;">
Reset Graph
</button>
</label>
</div>
<br />
<div id="filtersId"
style="display: block;float: right;width:24.5%; height: 1053px;background-color:#F2F3F4;border-radius: 8px;">

<div id="nodeInformationId"
style="display: block;height: 26px;background-color:#5DADE2;border-radius: 8px;padding-top: 9px;">
<label class="inputLabelClass">
Node Information:
</label>
<br />
</div>

<div id="nodeInfoTagesId" style=" text-align: justify;overflow: auto;display: block;background-color:#AED6F1;border-radius: 8px;
padding-top: 10px;">
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Node:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Label:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeLabelId"></div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Id:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeIdsId"></div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Type:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeTypeId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Description:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeDescripId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Sub Class Of:
</label>
<div class="nodeInfoDiv" style="width: 309px;" [attr.id]="nodeSubClassId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Domain:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeDomainId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Range:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeRangeId"> </div>
<br /><br />
</div>
<div class="nodeInfoDivClass">
<label class="inputLabelClass">
Comment:
</label>
<div class="nodeInfoDiv" [attr.id]="nodeCommentId"> </div>
<br /><br />
</div>
</div>

<div id="graphConfigId"
style="display: block;height: 26px;background-color:#5DADE2;border-radius: 8px;padding-top: 9px;">
<label class="inputLabelClass">
Customize Graph:
</label>
<br /><br />
</div>

<div id="graphConfigInputsId" style="display: block;background-color:#AED6F1;border-radius: 8px;height: 480px;
padding-top: 10px;">
<label class="inputLabelClass">
Edge Size: <input type="text" class="inputTextClass" [(ngModel)]="edgeSize" placeholder=" 50">
</label><br />
<label class="inputLabelClass">
Graph Charge/Depth : <input type="text" class="inputTextClass" [(ngModel)]="graphCharge"
placeholder=" 1000">
</label><br />
<label class="inputLabelClass">
Resource Node Radius: <input type="text" class="inputTextClass" [(ngModel)]="resourceRadius"
placeholder=" 10">
</label><br />
<label class="inputLabelClass">
Literal Node Radius: <input type="text" class="inputTextClass" [(ngModel)]="literalRadius" placeholder=" 6">
</label><br />
<label class="inputLabelClass">
Resource Node Color: <input type="text" class="inputTextClass" [(ngModel)]="resourceNodeColor"
placeholder=" #311B92">
</label><br />
<label class="inputLabelClass">
Resource Node Text Color: <input type="text" class="inputTextClass" [(ngModel)]="resourceNodeTextColor"
placeholder=" #311B92">
</label><br />
<label class="inputLabelClass">
Literal Node Color: <input type="text" class="inputTextClass" [(ngModel)]="literalNodeColor"
placeholder=" #FF9800">
</label><br />
<label class="inputLabelClass">
Literal node text color: <input type="text" class="inputTextClass" [(ngModel)]="literalNodeTextColor"
placeholder=" #FF9800">
</label><br />
<label class="inputLabelClass">
Sub Class Label: <input type="text" class="inputTextClass" [(ngModel)]="subClassLabel"
placeholder=" --subClassOf--">
</label><br />
<label class="inputLabelClass">
Sub Class Label Color: <input type="text" class="inputTextClass" [(ngModel)]="subClassLabelColor"
placeholder=" #3498DB">
</label><br />
<label class="inputLabelClass">
Property Text Color: <input type="text" class="inputTextClass" [(ngModel)]="propertyTextColor"
placeholder=" #28B463">
</label><br />
<!--
<label class="inputLabelClass">
On click node color: <input type="text" class="inputTextClass" [(ngModel)]="onClickNodeColor" placeholder=" red" >
</label>--><br /> <br /><br /> <br /> <br />

<button #applyConfigBtn (click)="applyConfigClicked($event)"
style="width: 33%; height: 36px;margin-left: 3px;border-radius: 8px;background-color:white;">
Apply Changes
</button>
</div>
</div>
<div [attr.id]="svgId" style="float: left; height: 140vh;background-color: #F8F9F9;border-radius: 8px;position: relative;left: 6px;"></div>
</div>
</mat-tab>
</mat-tab-group>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { RdfOntologyViewComponent } from './rdf-ontology-view.component';

describe('RdfOntologyViewComponent', () => {
let component: RdfOntologyViewComponent;
let fixture: ComponentFixture<RdfOntologyViewComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ RdfOntologyViewComponent ]
})
.compileComponents();
}));

beforeEach(() => {
fixture = TestBed.createComponent(RdfOntologyViewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
Loading