graphdb-workbench-tests 3.3.1 → 3.4.0-dynamic-guides-test
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress-flaky.config.js +2 -0
- package/cypress-legacy.config.js +2 -2
- package/cypress-security.config.js +3 -14
- package/e2e-flaky/import/import-server-files-operations.spec.js +1 -1
- package/e2e-flaky/import/import-user-data-batch-operations.spec.js +1 -1
- package/e2e-flaky/setup/sparql-template-create.js +3 -18
- package/e2e-flaky/sparql-editor/actions/execute-update-query.spec.js +2 -12
- package/e2e-flaky/sparql-editor/actions/share-query.spec.js +1 -7
- package/e2e-flaky/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +2 -7
- package/e2e-legacy/graphql/graphql-theme.spec.js +73 -0
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +302 -0
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +167 -0
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +6 -2
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +87 -0
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +166 -0
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +47 -49
- package/e2e-legacy/import/import-server-files.spec.js +3 -1
- package/e2e-legacy/repository/repositories.spec.js +5 -2
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +26 -0
- package/e2e-legacy/resource/resource.spec.js +1 -6
- package/e2e-legacy/setup/aclmanagement/create-rule.spec.js +3 -0
- package/e2e-legacy/setup/connectors-lucene.spec.js +24 -8
- package/e2e-legacy/setup/users-and-access/user-and-access.spec.js +36 -0
- package/e2e-legacy/sparql-editor/actions/expand-results-over-sameas.spec.js +1 -1
- package/e2e-legacy/sparql-editor/actions/show-saved-queries.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasgui-tabs.spec.js +2 -12
- package/e2e-legacy/sparql-editor/yasr/pagination.spec.js +5 -18
- package/e2e-legacy/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +1 -6
- package/e2e-legacy/ttyg/chat-list.spec.js +2 -12
- package/e2e-legacy/ttyg/create-agent.spec.js +8 -48
- package/e2e-legacy/ttyg/edit-agent.spec.js +2 -12
- package/e2e-security/repository/url-with-repository-id-parameter.spec.js +57 -0
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +4 -5
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
- package/fixtures/guides/main-menu/main-menu-guide.json +98 -0
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
- package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +22 -0
- package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
- package/fixtures/guides/welcome/welcome-guide.json +18 -0
- package/npm-shrinkwrap.json +317 -263
- package/package.json +1 -1
- package/steps/base-steps.js +4 -0
- package/steps/error-page-steps.js +9 -0
- package/steps/graphql/playground-editor-steps.js +46 -0
- package/steps/guides/guide-dialog-steps.js +4 -0
- package/steps/import/import-resource-message-dialog.js +1 -1
- package/steps/login-steps.js +4 -0
- package/steps/main-menu-steps.js +12 -0
- package/steps/repository-steps.js +2 -2
- package/steps/setup/acl-management-steps.js +4 -0
- package/steps/setup/user-and-access-steps.js +14 -6
- package/steps/sparql-steps.js +13 -1
- package/steps/visual-graph-steps.js +17 -1
- package/steps/yasgui/yasqe-steps.js +29 -4
- package/steps/yasgui/yasr-steps.js +4 -0
- package/stubs/guides/guides-stubs.js +41 -1
- package/stubs/security-stubs.js +4 -0
- package/stubs/ttyg/ttyg-stubs.js +2 -4
- package/support/e2e-security.js +9 -0
|
@@ -21,12 +21,7 @@ describe('Yasr Table plugin', () => {
|
|
|
21
21
|
|
|
22
22
|
describe('Results formatting', () => {
|
|
23
23
|
|
|
24
|
-
it('Should format all resources as short uris when results are of type uri', {
|
|
25
|
-
retries: {
|
|
26
|
-
runMode: 1,
|
|
27
|
-
openMode: 0
|
|
28
|
-
}
|
|
29
|
-
}, () => {
|
|
24
|
+
it('Should format all resources as short uris when results are of type uri', () => {
|
|
30
25
|
// When I execute a query which return results and results type is uri.
|
|
31
26
|
QueryStubs.stubDefaultQueryResponse();
|
|
32
27
|
YasqeSteps.executeQuery();
|
|
@@ -19,12 +19,7 @@ describe('Visual graph button when user execute a CONSTRUCT query', () => {
|
|
|
19
19
|
cy.deleteRepository(repositoryId);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
it('Should display a "Visual" graph button configured by user', {
|
|
23
|
-
retries: {
|
|
24
|
-
runMode: 1,
|
|
25
|
-
openMode: 0
|
|
26
|
-
}
|
|
27
|
-
}, () => {
|
|
22
|
+
it('Should display a "Visual" graph button configured by user', () => {
|
|
28
23
|
// When I visit a page with "ontotext-yasgui-web-component" on it,
|
|
29
24
|
// and select a CONSTRUCT query.
|
|
30
25
|
YasqeSteps.executeQuery();
|
|
@@ -61,12 +61,7 @@ describe('TTYG chat list', () => {
|
|
|
61
61
|
TTYGViewSteps.getChatByDayGroups().should('have.length', 0);
|
|
62
62
|
});
|
|
63
63
|
|
|
64
|
-
it('Should be able to edit an existing chat name by double click on the chat in the list', {
|
|
65
|
-
retries: {
|
|
66
|
-
runMode: 1,
|
|
67
|
-
openMode: 0
|
|
68
|
-
}
|
|
69
|
-
}, () => {
|
|
64
|
+
it('Should be able to edit an existing chat name by double click on the chat in the list', () => {
|
|
70
65
|
TTYGStubs.stubChatsListGet();
|
|
71
66
|
TTYGStubs.stubChatGet();
|
|
72
67
|
TTYGStubs.stubAgentListGet();
|
|
@@ -90,12 +85,7 @@ describe('TTYG chat list', () => {
|
|
|
90
85
|
TTYGViewSteps.getChatFromGroup(1, 0).should('contain', 'New chat name');
|
|
91
86
|
});
|
|
92
87
|
|
|
93
|
-
it('Should be able to edit an existing chat name through the action menu', {
|
|
94
|
-
retries: {
|
|
95
|
-
runMode: 1,
|
|
96
|
-
openMode: 0
|
|
97
|
-
}
|
|
98
|
-
}, () => {
|
|
88
|
+
it('Should be able to edit an existing chat name through the action menu', () => {
|
|
99
89
|
TTYGStubs.stubChatsListGet();
|
|
100
90
|
TTYGStubs.stubChatGet();
|
|
101
91
|
TTYGStubs.stubAgentListGet();
|
|
@@ -17,12 +17,7 @@ describe('TTYG create new agent', () => {
|
|
|
17
17
|
TTYGStubs.stubAgentDefaultsGet();
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
-
it('Should be able to cancel the new agent creation on the no agents view', {
|
|
21
|
-
retries: {
|
|
22
|
-
runMode: 1,
|
|
23
|
-
openMode: 0
|
|
24
|
-
}
|
|
25
|
-
}, () => {
|
|
20
|
+
it('Should be able to cancel the new agent creation on the no agents view', () => {
|
|
26
21
|
TTYGStubs.stubChatsListGetNoResults();
|
|
27
22
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
28
23
|
// Given I have opened the ttyg page
|
|
@@ -38,12 +33,7 @@ describe('TTYG create new agent', () => {
|
|
|
38
33
|
TTYGViewSteps.getNoAgentsView().should('be.visible');
|
|
39
34
|
});
|
|
40
35
|
|
|
41
|
-
it('Should be able to create a new agent with SPARQL extraction method on the no agents view', {
|
|
42
|
-
retries: {
|
|
43
|
-
runMode: 1,
|
|
44
|
-
openMode: 0
|
|
45
|
-
}
|
|
46
|
-
}, () => {
|
|
36
|
+
it('Should be able to create a new agent with SPARQL extraction method on the no agents view', () => {
|
|
47
37
|
TTYGStubs.stubChatsListGetNoResults();
|
|
48
38
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json', 1000);
|
|
49
39
|
// Given I have opened the ttyg page
|
|
@@ -182,12 +172,7 @@ describe('TTYG create new agent', () => {
|
|
|
182
172
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
183
173
|
});
|
|
184
174
|
|
|
185
|
-
it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method', {
|
|
186
|
-
retries: {
|
|
187
|
-
runMode: 1,
|
|
188
|
-
openMode: 0
|
|
189
|
-
}
|
|
190
|
-
}, () => {
|
|
175
|
+
it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method', () => {
|
|
191
176
|
RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-disabled-fts.json');
|
|
192
177
|
TTYGStubs.stubChatsListGetNoResults();
|
|
193
178
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
@@ -204,12 +189,7 @@ describe('TTYG create new agent', () => {
|
|
|
204
189
|
TtygAgentSettingsModalSteps.getFtsDisabledHelp().should('be.visible');
|
|
205
190
|
});
|
|
206
191
|
|
|
207
|
-
it('Should be able to create agent with FTS extraction method', {
|
|
208
|
-
retries: {
|
|
209
|
-
runMode: 1,
|
|
210
|
-
openMode: 0
|
|
211
|
-
}
|
|
212
|
-
}, () => {
|
|
192
|
+
it('Should be able to create agent with FTS extraction method', () => {
|
|
213
193
|
RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-enabled-fts.json');
|
|
214
194
|
TTYGStubs.stubChatsListGetNoResults();
|
|
215
195
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
@@ -245,12 +225,7 @@ describe('TTYG create new agent', () => {
|
|
|
245
225
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
246
226
|
});
|
|
247
227
|
|
|
248
|
-
it('Should require similarity index in order to create agent with similarity search method', {
|
|
249
|
-
retries: {
|
|
250
|
-
runMode: 1,
|
|
251
|
-
openMode: 0
|
|
252
|
-
}
|
|
253
|
-
}, () => {
|
|
228
|
+
it('Should require similarity index in order to create agent with similarity search method', () => {
|
|
254
229
|
TTYGStubs.stubChatsListGetNoResults();
|
|
255
230
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
256
231
|
TTYGStubs.getSimilarityIndexesForRepo();
|
|
@@ -268,12 +243,7 @@ describe('TTYG create new agent', () => {
|
|
|
268
243
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
269
244
|
});
|
|
270
245
|
|
|
271
|
-
it('Should be able to configure and create agent with similarity index search method', {
|
|
272
|
-
retries: {
|
|
273
|
-
runMode: 1,
|
|
274
|
-
openMode: 0
|
|
275
|
-
}
|
|
276
|
-
}, () => {
|
|
246
|
+
it('Should be able to configure and create agent with similarity index search method', () => {
|
|
277
247
|
TTYGStubs.stubChatsListGetNoResults();
|
|
278
248
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
279
249
|
TTYGStubs.getSimilarityIndexesForRepo(repositoryId);
|
|
@@ -316,12 +286,7 @@ describe('TTYG create new agent', () => {
|
|
|
316
286
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
317
287
|
});
|
|
318
288
|
|
|
319
|
-
it('Should require retrieval connector in order to create an agent with GPT retrieval connector method', {
|
|
320
|
-
retries: {
|
|
321
|
-
runMode: 1,
|
|
322
|
-
openMode: 0
|
|
323
|
-
}
|
|
324
|
-
}, () => {
|
|
289
|
+
it('Should require retrieval connector in order to create an agent with GPT retrieval connector method', () => {
|
|
325
290
|
TTYGStubs.stubChatsListGetNoResults();
|
|
326
291
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
327
292
|
ConnectorStubs.stubGetConnectors();
|
|
@@ -343,12 +308,7 @@ describe('TTYG create new agent', () => {
|
|
|
343
308
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
344
309
|
});
|
|
345
310
|
|
|
346
|
-
it('Should be able to configure and create an agent with retrieval connector method', {
|
|
347
|
-
retries: {
|
|
348
|
-
runMode: 1,
|
|
349
|
-
openMode: 0
|
|
350
|
-
}
|
|
351
|
-
}, () => {
|
|
311
|
+
it('Should be able to configure and create an agent with retrieval connector method', () => {
|
|
352
312
|
TTYGStubs.stubChatsListGetNoResults();
|
|
353
313
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
354
314
|
ConnectorStubs.stubGetConnectors();
|
|
@@ -16,12 +16,7 @@ describe('TTYG edit an agent', () => {
|
|
|
16
16
|
TTYGStubs.stubAgentDefaultsGet();
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
it(' should be able to edit an agent.', {
|
|
20
|
-
retries: {
|
|
21
|
-
runMode: 1,
|
|
22
|
-
openMode: 0
|
|
23
|
-
}
|
|
24
|
-
}, () => {
|
|
19
|
+
it(' should be able to edit an agent.', () => {
|
|
25
20
|
TTYGStubs.stubChatsListGet();
|
|
26
21
|
TTYGStubs.stubAgentListGet();
|
|
27
22
|
TTYGStubs.stubChatGet();
|
|
@@ -50,12 +45,7 @@ describe('TTYG edit an agent', () => {
|
|
|
50
45
|
});
|
|
51
46
|
|
|
52
47
|
|
|
53
|
-
it('should be able to edit Autocomplete extraction method option', {
|
|
54
|
-
retries: {
|
|
55
|
-
runMode: 1,
|
|
56
|
-
openMode: 0
|
|
57
|
-
}
|
|
58
|
-
}, () => {
|
|
48
|
+
it('should be able to edit Autocomplete extraction method option', () => {
|
|
59
49
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-autocomplete-query.json');
|
|
60
50
|
// Given I have opened the ttyg page
|
|
61
51
|
TTYGViewSteps.visit();
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {RepositorySelectorSteps} from '../../steps/repository-selector-steps.js';
|
|
2
|
+
import {LoginSteps} from '../../steps/login-steps.js';
|
|
3
|
+
import {UserAndAccessSteps} from '../../steps/setup/user-and-access-steps.js';
|
|
4
|
+
import HomeSteps from '../../steps/home-steps.js';
|
|
5
|
+
|
|
6
|
+
describe('URL with Repository ID parameter', () => {
|
|
7
|
+
let repositoryId;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
repositoryId = 'repository-in-url-' + Date.now();
|
|
11
|
+
cy.createRepository({id: repositoryId});
|
|
12
|
+
cy.presetRepository(repositoryId);
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
cy.loginAsAdmin();
|
|
17
|
+
cy.switchOffSecurity(true);
|
|
18
|
+
cy.deleteRepository(repositoryId);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should set repositoryId in url after enable security->login', () => {
|
|
22
|
+
enableSecurity(repositoryId);
|
|
23
|
+
// When user logs in again
|
|
24
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
25
|
+
// Then repositoryId parameter should be present in the URL and repository should be selected in the selector
|
|
26
|
+
UserAndAccessSteps.getUsersCatalogContainer().should('be.visible');
|
|
27
|
+
cy.url().should('include', 'repositoryId=' + repositoryId);
|
|
28
|
+
RepositorySelectorSteps.getSelectedRepository().should('contain', repositoryId);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('should set repositoryId in ur after first login', () => {
|
|
32
|
+
// Given security is on
|
|
33
|
+
cy.switchOnSecurity();
|
|
34
|
+
// And I log in with user admin
|
|
35
|
+
LoginSteps.visitLoginPage();
|
|
36
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
37
|
+
// Then repositoryId parameter should be present in the URL and repository should be selected in the selector
|
|
38
|
+
HomeSteps.getView().should('be.visible');
|
|
39
|
+
cy.url().should('include', 'repositoryId=' + repositoryId);
|
|
40
|
+
RepositorySelectorSteps.getSelectedRepository().should('contain', repositoryId);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
function enableSecurity(repositoryId) {
|
|
45
|
+
// Given security is off
|
|
46
|
+
// When user visits user and access page
|
|
47
|
+
UserAndAccessSteps.visit();
|
|
48
|
+
// Then url should contain repositoryId parameter and repository should be selected in the selector
|
|
49
|
+
cy.url().should('include', 'repositoryId=' + repositoryId);
|
|
50
|
+
RepositorySelectorSteps.getSelectedRepository().should('contain', repositoryId);
|
|
51
|
+
// When user toggles security on
|
|
52
|
+
UserAndAccessSteps.toggleSecurity();
|
|
53
|
+
// Then user should be logged out and login page should be shown
|
|
54
|
+
LoginSteps.getLoginPage().should('be.visible');
|
|
55
|
+
// And repositoryId parameter should not be present in the URL
|
|
56
|
+
cy.url().should('not.include', 'repositoryId=');
|
|
57
|
+
}
|
|
@@ -2,6 +2,7 @@ import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
|
2
2
|
import {UserAndAccessSteps} from "../../../steps/setup/user-and-access-steps";
|
|
3
3
|
import {LoginSteps} from "../../../steps/login-steps";
|
|
4
4
|
import {ToasterSteps} from "../../../steps/toaster-steps";
|
|
5
|
+
import {HeaderSteps} from '../../../steps/header-steps.js';
|
|
5
6
|
|
|
6
7
|
describe('Turn on Security', () => {
|
|
7
8
|
|
|
@@ -15,15 +16,13 @@ describe('Turn on Security', () => {
|
|
|
15
16
|
cy.switchOffSecurity(true);
|
|
16
17
|
})
|
|
17
18
|
|
|
18
|
-
it('should enable security and show login screen
|
|
19
|
+
it('should enable security and show login screen', () => {
|
|
19
20
|
// Navigate to Users & Access
|
|
20
21
|
UserAndAccessSteps.visit();
|
|
21
22
|
// Verify we are redirected to login page
|
|
22
23
|
cy.url().should('include', '/login');
|
|
23
|
-
|
|
24
|
-
MainMenuSteps.
|
|
25
|
-
MainMenuSteps.getMenuMonitoring().should('not.exist');
|
|
26
|
-
MainMenuSteps.getMenuSetup().should('not.exist');
|
|
24
|
+
HeaderSteps.getHeader().should('not.exist');
|
|
25
|
+
MainMenuSteps.getMainMenu().should('not.exist');
|
|
27
26
|
});
|
|
28
27
|
|
|
29
28
|
it('should reject wrong credentials and accept admin/root', () => {
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Execute SPARQL query Guide"
|
|
5
|
+
},
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"guideBlockName": "execute-sparql-query",
|
|
9
|
+
"options": {
|
|
10
|
+
"queries": [
|
|
11
|
+
{
|
|
12
|
+
"query": "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n select * where { \n\t?s rdfs:label ?o .\n} limit 3 ",
|
|
13
|
+
"queryExtraContent": {
|
|
14
|
+
"en": "Extra content for query."
|
|
15
|
+
},
|
|
16
|
+
"resultExtraContent": {
|
|
17
|
+
"en": "Extra content for result."
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"guideBlockName": "sparql-explain-editor",
|
|
25
|
+
"options": {
|
|
26
|
+
"extraContent": "Some extra explain content"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"guideBlockName": "sparql-results-click-on-iri",
|
|
31
|
+
"options": {
|
|
32
|
+
"iri": "https://swapi.co/resource/planet/25",
|
|
33
|
+
"iriLabel": "rdf:type"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"guideBlockName": "visualise-sparql-query",
|
|
38
|
+
"options": {
|
|
39
|
+
"useMainMenuNavigation": true,
|
|
40
|
+
"query": "PREFIX voc: <https://swapi.co/vocabulary/>\nPREFIX swapi: <https://swapi.co/resource/>\n\nCONSTRUCT {\n?film swapi:hasCharacter ?person .\n}\nWHERE {\n?film a voc:Film ;\nvoc:character ?person .\n}",
|
|
41
|
+
"queryExtraContent": {
|
|
42
|
+
"en": "The query constructs a graph of films and their characters from the Star Wars API."
|
|
43
|
+
},
|
|
44
|
+
"resultExtraContent": {
|
|
45
|
+
"en": "The graph visualisation displays films as nodes connected to their respective characters."
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"guideBlockName": "guide-end"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Confirm duplicate RDF file"
|
|
5
|
+
},
|
|
6
|
+
"guideDescription": {
|
|
7
|
+
"en": "Test step for confirming a duplicated RDF file"
|
|
8
|
+
},
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"guideBlockName": "import-upload-rdf-file",
|
|
12
|
+
"options": {
|
|
13
|
+
"resourceFile": "starwars.ttl"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"guideBlockName": "import-click-on-import-button"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"guideBlockName": "import-rdf-file",
|
|
21
|
+
"options": {
|
|
22
|
+
"resourceFile": "starwars.ttl"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"guideBlockName": "guide-end"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Import RDF file"
|
|
5
|
+
},
|
|
6
|
+
"guideDescription": {
|
|
7
|
+
"en": "Test steps for importing an RDF file"
|
|
8
|
+
},
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"guideBlockName": "import-rdf-file",
|
|
12
|
+
"options": {
|
|
13
|
+
"resourceFile": "starwars.ttl"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"guideBlockName": "guide-end"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
]
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Main menu guide test"
|
|
5
|
+
},
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"guideBlockName": "click-main-menu",
|
|
9
|
+
"options": {
|
|
10
|
+
"menu": "import",
|
|
11
|
+
"mainAction": "import-file",
|
|
12
|
+
"showIntro": true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"guideBlockName": "click-main-menu",
|
|
17
|
+
"options": {
|
|
18
|
+
"menu": "repositories",
|
|
19
|
+
"mainAction": "create-repository",
|
|
20
|
+
"showIntro": true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"guideBlockName": "click-main-menu",
|
|
25
|
+
"options": {
|
|
26
|
+
"menu": "class-hierarchy",
|
|
27
|
+
"mainAction": "class-hierarchy",
|
|
28
|
+
"showIntro": true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"guideBlockName": "click-main-menu",
|
|
33
|
+
"options": {
|
|
34
|
+
"menu": "class-relationships",
|
|
35
|
+
"mainAction": "class-relationships",
|
|
36
|
+
"showIntro": true
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"guideBlockName": "click-main-menu",
|
|
41
|
+
"options": {
|
|
42
|
+
"menu": "visual-graph",
|
|
43
|
+
"mainAction": "visual-graph",
|
|
44
|
+
"showIntro": true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"guideBlockName": "click-main-menu",
|
|
49
|
+
"options": {
|
|
50
|
+
"menu": "similarity",
|
|
51
|
+
"mainAction": "create-similarity-index",
|
|
52
|
+
"showIntro": true
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"guideBlockName": "click-main-menu",
|
|
57
|
+
"options": {
|
|
58
|
+
"menu": "sparql",
|
|
59
|
+
"mainAction": "execute-sparql-query",
|
|
60
|
+
"showIntro": true
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"guideBlockName": "click-main-menu",
|
|
65
|
+
"options": {
|
|
66
|
+
"menu": "ttyg",
|
|
67
|
+
"mainAction": "create-ttyg-agent",
|
|
68
|
+
"showIntro": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"guideBlockName": "click-main-menu",
|
|
73
|
+
"options": {
|
|
74
|
+
"menu": "autocomplete",
|
|
75
|
+
"mainAction": "enable-autocomplete",
|
|
76
|
+
"showIntro": true
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"guideBlockName": "click-main-menu",
|
|
81
|
+
"options": {
|
|
82
|
+
"menu": "connectors",
|
|
83
|
+
"title": "Connectors"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"guideBlockName": "click-main-menu",
|
|
88
|
+
"options": {
|
|
89
|
+
"menu": "rdf-rank",
|
|
90
|
+
"title": "RDF Rank"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"guideBlockName": "guide-end"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Resources"
|
|
5
|
+
},
|
|
6
|
+
"guideDescription": {
|
|
7
|
+
"en": "Resources"
|
|
8
|
+
},
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"guideBlockName": "sparql-editor-run-button"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"guideBlockName": "table-graph-explore",
|
|
15
|
+
"options": {
|
|
16
|
+
"iri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#madeFromGrape",
|
|
17
|
+
"iriLabel": "wine#madeFromGrape",
|
|
18
|
+
"subSteps": [
|
|
19
|
+
{
|
|
20
|
+
"type": "link",
|
|
21
|
+
"iri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#WineGrape",
|
|
22
|
+
"iriLabel": "vin:WineGrape"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "table"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "role",
|
|
29
|
+
"role": "all",
|
|
30
|
+
"extraContent": {
|
|
31
|
+
"en": "This is an extra content."
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "visual",
|
|
36
|
+
"iri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#WineGrape",
|
|
37
|
+
"iriLabel": "vin:WineGrape"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "row",
|
|
41
|
+
"row": 2
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"guideBlockName": "guide-end"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Resources"
|
|
5
|
+
},
|
|
6
|
+
"guideDescription": {
|
|
7
|
+
"en": "Resources"
|
|
8
|
+
},
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"guideBlockName": "sparql-editor-run-button"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"guideBlockName": "table-graph-explore",
|
|
15
|
+
"options": {
|
|
16
|
+
"iri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#madeFromGrape",
|
|
17
|
+
"iriLabel": "wine#madeFromGrape"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"guideBlockName": "guide-end"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "edit-ttyg-test-guide"
|
|
5
|
+
},
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"guideBlockName": "edit-ttyg-agent",
|
|
9
|
+
"options": {
|
|
10
|
+
"methods": [
|
|
11
|
+
{
|
|
12
|
+
"guideBlockName": "sparql-search-method",
|
|
13
|
+
"options": {
|
|
14
|
+
"ontologyGraph": "http://example.com"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
]
|