Compare commits

...

293 commits

Author SHA1 Message Date
eb3563dff5 fix: remove individuals from robots.txt disallowed 2021-10-04 16:30:03 +02:00
0e9f962a5e fix: do not encode uri # in queiries for POST #2 2021-10-01 12:19:23 +02:00
67bbdfde84 fix: do not encode uri # in queiries for POST 2021-10-01 12:06:59 +02:00
7edbe86c6c fix: always save current search settings 2021-10-01 11:41:31 +02:00
6f7f5e3dd3 fix: use attribute for excerpts names 2021-09-28 22:21:19 +02:00
258590dc24 Revert "fix: new compilation creation path should be relative to current url"
This reverts commit 9c5ea6f397.
2021-09-28 20:46:10 +02:00
9c5ea6f397 fix: new compilation creation path should be relative to current url 2021-09-28 19:22:35 +02:00
1db2abd612 Merge branch 'excludeDocFromSearch' into texts 2021-09-28 18:11:08 +02:00
15f01d5e37 Added buttons to remove document from search results 2021-09-28 18:10:46 +02:00
214c23a3eb Eng language translations 2021-09-28 18:09:19 +02:00
631e9f9b71 fix: for prev commits 2021-09-28 15:38:18 +02:00
daa373fc2e fix: don't hide articles by default 2021-09-28 14:47:39 +02:00
313a15d7b2 fix: don't hide articles by default 2021-09-28 14:41:26 +02:00
d159e91cd1 More progress 2021-07-19 19:24:39 +02:00
fd5b66000f Some progress 2021-07-15 23:01:42 +02:00
166e90dae0 Added script to exclude uri from search 2021-07-15 16:56:48 +02:00
bf1ddd6657 Moved shortconfig from Vitro branch 2021-06-28 20:01:27 +02:00
16ef97f28d Improved iph theme localization 2021-06-28 18:55:40 +02:00
92704df096 Moved localizations to properties 2021-06-28 17:39:15 +02:00
04d60d0aaa Move alphabetical classifier to VIVO branch 2021-06-28 14:41:57 +02:00
6b1d47bdcb Moved templates from Vitro branch 2021-06-28 14:30:08 +02:00
f11a341f75 Added empty template for statistic counters 2021-05-05 13:21:36 +02:00
Svetlana Rastegina
107c6b6d83 Added settings icon image 2021-04-27 16:39:48 +02:00
Svetlana Rastegina
2ebf2b84f4 Modified style modal window and added close button. 2021-04-27 15:33:27 +02:00
96848371e4 Merge branch 'texts' into modalSettings 2021-04-26 12:35:34 +02:00
0db7f7906a Added user modal settings 2021-04-26 12:35:06 +02:00
Svetlana Rastegina
70a561ae84 Fixed metadata font size. 2021-04-19 13:12:03 +02:00
Svetlana Rastegina
06d92d6e8d Modified favicon icon image. 2021-04-19 13:11:59 +02:00
Svetlana Rastegina
dcfb17856b Modified favicon icon image. 2021-04-19 13:11:54 +02:00
d5721d1d48 Differentiated sources and literature lists for excerpts and complex texts 2021-04-15 17:03:10 +02:00
Svetlana Rastegina
8fadf30f2f Added favicon ico image. 2021-04-12 17:16:17 +02:00
9a890d08ee Autoselect hits per page from query 2021-04-07 18:03:03 +02:00
f88d30718c Fix for prev commit 2021-04-01 01:06:36 +02:00
9b3026c485 Fix top background 2021-04-01 00:39:32 +02:00
d75afa6305 Revert "Fix bad background"
This reverts commit 8f543d1e68.
2021-04-01 00:25:47 +02:00
8f543d1e68 Fix bad background 2021-04-01 00:16:40 +02:00
Svetlana Rastegina
f4f837d19d Modified style on no page result. 2021-03-31 15:10:22 +02:00
Svetlana Rastegina
4c1aa596f3 Added image for literature and source items on right content panel. 2021-03-31 00:08:33 +02:00
Svetlana Rastegina
0b461e9605 Fixed literature and source lists on search results page. 2021-03-30 16:26:11 +02:00
Svetlana Rastegina
f38a5a4708 Fixed title rubric class. 2021-03-30 16:25:53 +02:00
d87cf361d7 Added delete button to article page 2021-03-29 18:16:49 +02:00
e201890a1f Fix article delete query 2021-03-26 18:34:08 +01:00
393b805e25 Fix compilation creation 2021-03-26 14:10:53 +01:00
Svetlana Rastegina
fb7bccd853 Fixed copyright information. 2021-03-25 20:14:00 +01:00
Svetlana Rastegina
2577b4c8a8 Added follow button to rubrics page. 2021-03-25 20:13:57 +01:00
Svetlana Rastegina
ef47dfa35f Fixed expand content on Exerpt page. 2021-03-25 10:56:25 +01:00
Svetlana Rastegina
7c53c79909 Added metadata switch button on compilation page. 2021-03-24 20:16:45 +01:00
aad030deb0 Fix for collapsible metadata and doc parts js 2021-03-24 19:41:29 +01:00
Svetlana Rastegina
6597a750e5 Added metadata switch button. 2021-03-24 19:23:10 +01:00
Svetlana Rastegina
7d8c144b0f Fixed sitch metadata image. 2021-03-24 17:27:54 +01:00
Svetlana Rastegina
770d899e05 Fixed metadata name. 2021-03-24 14:45:43 +01:00
Svetlana Rastegina
c43aa646b0 Added metadata switcher. 2021-03-24 14:40:05 +01:00
6ab16d7848 Added collapsible metadata scripts 2021-03-24 11:49:28 +01:00
Svetlana Rastegina
7cc5057409 Modified custom style check button on search page result. 2021-03-24 10:50:01 +01:00
Svetlana Rastegina
3dbce2253c Fixed entity page width size on all resolutions. 2021-03-24 10:49:53 +01:00
Svetlana Rastegina
94ed653519 Fixed margin bottom p. 2021-03-24 10:49:46 +01:00
Svetlana Rastegina
0fdc72ca32 Fixed padding top text exerpts. 2021-03-24 10:49:39 +01:00
Svetlana Rastegina
48445cfd78 Removed double quote. 2021-03-24 10:49:33 +01:00
Svetlana Rastegina
c933019a2f Fixed metadata information on Exerpt page. 2021-03-24 10:49:28 +01:00
Svetlana Rastegina
4969868784 Modified metadata styles on Exerpt page. 2021-03-24 10:49:24 +01:00
Svetlana Rastegina
a55c5ddc59 Modified page result styles. 2021-03-23 00:08:10 +01:00
Svetlana Rastegina
122e1b283f Modified collupsible button paddings on search result page. 2021-03-22 23:49:07 +01:00
Svetlana Rastegina
1343a41eed Modified collupsible button paddings. 2021-03-22 23:49:04 +01:00
Svetlana Rastegina
3d3881592b Removed double quotes. 2021-03-22 23:49:00 +01:00
Svetlana Rastegina
113a0f9165 Modified authors affilation style. 2021-03-22 23:48:56 +01:00
Svetlana Rastegina
f49d468f9d Fixed title article font-size. 2021-03-22 19:21:40 +01:00
634bf28adc Add standard container for search results 2021-03-22 19:18:50 +01:00
Svetlana Rastegina
0d63da02b2 Modified save button style. 2021-03-22 16:27:31 +01:00
36f5c0d023 Collapsible authors in elenph excerpts 2021-03-22 13:21:38 +01:00
Svetlana Rastegina
9714679207 Deleted empty raw. 2021-03-22 13:12:38 +01:00
Svetlana Rastegina
be2b3dd32d Added new class for tool shelf on compilation page. 2021-03-19 14:31:42 +01:00
Svetlana Rastegina
b7b97c9641 Fixed title break on article page. 2021-03-19 14:31:38 +01:00
Svetlana Rastegina
e03c06f2f5 Fixed shelf tools width for article page. 2021-03-19 14:31:34 +01:00
Svetlana Rastegina
46a1622475 Fixed shelf tools for article page. 2021-03-19 14:31:29 +01:00
Svetlana Rastegina
4930f127cc Fixed main navigation link font size. 2021-03-19 14:31:24 +01:00
Svetlana Rastegina
0970c329ba Added download-icon. 2021-03-19 14:31:21 +01:00
Svetlana Rastegina
45e003bf5b Fixed search result headline and download icon. 2021-03-19 14:31:18 +01:00
Svetlana Rastegina
62c0efb9cb Fixed padding for switch document button. 2021-03-19 14:31:12 +01:00
4044f5ec88 Remove sequential duplicates in literature and sources lists 2021-03-18 12:52:17 +01:00
d8b08024e8 Workaround for broken documents 2021-03-18 12:13:59 +01:00
Svetlana Rastegina
7472d834a0 Changed title font size on page rezult. 2021-03-17 12:14:01 +01:00
Svetlana Rastegina
e9b1d7df89 Fixed search button outline style. 2021-03-17 12:13:40 +01:00
Svetlana Rastegina
a1b2148c49 Modified first publication style. 2021-03-17 12:13:15 +01:00
039dcfae2e Switch text and image on collpase/expand document 2021-03-16 15:39:57 +01:00
Svetlana Rastegina
fbb94b2f35 Added new image. 2021-03-15 16:20:45 +01:00
Svetlana Rastegina
2ad91043b2 Added print button to compilation page. 2021-03-15 16:20:42 +01:00
Svetlana Rastegina
9340a3587f Fixed title style. 2021-03-15 15:00:28 +01:00
Svetlana Rastegina
4c2fdc51c2 Fixed authors page width. 2021-03-15 15:00:22 +01:00
Svetlana Rastegina
ee5b41c4f9 Fixed expand article button. 2021-03-15 14:04:11 +01:00
Svetlana Rastegina
397f29b83e Modified print button position. 2021-03-15 14:04:08 +01:00
Svetlana Rastegina
ee82cb0f51 Modified affilations style. 2021-03-15 14:04:03 +01:00
Svetlana Rastegina
d4186f4558 Hid right top buttons.Modified result page style. 2021-03-14 12:39:43 +01:00
Svetlana Rastegina
fec44a297d Removed online css styles. 2021-03-12 11:57:07 +01:00
Svetlana Rastegina
3d4b377430 Fixed metadata styles. 2021-03-12 11:55:50 +01:00
Svetlana Rastegina
e31b92fae2 Fixed expand button style and metadata content style. 2021-03-11 21:32:07 +01:00
Svetlana Rastegina
e76bff1430 Added page result pagination border. 2021-03-11 19:51:38 +01:00
Svetlana Rastegina
7352adc725 Fixed page result pagination styles. 2021-03-11 19:42:11 +01:00
Svetlana Rastegina
844734824a Modified collapse/expande button style and hided right block on result search page. 2021-03-11 19:30:33 +01:00
836fd45f3c Improved collapsible element 2021-03-11 14:46:36 +01:00
Svetlana Rastegina
aaa5b644a6 Added images for buttons. 2021-03-11 14:16:47 +01:00
Svetlana Rastegina
5d884b22fe Fixed padding top on article title. 2021-03-11 13:15:34 +01:00
Svetlana Rastegina
f06e7db358 Added print function in right panel. 2021-03-10 21:03:37 +01:00
Svetlana Rastegina
69e3037351 Modified page pagination style. 2021-03-10 21:03:34 +01:00
975a778b04 Made rubric list collapsible 2021-03-10 19:58:51 +01:00
Svetlana Rastegina
b7d6345338 Added expand and collapse buttons. 2021-03-10 12:43:34 +01:00
e4c4293a35 Added TOC collapse/expand scripts 2021-03-09 15:09:53 +01:00
Svetlana Rastegina
6b2b1be952 Added expand button for articles metadata. 2021-03-09 10:44:29 +01:00
Svetlana Rastegina
f5b8d7d43d Modified right menu styles. 2021-03-09 10:44:24 +01:00
Svetlana Rastegina
30516cbf03 Added new styles for affilations and metadata. 2021-03-09 10:44:13 +01:00
Svetlana Rastegina
3b40cd5d8a Modified a hover style.Fixed icons padding. 2021-03-05 11:56:13 +01:00
Svetlana Rastegina
b620a439ba Added right search panel on Compilations page.Modified title block. 2021-03-05 11:56:08 +01:00
Svetlana Rastegina
899b2e6d17 Fixed right icons padding. 2021-03-05 11:55:56 +01:00
Svetlana Rastegina
9e8ee41438 Added print,save,export PDF buttons. 2021-03-05 11:55:46 +01:00
b49f169474 Open parent document parts when go to part from TOC 2021-03-05 00:04:59 +01:00
43ff4e44a8 Added table of contents js functions 2021-03-04 16:03:05 +01:00
Svetlana Rastegina
8867d26392 Merge branch 'css' into texts 2021-03-03 21:20:26 +01:00
Svetlana Rastegina
954e3ffdab Added button to top. 2021-03-03 21:11:09 +01:00
Svetlana Rastegina
7028373270 Replaced share link image. 2021-03-03 21:10:16 +01:00
6617262a81 Improved document structure 2021-03-03 20:46:02 +01:00
Svetlana Rastegina
7580e40cc4 Added button To top. 2021-03-03 18:43:46 +01:00
bc426ec4a1 Fix for sources and literature output for document parts 2021-03-03 17:48:22 +01:00
4627c9c22c Move authors metadata to macro 2021-03-03 17:26:00 +01:00
4ee8db0022 Get level of excerpts in document 2021-03-03 17:25:29 +01:00
0e1614a31a Refactoring document structure 2021-03-03 16:15:03 +01:00
00c35dbd17 Add closing tag to sep directive 2021-03-03 15:03:30 +01:00
5b77aaf75f Renamed expand switch settings function 2021-03-03 15:01:08 +01:00
d3328ebf96 Fix underline authors' list 2021-03-03 15:00:38 +01:00
88244a461d Improved article delete query 2021-03-03 14:28:07 +01:00
1b04a58afc Split expand switch into two: setttings switch and one-time switch 2021-03-03 13:43:03 +01:00
7556de1437 Moved freemarker templates into theme 2021-03-02 21:15:21 +01:00
7eea134629 Fix authors sign 2021-03-02 15:40:32 +01:00
65be4fce1c Refactoring rubric and rubrics templates 2021-03-02 15:19:25 +01:00
b5ca5b32ed Fixing expand switch 2021-03-02 15:15:47 +01:00
faf9615b15 Refactoring expand scripts 2021-03-02 15:01:26 +01:00
7b92143572 Refactoring expand scripts 2021-03-02 14:56:17 +01:00
7d29e55b40 Cleaning up elenph excerpt template 2021-03-02 14:14:48 +01:00
2330615e77 Fixed text excerpt delete query 2021-03-01 12:30:55 +01:00
Svetlana Rastegina
79be5fbe3c Fixed literature lists image url. 2021-02-28 22:11:24 +01:00
Svetlana Rastegina
6fb235afd4 Fixed literature lists margins. 2021-02-28 21:58:16 +01:00
Svetlana Rastegina
a54c66fecf Merge branch 'texts' of dev.litvinovg.pro:litvinovg/vivo into texts 2021-02-28 21:39:00 +01:00
67c7d2c363 Temporary hack 2021-02-26 22:00:00 +01:00
Svetlana Rastegina
62676eb756 Fixed margin top lists on search result page. 2021-02-26 20:42:17 +01:00
Svetlana Rastegina
f320f1c567 Fixed literature lists on search result page. 2021-02-26 20:26:27 +01:00
b851995e60 Rewrite indexing rules for more generic cases 2021-02-26 17:37:43 +01:00
032667a87e Add excerpts of any complex publication to ALLTEXT field 2021-02-26 16:57:25 +01:00
6e0eb8cb01 Rename prefix 2021-02-26 16:51:46 +01:00
be8ee67e1b Reindex complex publications on excerpt change 2021-02-26 16:50:04 +01:00
Svetlana Rastegina
2ed94eb668 Fixed literature lists on exerpts page. 2021-02-26 13:40:38 +01:00
Svetlana Rastegina
0ad3937fb7 Fixed fonts size. 2021-02-26 12:33:15 +01:00
db8f9bd0fe Hide duplicate search panel on search results page 2021-02-25 17:17:08 +01:00
17d7a8c227 Fixed buttons ids 2021-02-25 16:50:07 +01:00
a134b9f98d Renamed Работы to Источники 2021-02-25 16:13:15 +01:00
5b91f360d7 Show delete button only if it is usable 2021-02-25 15:17:33 +01:00
0c8163070b Fix compilation template 2021-02-25 15:13:32 +01:00
db103e6293 Merge branch 'design' of dev.litvinovg.pro:litvinovg/vivo into texts 2021-02-25 15:05:47 +01:00
Svetlana Rastegina
6146cbc644 Fixed blocks width on article page. 2021-02-25 12:46:21 +01:00
Svetlana Rastegina
506df325f9 Fixed request right search panel on article page. 2021-02-25 12:37:26 +01:00
Svetlana Rastegina
94c30c094f Hid statistic information. 2021-02-25 12:25:10 +01:00
Svetlana Rastegina
00bb148293 Hid select option in search panel on main page . 2021-02-25 12:05:21 +01:00
Svetlana Rastegina
74b5c642f2 Fixed wrapper-content width on all pages. 2021-02-24 14:09:46 +01:00
Svetlana Rastegina
5c515bc1ef Fixed expand search buttons. 2021-02-24 11:39:38 +01:00
Svetlana Rastegina
177b89c439 Fixed accounts loggedin page. 2021-02-24 00:21:33 +01:00
Svetlana Rastegina
aa46b60153 Fixed articles page and rubrics page. 2021-02-23 23:57:58 +01:00
baf2353bfc Run saved query from compilation page 2021-02-23 22:46:00 +01:00
74545944e4 Save query and rules at compilation creation 2021-02-23 22:31:14 +01:00
Svetlana Rastegina
51fcd68078 Fixed main page styles on various screen resolutions. 2021-02-23 22:14:56 +01:00
Svetlana Rastegina
1a3857bf1a Fixed right search panel and home search region. 2021-02-23 18:42:50 +01:00
293804fcfb Custom template for compilation 2021-02-23 14:57:55 +01:00
Svetlana Rastegina
a148013a20 Added font files on site. 2021-02-22 12:50:19 +01:00
385c42d415 Added elenph excerpt delete query 2021-02-22 11:11:09 +01:00
5008806a8c Added delete queries 2021-02-22 09:01:52 +01:00
bd3b2f31ea Added modification time to compilation generator 2021-02-21 21:54:21 +01:00
Svetlana Rastegina
bb626da213 Changed log in page styles. 2021-02-21 21:28:52 +01:00
Svetlana Rastegina
3f8ef9ca33 Changed right search styles for all screen resolutions. 2021-02-19 17:45:30 +01:00
Svetlana Rastegina
a751682e99 Fixed right search panel. 2021-02-18 22:44:05 +01:00
Svetlana Rastegina
a800ac8b0a Added list style for literature lists. 2021-02-17 22:43:33 +01:00
Svetlana Rastegina
bc323b06fd Added list style for article literature. 2021-02-17 15:34:37 +01:00
Svetlana Rastegina
3abd97ec0a Modified article page styles and added new images. 2021-02-17 15:22:32 +01:00
Svetlana Rastegina
87b05c8af4 Modified alphabetical index page styles. 2021-02-16 22:38:58 +01:00
Svetlana Rastegina
39bd1017a0 Modified alphabetical index page styles. 2021-02-16 21:33:02 +01:00
Svetlana Rastegina
a0b93ad247 Added image for search button on main page. 2021-02-16 13:51:25 +01:00
Svetlana Rastegina
58d3beb31c Fixed select input orange arrow. 2021-02-12 00:11:58 +01:00
Svetlana Rastegina
6e7476fc1d Added new images. 2021-02-11 21:34:50 +01:00
Svetlana Rastegina
b4637a865a Fixed custom search button (background and width on various resolutions). 2021-02-11 21:33:40 +01:00
Svetlana Rastegina
a0f232c149 Fixed fonts size in search block on various screen resolutions. 2021-02-11 14:11:34 +01:00
Svetlana Rastegina
9ba9f62d38 Fixed search block borders. 2021-02-11 12:35:06 +01:00
Svetlana Rastegina
2025fd2a5a Fixed top and bootom margins in search rows. 2021-02-11 12:06:15 +01:00
Svetlana Rastegina
505a0a6a06 Changed search block structure. 2021-02-11 00:07:57 +01:00
Svetlana Rastegina
3143abeed2 Changed css styles on main page. 2021-02-09 21:03:18 +01:00
Svetlana Rastegina
42b1e6206e Fixed width statistic block on all screen resolutions. 2021-02-09 17:33:28 +01:00
Svetlana Rastegina
1e09dfcba8 Added dot image for Title on main page. 2021-02-09 16:40:01 +01:00
Svetlana Rastegina
f9fb3c84a8 Added settings for adaptive designe. 2021-02-09 14:57:39 +01:00
Svetlana Rastegina
a1b6bf1e40 Fixed hesder block for 720px screen size. 2021-02-09 12:30:45 +01:00
Svetlana Rastegina
9791e9d141 Changed extand search styles. 2021-02-08 23:29:06 +01:00
Svetlana Rastegina
b2e3913be2 Modified search block structure. 2021-02-05 23:09:30 +01:00
Svetlana Rastegina
2cb66eb4c6 Modified extenden search form. 2021-02-05 21:06:42 +01:00
Svetlana Rastegina
1c3fb3ad4c Added shadow properties to right button block. 2021-02-05 20:33:56 +01:00
Svetlana Rastegina
3115396e20 Fixed paddings on top right menu. 2021-02-05 19:06:48 +01:00
Svetlana Rastegina
3250f36208 Reterned Index link on top right menu. 2021-02-05 16:56:31 +01:00
Svetlana Rastegina
59395df2e0 Modified expanded search block and fix width properties custom search block on main page. 2021-02-05 14:30:54 +01:00
Svetlana Rastegina
cd351c44e9 Modified text styles on main page. 2021-02-04 19:26:25 +01:00
Svetlana Rastegina
2eabcce5c4 Fixed statistic block appearance on main and others pages. 2021-02-04 17:20:21 +01:00
Svetlana Rastegina
374758c9a5 Fixed footer wrapper. 2021-02-04 14:28:40 +01:00
Svetlana Rastegina
e3ac21683d Modified statistic block styles. 2021-02-04 14:04:57 +01:00
Svetlana Rastegina
15947abdc8 Transfered statistic block from Intro section to Footer section. 2021-02-04 12:09:01 +01:00
Svetlana Rastegina
1fc4503cab Changed text style on main page. 2021-02-03 21:51:12 +01:00
Svetlana Rastegina
cfbc0a3ec9 Removed Search title and modified search form style. 2021-02-03 20:38:33 +01:00
Svetlana Rastegina
ba4b5d00b0 Changed custom search properties on main page. 2021-02-03 17:29:54 +01:00
Svetlana Rastegina
fe39997c0e Fixed search position and properties. 2021-02-03 16:58:23 +01:00
Svetlana Rastegina
7d5f583d4a Modified footer styles. 2021-02-03 13:10:36 +01:00
Svetlana Rastegina
99c71efe81 Modified header menu (Login button) styles. 2021-02-03 12:58:50 +01:00
Svetlana Rastegina
cc1666c2fe Modified header images and main menu styles. 2021-02-03 12:46:05 +01:00
Svetlana Rastegina
9b8e2013f3 Added title name image and refined header-image background. 2021-02-02 23:30:15 +01:00
Svetlana Rastegina
2f518b2d49 Added settings for header image proportionally scaling. 2021-02-02 22:49:43 +01:00
Svetlana Rastegina
0bc8119094 Hidden Index link in top right menu. 2021-02-02 22:34:56 +01:00
Svetlana Rastegina
b5f9fca3d6 Added header image. Changed header width and height. Commented Index link in top right menu. Changed background colour in navigation menu and Log in menu. 2021-02-02 22:15:22 +01:00
7d33caee8a Fix broken js on empty search configuration 2021-02-01 14:37:34 +01:00
e7699bdd14 Removed mistakenly added spaces from uri 2021-01-30 15:14:15 +01:00
163240e98a Added code to create compilation from search results 2021-01-27 16:47:07 +01:00
0a6f45cd02 Added template to display compilation 2021-01-24 21:56:09 +01:00
b6927cb128 Added compilation to text structures ontology 2021-01-24 21:19:50 +01:00
acbd96f852 Added compilation generator 2021-01-24 21:18:21 +01:00
aae4c521d5 Added to print script 2021-01-15 17:42:57 +01:00
2e8f2266a7 Hide login on main page 2020-12-08 12:16:59 +01:00
5a874c80f4 Removed double quotes for input fields in extended search 2020-12-08 12:16:31 +01:00
95dccbf4ec Revert "Try to fix queries"
This reverts commit 6498d194cd.
2020-12-08 12:16:12 +01:00
58ba70e4d4 Fixed field values sorting for extended search 2020-12-08 12:05:45 +01:00
0281f72e2e Save extended search var in browser local storage 2020-12-08 12:05:45 +01:00
f6c64476fe Try to fix queries 2020-12-08 12:05:45 +01:00
3b78730e5d Remove publication participant and organization from search 2020-12-08 12:05:45 +01:00
6e905508b4 Modifications for correct affiliation display 2020-12-08 12:05:45 +01:00
d27dc44f43 Set white background for works and biblio in elenph article excerpts 2020-11-30 21:29:54 +01:00
da3f8ed514 Remove checked attribute from checkbox 2020-11-30 21:29:45 +01:00
eb9ea9f7b0 Hide VIVO logo temporary 2020-11-30 21:29:34 +01:00
9c8e01c22d Fixed url path in issues 2020-11-24 17:21:34 +01:00
4f77bb803f Print info about first article publication 2020-11-12 11:56:22 +01:00
1b9c5fc55c Added home info 2020-11-06 12:01:58 +01:00
4175049a61 Added margin between collapsible elements 2020-11-06 10:40:19 +01:00
82f1660b0c Added expand button to article page 2020-11-06 10:39:38 +01:00
1ac49647a3 Output biblio and works for each excerpt 2020-11-03 15:06:35 +01:00
6196cbc8b3 Added values of allowed properties in ALLTEXT Elenph article 2020-11-02 13:26:50 +01:00
6552ff98b9 Remove entity name from indexed field. 2020-11-02 12:39:16 +01:00
305dfc8a85 Remove property name from indexed field 2020-11-02 12:27:22 +01:00
ec75b995c4 Buttons to add Bibliography and Works 2020-10-30 17:42:11 +01:00
13ddaad34d Remove width 2020-09-21 18:14:31 +02:00
15023940ea Hits per page option 2020-09-21 15:19:53 +02:00
ab2cc8e54a Fix for previous commit 2020-09-15 23:26:14 +02:00
8af3732fb2 Added formGenerator for excerpts and articles 2020-09-15 18:30:49 +02:00
81f31ef123 Update for article page 2020-09-15 16:04:28 +02:00
551c22bdff Updates for ontologies 2020-09-15 16:04:13 +02:00
bfd33fb943 Remove classes from search index 2020-09-04 13:36:44 +02:00
b8112693f3 Added left margin to search form 2020-09-03 21:02:30 +02:00
f56f919789 Fix for previous commit 2020-09-03 15:58:00 +02:00
3196c0e091 New search form 2020-09-03 15:38:28 +02:00
df8e363b08 Made search notes smaller 2020-09-02 16:09:18 +02:00
47edb5af55 Fix search form 2020-09-02 15:53:25 +02:00
e78a01d2f8 Escape search query string 2020-09-02 14:50:26 +02:00
c651511fec Populated text field 2020-08-31 10:03:33 +02:00
37e06f9b72 New example 2020-08-29 10:47:28 +02:00
800e7bb2ff Changed example 2020-08-29 10:08:37 +02:00
274b529c3f Fixed styles 2020-08-29 10:08:23 +02:00
4fd99f49ea New example query 2020-08-25 11:50:48 +02:00
6b6c7db242 Save to local storage at search 2020-08-25 10:47:35 +02:00
5cf377d488 add css rule 2020-08-21 15:11:55 +02:00
ecd0651553 Modified logical search query 2020-08-21 10:49:41 +02:00
7abcdf832b Escape search value 2020-08-21 09:47:03 +02:00
0ab7173351 Changed quotes in search form 2020-08-21 09:28:50 +02:00
84476b3c95 query builder first try 2020-08-21 09:14:06 +02:00
0ffbbf0d67 Removed link to js 2020-08-20 17:38:40 +02:00
f6b8f491f6 Added search ontology 2020-08-20 17:23:11 +02:00
ae141a822a Fill queryBuiler with fields and filters 2020-08-20 17:03:44 +02:00
af1372ef3c Added buttons 2020-08-19 20:21:34 +02:00
e7166f55a7 Added example rules and values 2020-08-19 17:09:13 +02:00
a1c0638347 Fixed query builder configuration 2020-08-19 16:00:26 +02:00
9dedbb01d6 Loading dummy query builder 2020-08-19 13:20:20 +02:00
9afa45ac3c Article's rubrics 2020-08-18 16:03:52 +02:00
e402425daa Sum all rubrics of article while indexing 2020-08-18 15:26:22 +02:00
288facad06 Use custom search service 2020-08-18 15:08:50 +02:00
f0b7a0d850 Styles modifications 2020-08-18 15:08:32 +02:00
9037843731 Fix article page 2020-08-18 15:08:12 +02:00
7c6e16e3de Added issue template 2020-08-18 13:21:30 +02:00
c5733042ba Copied wilma 2020-08-18 13:21:08 +02:00
e9b7bac503 Issue template added 2020-08-17 16:28:52 +02:00
aac411ce41 Added ontologies 2020-08-17 14:44:46 +02:00
ac75d757a8 Modified ontology 2020-08-13 19:36:57 +02:00
48636ef3ce Modifications for fixed ontology 2020-08-13 18:21:03 +02:00
4bd5b3df21 Fixed mistake in query 2020-08-10 11:24:21 +02:00
ce3840e8a5 Added custom fields 2020-08-10 11:18:37 +02:00
3ee4e6de2c Fix for previous commit 2020-08-05 16:54:14 +02:00
b2d0d80acc Added articles info to excerpt 2020-08-05 16:26:26 +02:00
b258e500f8 templates update 2020-08-03 17:42:45 +02:00
cdc8848c72 Updates for templates 2020-08-03 17:30:00 +02:00
e80962629c Templates and SPARQL requests for rubrics, elenph excerpts and articles 2020-07-08 13:20:58 +02:00
183 changed files with 17933 additions and 1 deletions

View file

@ -0,0 +1,649 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import static edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames.DISPLAY;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.JspToGeneratorMapping;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jena.ontology.OntModel;
import org.apache.jena.query.QuerySolution;
import org.apache.jena.query.ResultSet;
import org.apache.jena.rdf.model.Literal;
import edu.cornell.mannlib.vitro.webapp.application.ApplicationUtils;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils;
import edu.cornell.mannlib.vitro.webapp.dao.vclassgroup.ProhibitedFromSearch;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaObjectPropetyOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.i18n.I18n;
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngine;
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngineException;
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchQuery;
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchResponse;
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchResultDocumentList;
import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
/**
* Generates the edit configuration for a default property form.
* This handles the default object property auto complete.
*
* If a default property form is request and the number of indivdiuals
* found in the range is too large, the the auto complete setup and
* template will be used instead.
*/
public class AddRubricToELENPHArticleGenerator implements EditConfigurationGenerator {
private Log log = LogFactory.getLog(AddRubricToELENPHArticleGenerator.class);
private String subjectUri = null;
private String predicateUri = null;
private String objectUri = null;
private String objectPropertyTemplate = "defaultPropertyForm.ftl";
private String acObjectPropertyTemplate = "autoCompleteObjectPropForm.ftl";
private ArrayList<String> excerptIDs= new ArrayList<String>();
protected boolean doAutoComplete = false;
protected boolean tooManyRangeIndividuals = false;
protected long maxNonACRangeIndividualCount = 300;
protected String customErrorMessages = null;
@Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) throws Exception {
if(!EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)) {
throw new Exception("DefaultObjectPropertyFormGenerator does not handle data properties.");
}
//Custom error can also be represented as an exception above, but in this case
//we would like the page to enable the user to go back to the profile page
customErrorMessages = getCustomErrorMessages(vreq);
if(customErrorMessages != null) {
return this.getCustomErrorEditConfiguration(vreq, session);
}
if( tooManyRangeOptions( vreq, session ) ){
tooManyRangeIndividuals = true;
doAutoComplete = true;
}
//Check if create new and return specific edit configuration from that generator.
if(DefaultAddMissingIndividualFormGenerator.isCreateNewIndividual(vreq, session)) {
EditConfigurationGenerator generator = JspToGeneratorMapping.createFor("defaultAddMissingIndividualForm.jsp", DefaultAddMissingIndividualFormGenerator.class);
return generator.getEditConfiguration(vreq, session);
}
//TODO: Add a generator for delete: based on command being delete - propDelete.jsp
//Generate a edit configuration for the default object property form and return it.
//if(DefaultDeleteGenerator.isDelete( vreq,session)){
// return (new DefaultDeleteGenerator()).getEditConfiguration(vreq,session);
return getDefaultObjectEditConfiguration(vreq, session);
}
private String getCustomErrorMessages(VitroRequest vreq) {
String errorMessages = null;
String rangeUri = vreq.getParameter("rangeUri");
VClass rangeVClass = null;
if(rangeUri != null && !rangeUri.isEmpty()) {
WebappDaoFactory ctxDaoFact = vreq.getLanguageNeutralWebappDaoFactory();
rangeVClass = ctxDaoFact.getVClassDao().getVClassByURI(rangeUri);
if(rangeVClass == null) {
errorMessages = I18n.text(vreq,"the_range_class_does_not_exist");
}
}
return errorMessages;
}
protected List<VClass> getRangeTypes(VitroRequest vreq) {
// This first part needs a WebappDaoFactory with no filtering/RDFService
// funny business because it needs to be able to retrieve anonymous union
// classes by their "pseudo-bnode URIs".
// Someday we'll need to figure out a different way of doing this.
//WebappDaoFactory ctxDaoFact = ModelAccess.on(
// vreq.getSession().getServletContext()).getWebappDaoFactory();
WebappDaoFactory ctxDaoFact = vreq.getLanguageNeutralWebappDaoFactory();
List<VClass> types = new ArrayList<VClass>();
Individual subject = EditConfigurationUtils.getSubjectIndividual(vreq);
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
String rangeUri = EditConfigurationUtils.getRangeUri(vreq);
if (rangeUri != null && !rangeUri.isEmpty()) {
VClass rangeVClass = ctxDaoFact.getVClassDao().getVClassByURI(rangeUri);
if(rangeVClass != null) {
if (!rangeVClass.isUnion()) {
types.add(rangeVClass);
} else {
types.addAll(rangeVClass.getUnionComponents());
}
return types;
} else {
log.error("Range VClass does not exist for " + rangeUri);
}
}
WebappDaoFactory wDaoFact = vreq.getWebappDaoFactory();
//Get all vclasses applicable to subject
if(subject != null) {
List<VClass> vClasses = subject.getVClasses();
HashMap<String, VClass> typesHash = new HashMap<String, VClass>();
for(VClass vclass: vClasses) {
List<VClass> rangeVclasses = wDaoFact.getVClassDao().getVClassesForProperty(vclass.getURI(),predicateUri);
if(rangeVclasses != null) {
for(VClass range: rangeVclasses) {
//a hash will keep a unique list of types and so prevent duplicates
typesHash.put(range.getURI(), range);
}
}
}
types.addAll(typesHash.values());
} else {
log.error("Subject individual was null for");
}
return types;
}
private boolean tooManyRangeOptions(VitroRequest vreq, HttpSession session ) throws SearchEngineException {
List<VClass> rangeTypes = getRangeTypes(vreq);
SearchEngine searchEngine = ApplicationUtils.instance().getSearchEngine();
List<String> types = new ArrayList<String>();
for (VClass vclass : rangeTypes) {
if (vclass.getURI() != null) {
types.add(vclass.getURI());
}
}
//empty list means the range is not set to anything, force Thing
if(types.size() == 0 ){
types.add(VitroVocabulary.OWL_THING);
}
long count = 0;
for( String type:types){
//search query for type count.
SearchQuery query = searchEngine.createQuery();
if( VitroVocabulary.OWL_THING.equals( type )){
query.setQuery( "*:*" );
}else{
query.setQuery( VitroSearchTermNames.RDFTYPE + ":" + type);
}
query.setRows(0);
SearchResponse rsp = searchEngine.query(query);
SearchResultDocumentList docs = rsp.getResults();
long found = docs.getNumFound();
count = count + found;
if( count > maxNonACRangeIndividualCount )
break;
}
return count > maxNonACRangeIndividualCount ;
}
private EditConfigurationVTwo getDefaultObjectEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
//process subject, predicate, object parameters
this.initProcessParameters(vreq, session, editConfiguration);
//Assumes this is a simple case of subject predicate var
editConfiguration.setN3Required(this.generateN3Required(vreq));
//n3 optional
editConfiguration.setN3Optional(this.generateN3Optional());
//Todo: what do new resources depend on here?
//In original form, these variables start off empty
editConfiguration.setNewResources(new HashMap<String, String>());
//In scope
this.setUrisAndLiteralsInScope(editConfiguration);
//on Form
this.setUrisAndLiteralsOnForm(editConfiguration, vreq);
editConfiguration.setFilesOnForm(new ArrayList<String>());
//Sparql queries
this.setSparqlQueries(editConfiguration);
//set fields
setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq), getRangeTypes(vreq));
// No need to put in session here b/c put in session within edit request dispatch controller instead
//placing in session depends on having edit key which is handled in edit request dispatch controller
// editConfiguration.putConfigInSession(editConfiguration, session);
prepareForUpdate(vreq, session, editConfiguration);
//After the main processing is done, check if select from existing process
processProhibitedFromSearch(vreq, session, editConfiguration);
//Form title and submit label moved to template
setTemplate(editConfiguration, vreq);
editConfiguration.addValidator(new AntiXssValidation());
//Set edit key
setEditKey(editConfiguration, vreq);
//Adding additional data, specifically edit mode
if( doAutoComplete ){
addFormSpecificDataForAC(editConfiguration, vreq, session);
}else{
addFormSpecificData(editConfiguration, vreq);
}
return editConfiguration;
}
//We only need enough for the error message to show up
private EditConfigurationVTwo getCustomErrorEditConfiguration(VitroRequest vreq, HttpSession session) {
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
//process subject, predicate, object parameters
this.initProcessParameters(vreq, session, editConfiguration);
this.setUrisAndLiteralsInScope(editConfiguration);
//Sparql queries
this.setSparqlQueries(editConfiguration);
prepareForUpdate(vreq, session, editConfiguration);
editConfiguration.setTemplate("customErrorMessages.ftl");
//Set edit key
setEditKey(editConfiguration, vreq);
//if custom error messages is not null, then add to form specific data
if(customErrorMessages != null) {
//at this point, it shouldn't be null
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
formSpecificData.put("customErrorMessages", customErrorMessages);
editConfiguration.setFormSpecificData(formSpecificData);
}
return editConfiguration;
}
private void setEditKey(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
String editKey = EditConfigurationUtils.getEditKey(vreq);
editConfiguration.setEditKey(editKey);
}
private void setTemplate(EditConfigurationVTwo editConfiguration,
VitroRequest vreq) {
if( doAutoComplete )
editConfiguration.setTemplate(acObjectPropertyTemplate);
else
editConfiguration.setTemplate(objectPropertyTemplate);
}
//Initialize setup: process parameters
private void initProcessParameters(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq);
subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
editConfiguration.setFormUrl(formUrl);
editConfiguration.setUrlPatternToReturnTo("/individual");
editConfiguration.setVarNameForSubject("subject");
editConfiguration.setSubjectUri(subjectUri);
editConfiguration.setEntityToReturnTo(subjectUri);
editConfiguration.setVarNameForPredicate("predicate");
editConfiguration.setPredicateUri(predicateUri);
//this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method
//pretends this is a data property editing statement and throws an error
//"object" : [ "objectVar" , "${objectUriJson}" , "URI"],
if(EditConfigurationUtils.isObjectProperty(predicateUri, vreq)) {
log.debug("This is an predicate property: " + predicateUri);
log.debug("This is an subject property: " + subjectUri);
this.initObjectParameters(vreq);
log.debug("This is an object property: " + objectUri);
this.processObjectPropForm(vreq, editConfiguration);
} else {
log.debug("This is a data property: " + predicateUri);
}
}
private void initObjectParameters(VitroRequest vreq) {
//in case of object property
objectUri = EditConfigurationUtils.getObjectUri(vreq);
}
private void processObjectPropForm(VitroRequest vreq, EditConfigurationVTwo editConfiguration) {
editConfiguration.setVarNameForObject("objectVar");
editConfiguration.setObject(objectUri);
//this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method
//pretends this is a data property editing statement and throws an error
//TODO: Check if null in case no object uri exists but this is still an object property
}
//Get N3 required
//Handles both object and data property
private List<String> generateN3Required(VitroRequest vreq) {
List<String> n3ForEdit = new ArrayList<String>();
getTextExcerpts(vreq);
if (excerptIDs.isEmpty()) {
String editString = "?subject ?predicate ?objectVar .";
n3ForEdit.add(editString);
} else {
for (String excerptID : excerptIDs) {
String editString = "<"+excerptID+">" + " ?predicate ?objectVar .";
log.debug(editString);
n3ForEdit.add(editString);
}
}
return n3ForEdit;
}
private List<String> generateN3Optional() {
List<String> n3Inverse = new ArrayList<String>();
n3Inverse.add("?objectVar ?inverseProp ?subject .");
return n3Inverse;
}
private void getTextExcerpts(VitroRequest vreq) {
ResultSet excerptResults = QueryUtils.getLanguageNeutralQueryResults(getExcerptsQueryString(), vreq);
while (excerptResults.hasNext()) {
QuerySolution solution = excerptResults.nextSolution();
String excerptID = solution.get("excerptID").asResource().toString();
log.debug(excerptID);
excerptIDs.add(excerptID);
}
}
private String getExcerptsQueryString() {
return "PREFIX ts_: <https://litvinovg.pro/text_structures#> "
+"SELECT DISTINCT ?excerptID "
+"WHERE { "
+"<" + subjectUri + "> ts_:hasTOC ?toc . "
+"?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerptID . "
+"} ";
}
//Set queries
private String retrieveQueryForInverse () {
String queryForInverse = "PREFIX owl: <http://www.w3.org/2002/07/owl#>"
+ " SELECT ?inverse_property "
+ " WHERE { ?inverse_property owl:inverseOf ?predicate } ";
return queryForInverse;
}
private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) {
HashMap<String, List<String>> urisInScope = new HashMap<String, List<String>>();
//note that at this point the subject, predicate, and object var parameters have already been processed
urisInScope.put(editConfiguration.getVarNameForSubject(),
Arrays.asList(new String[]{editConfiguration.getSubjectUri()}));
urisInScope.put(editConfiguration.getVarNameForPredicate(),
Arrays.asList(new String[]{editConfiguration.getPredicateUri()}));
//this shoudl happen in edit configuration prepare for object prop update
//urisInScope.put(editConfiguration.getVarNameForObject(),
// Arrays.asList(new String[]{editConfiguration.getObject()}));
//inverse property uris should be included in sparql for additional uris in edit configuration
editConfiguration.setUrisInScope(urisInScope);
//Uris in scope include subject, predicate, and object var
editConfiguration.setLiteralsInScope(new HashMap<String, List<Literal>>());
}
//n3 should look as follows
//?subject ?predicate ?objectVar
private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
List<String> urisOnForm = new ArrayList<String>();
List<String> literalsOnForm = new ArrayList<String>();
//uris on form should be empty if data property
urisOnForm.add("objectVar");
editConfiguration.setUrisOnform(urisOnForm);
editConfiguration.setLiteralsOnForm(literalsOnForm);
}
//This is for various items
private void setSparqlQueries(EditConfigurationVTwo editConfiguration) {
//Sparql queries defining retrieval of literals etc.
editConfiguration.setSparqlForAdditionalLiteralsInScope(new HashMap<String, String>());
Map<String, String> urisInScope = new HashMap<String, String>();
urisInScope.put("inverseProp", this.retrieveQueryForInverse());
editConfiguration.setSparqlForAdditionalUrisInScope(urisInScope);
editConfiguration.setSparqlForExistingLiterals(generateSparqlForExistingLiterals());
editConfiguration.setSparqlForExistingUris(generateSparqlForExistingUris());
}
//Get page uri for object
private HashMap<String, String> generateSparqlForExistingUris() {
HashMap<String, String> map = new HashMap<String, String>();
return map;
}
private HashMap<String, String> generateSparqlForExistingLiterals() {
HashMap<String, String> map = new HashMap<String, String>();
return map;
}
protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) throws Exception {
setFields(editConfiguration, vreq, predicateUri, null);
}
protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri, List<VClass> rangeTypes) throws Exception {
FieldVTwo field = new FieldVTwo();
field.setName("objectVar");
List<String> validators = new ArrayList<String>();
validators.add("nonempty");
field.setValidators(validators);
if( ! doAutoComplete ){
field.setOptions( new IndividualsViaObjectPropetyOptions(
subjectUri,
predicateUri,
rangeTypes,
objectUri,
vreq ));
}else{
field.setOptions(null);
}
Map<String, FieldVTwo> fields = new HashMap<String, FieldVTwo>();
fields.put(field.getName(), field);
editConfiguration.setFields(fields);
}
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
//Here, retrieve model from
OntModel model = ModelAccess.on(session.getServletContext()).getOntModel();
//if object property
if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){
Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq);
if(objectIndividual != null) {
//update existing object
editConfiguration.prepareForObjPropUpdate(model);
} else {
//new object to be created
editConfiguration.prepareForNonUpdate( model );
}
} else {
throw new Error("DefaultObjectPropertyForm does not handle data properties.");
}
}
private boolean isSelectFromExisting(VitroRequest vreq) {
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
if(EditConfigurationUtils.isDataProperty(predicateUri, vreq)) {
return false;
}
ObjectProperty objProp = EditConfigurationUtils.getObjectPropertyForPredicate(vreq, EditConfigurationUtils.getPredicateUri(vreq));
return objProp.getSelectFromExisting();
}
//Additional processing, eg. select from existing
//This is really process prohibited from search
private void processProhibitedFromSearch(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfig) {
if(isSelectFromExisting(vreq)) {
// set ProhibitedFromSearch object so picklist doesn't show
// individuals from classes that should be hidden from list views
OntModel displayOntModel = ModelAccess.on(session.getServletContext()).getOntModel(DISPLAY);
ProhibitedFromSearch pfs = new ProhibitedFromSearch(
DisplayVocabulary.SEARCH_INDEX_URI, displayOntModel);
if( editConfig != null )
editConfig.setProhibitedFromSearch(pfs);
}
}
//Form specific data
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
//range options need to be stored for object property
//Store field names
List<String> objectSelect = new ArrayList<String>();
objectSelect.add(editConfiguration.getVarNameForObject());
//TODO: Check if this is the proper way to do this?
formSpecificData.put("objectSelect", objectSelect);
if(customErrorMessages != null && !customErrorMessages.isEmpty()) {
formSpecificData.put("customErrorMessages", customErrorMessages);
}
editConfiguration.setFormSpecificData(formSpecificData);
}
public void addFormSpecificDataForAC(EditConfigurationVTwo editConfiguration, VitroRequest vreq, HttpSession session) throws SearchEngineException {
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
//Get the edit mode
formSpecificData.put("editMode", getEditMode(vreq).toString().toLowerCase());
//We also need the type of the object itself
List<VClass> types = getRangeTypes(vreq);
//if types array contains only owl:Thing, the search will not return any results
//In this case, set an empty array
if(types.size() == 1 && types.get(0).getURI().equals(VitroVocabulary.OWL_THING) ){
types = new ArrayList<VClass>();
}
StringBuilder typesBuff = new StringBuilder();
for (VClass type : types) {
if (type.getURI() != null) {
typesBuff.append(type.getURI()).append(",");
}
}
formSpecificData.put("objectTypes", typesBuff.toString());
log.debug("autocomplete object types : " + formSpecificData.get("objectTypes"));
//Get label for individual if it exists
if(EditConfigurationUtils.getObjectIndividual(vreq) != null) {
String objectLabel = EditConfigurationUtils.getObjectIndividual(vreq).getName();
formSpecificData.put("objectLabel", objectLabel);
}
//TODO: find out if there are any individuals in the classes of objectTypes
formSpecificData.put("rangeIndividualsExist", rangeIndividualsExist(types) );
formSpecificData.put("sparqlForAcFilter", getSparqlForAcFilter(vreq));
if(customErrorMessages != null && !customErrorMessages.isEmpty()) {
formSpecificData.put("customErrorMessages", customErrorMessages);
}
editConfiguration.setTemplate(acObjectPropertyTemplate);
editConfiguration.setFormSpecificData(formSpecificData);
}
private Object rangeIndividualsExist(List<VClass> types) throws SearchEngineException {
SearchEngine searchEngine = ApplicationUtils.instance().getSearchEngine();
boolean rangeIndividualsFound = false;
for( VClass type:types){
//search for type count.
SearchQuery query = searchEngine.createQuery();
query.setQuery( VitroSearchTermNames.RDFTYPE + ":" + type.getURI());
query.setRows(0);
SearchResponse rsp = searchEngine.query(query);
SearchResultDocumentList docs = rsp.getResults();
if( docs.getNumFound() > 0 ){
rangeIndividualsFound = true;
break;
}
}
return rangeIndividualsFound;
}
public String getSubjectUri() {
return subjectUri;
}
public String getPredicateUri() {
return predicateUri;
}
public String getObjectUri() {
return objectUri;
}
/** get the auto complete edit mode */
public EditMode getEditMode(VitroRequest vreq) {
//In this case, the original jsp didn't rely on FrontEndEditingUtils
//but instead relied on whether or not the object Uri existed
String objectUri = EditConfigurationUtils.getObjectUri(vreq);
EditMode editMode = FrontEndEditingUtils.EditMode.ADD;
if(objectUri != null && !objectUri.isEmpty()) {
editMode = FrontEndEditingUtils.EditMode.EDIT;
}
return editMode;
}
public String getSparqlForAcFilter(VitroRequest vreq) {
String subject = EditConfigurationUtils.getSubjectUri(vreq);
String predicate = EditConfigurationUtils.getPredicateUri(vreq);
//Get all objects for existing predicate, filters out results from addition and edit
String query = "SELECT ?objectVar WHERE { " +
"<" + subject + "> <" + predicate + "> ?objectVar .} ";
return query;
}
}

View file

@ -0,0 +1,306 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TimeZone;
import javax.servlet.http.HttpSession;
import org.apache.jena.rdf.model.Literal;
import org.apache.jena.vocabulary.RDFS;
import org.apache.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.RequestIdentifiers;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.HasAssociatedIndividual;
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.admin.ShowAuthController.AssociatedIndividual;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
/**
* Generates the edit configuration for a default property form.
* ModelChangePreprocessor creates the rdfs:label statement.
*/
public class CompilationGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator {
private String associatedProfile;
private int excerptsCounter;
@Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) {
EditConfigurationVTwo config = new EditConfigurationVTwo();
associatedProfile = getAssociatedProfile(vreq);
excerptsCounter = parseCounter(vreq);
config.setTemplate( "compilationForm.ftl" );
config.setN3Required( generateN3Required(vreq));
//Optional because user may have selected either person or individual of another kind
//Person uses first name and last name whereas individual of other class would use label
//middle name is also optional
//config.setN3Optional(generateN3Optional());
config.addNewResource("newCompilation", vreq.getWebappDaoFactory().getDefaultNamespace());
config.addNewResource("newCompilationTOC", vreq.getWebappDaoFactory().getDefaultNamespace());
config.addField(new FieldVTwo().
setName("rawQueryString").
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
config.addField(new FieldVTwo().
setName("queryBuilderRules").
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
String tocItem = "tocItem" + itemN;
config.addNewResource(tocItem, vreq.getWebappDaoFactory().getDefaultNamespace());
String tocLevel = "tocLevel" + itemN;
config.addNewResource(tocLevel, vreq.getWebappDaoFactory().getDefaultNamespace());
String tocItemName = tocItem + "Name";
config.addField(new FieldVTwo().
setName(tocItemName).
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
String tocLevelName = tocLevel + "Name";
config.addField(new FieldVTwo().
setName(tocLevelName).
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
String excerpt = "excerpt" + itemN;
config.addField(new FieldVTwo().
setName(excerpt).
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
}
config.setUrisOnform(getUrisOnForm());
config.setLiteralsOnForm( getLiteralsOnForm());
setUrisAndLiteralsInScope(config);
//No SPARQL queries for existing since this is only used to create new, never for edit
config.addField(new FieldVTwo().
setName("newCompilationLabel").
setRangeDatatypeUri(XSD.xstring.getURI()).
setValidators(getCompilationNameValidators(vreq)));
addFormSpecificData(config, vreq);
config.addValidator(new AntiXssValidation());
//This combines the first and last name into the rdfs:label
// currently being done via javascript in the template. May use this again
// when/if updated to ISF ontology. tlw72
// config.addModelChangePreprocessor(new FoafNameToRdfsLabelPreprocessor());
String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq);
config.setFormUrl(formUrl);
//Note, the spaces are important - they were added by ProcessRdfFormController earlier
//as a means of ensuring the substitution worked correctly - as the regex expects spaces
config.setEntityToReturnTo(" ?newCompilation ");
prepare(vreq, config);
return config;
}
private List<String> getUrisOnForm() {
List<String> uris = list();
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
String excerpt = "excerpt" + itemN;
uris.add(excerpt);
}
return uris;
}
private List<String> getLiteralsOnForm() {
List<String> literals = list( "newCompilationLabel");
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
String tocItemName = "tocItem" + itemN + "Name";
String tocLevelName = "tocLevel" + itemN + "Name";
literals.add(tocItemName);
literals.add(tocLevelName);
literals.add("rawQueryString");
literals.add("queryBuilderRules");
}
return literals;
}
private String getAssociatedProfile(VitroRequest vreq) {
String associatedProfile;
IdentifierBundle ids = RequestIdentifiers.getIdBundleForRequest(vreq);
Collection<String> individualURIs = HasAssociatedIndividual.getIndividualUris(ids);
Iterator<String> uriIterator = individualURIs.iterator();
if (uriIterator.hasNext()) {
associatedProfile = uriIterator.next();
} else {
associatedProfile = "";
}
return associatedProfile;
}
private List<String> generateN3Required(VitroRequest vreq) {
StringBuilder n3Req = new StringBuilder();
n3Req.append("@prefix ts: <https://litvinovg.pro/text_structures#> .\n");
n3Req.append("?newCompilation <" + VitroVocabulary.RDF_TYPE + "> <" + getTypeOfNew(vreq) + "> .\n");
n3Req.append("?newCompilation <https://litvinovg.pro/text_structures#modificationTime> " + getModificationTime() + " .\n");
n3Req.append("?newCompilation ts:rawQueryString ?rawQueryString .\n");
n3Req.append("?newCompilation ts:queryBuilderRules ?queryBuilderRules .\n");
n3Req.append("?newCompilation <" + RDFS.label.getURI() + "> ?newCompilationLabel .\n");
n3Req.append("?newCompilation ts:hasTOC ?newCompilationTOC .\n");
n3Req.append("?newCompilationTOC <" + VitroVocabulary.RDF_TYPE + "> ts:TOC .\n");
n3Req.append("?newCompilationTOC <" + RDFS.label.getURI() + "> ?newCompilationLabel .\n");
if (!associatedProfile.isEmpty()) {
n3Req.append("<" + associatedProfile + "> ts:compilatorOf ?newCompilation .\n");
}
//n3Req.append();
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
String tocItemVar = "?tocItem" + itemN ;
String tocItemNameVar = tocItemVar + "Name" ;
String tocLevelVar = "?tocLevel" + itemN ;
String tocLevelVarName = tocLevelVar + "Name" ;
String excerptVar = "?excerpt" + itemN ;
n3Req.append("?newCompilationTOC ts:hasTOCItem " + tocItemVar + " .\n");
n3Req.append(tocItemVar + " <" + VitroVocabulary.RDF_TYPE + "> ts:TOCItem .\n");
n3Req.append(tocItemVar + " <" + RDFS.label.getURI() + "> " + tocItemNameVar + " .\n");
n3Req.append(tocItemVar + " ts:itemNumber " + itemN + " .\n");
n3Req.append(tocItemVar + " ts:pointsTo " + tocLevelVar + " .\n");
n3Req.append(tocLevelVar + " <" + VitroVocabulary.RDF_TYPE + "> ts:TOCLevel .\n");
n3Req.append(tocLevelVar + " <" + RDFS.label.getURI() + "> " + tocLevelVarName + " .\n");
n3Req.append(tocLevelVar + " ts:hasText " + excerptVar + ".\n");
}
return list(n3Req.toString());
}
private List<String> generateN3Optional() {
List<String> n3OptList = list();
StringBuilder n3Opt = new StringBuilder();
n3Opt.append("@prefix ts: <https://litvinovg.pro/text_structures#> .\n");
n3Opt.append("?newCompilation ts:rawQueryString ?rawQueryString .\n");
n3Opt.append("?newCompilation ts:queryBuilderRules ?queryBuilderRules .\n");
n3OptList.add(n3Opt.toString());
return n3OptList;
}
private String getModificationTime() {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sd.setTimeZone(TimeZone.getTimeZone("GMT"));
Date currentTime = Calendar.getInstance().getTime();
String todayAsString = "\"" + sd.format(currentTime) + "\"^^<http://www.w3.org/2001/XMLSchema#dateTime>";
return todayAsString;
}
private static Integer parseCounter(VitroRequest vreq) {
String text = vreq.getParameter("excerptsCount");
if (text == null ) {
return 0;
}
try {
return Integer.parseInt(text);
} catch (NumberFormatException e) {
return 0;
}
}
private List<String> getCompilationNameValidators(VitroRequest vreq) {
List<String> validators = new ArrayList<String>();
if (isCompilationType(vreq)) {
validators.add("nonempty");
}
return validators;
}
//Get parameter from HTTP request for type of new individual
private String getTypeOfNew(VitroRequest vreq) {
String typeUri = vreq.getParameter("typeOfNew");
if( typeUri == null || typeUri.trim().isEmpty() )
return getCompilationClassURI();
else
return typeUri;
}
//Form specific data
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
formSpecificData.put("typeName", getTypeName(vreq));
//Put in whether or not person type
if(isCompilationType(vreq)) {
//Doing this b/c unsure how freemarker will handle boolean value from JAVA
formSpecificData.put("isCompilationType", "true");
} else {
formSpecificData.put("isCompilationType", "false");
}
formSpecificData.put("excerptsCounter", excerptsCounter);
editConfiguration.setFormSpecificData(formSpecificData);
}
private String getTypeName(VitroRequest vreq) {
String typeOfNew = getTypeOfNew(vreq);
VClass type = vreq.getWebappDaoFactory().getVClassDao().getVClassByURI(typeOfNew);
return type.getName();
}
public String getCompilationClassURI() {
return "https://litvinovg.pro/text_structures#compilation";
}
public boolean isCompilationType(VitroRequest vreq) {
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
Boolean isCompilationType = Boolean.FALSE;
String foafPersonType = getCompilationClassURI();
String typeOfNew = getTypeOfNew(vreq);
List<String> superTypes = wdf.getVClassDao().getAllSuperClassURIs(typeOfNew);
//add the actual type as well so we can add that for the list to be checked
superTypes.add(typeOfNew);
if( superTypes != null ){
for( String typeUri : superTypes){
if( foafPersonType.equals(typeUri)) {
isCompilationType = Boolean.TRUE;
break;
}
}
}
return isCompilationType;
}
private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) {
HashMap<String, List<String>> urisInScope = new HashMap<String, List<String>>();
//note that at this point the subject, predicate, and object var parameters have already been processed
urisInScope.put(editConfiguration.getVarNameForSubject(),
Arrays.asList(new String[]{editConfiguration.getSubjectUri()}));
urisInScope.put(editConfiguration.getVarNameForPredicate(),
Arrays.asList(new String[]{editConfiguration.getPredicateUri()}));
editConfiguration.setUrisInScope(urisInScope);
//Uris in scope include subject, predicate, and object var
editConfiguration.setLiteralsInScope(new HashMap<String, List<Literal>>());
}
private String N3_PREFIX = "@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n";
}

View file

@ -0,0 +1,167 @@
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
@prefix searchIndex: <java:edu.cornell.mannlib.vitro.webapp.searchindex#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:vivodocumentModifier_excerptsInComplexPublications
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Populate complex publications with excerpts" ;
:hasTargetField "ALLTEXT" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?value
WHERE {
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
VALUES ?property { ts:works ts:bibliography ts:htmlExcerpt ts:keywords }
?excerpt ?property ?value .
}
""" .
:vivoUriFinder_excerptsInComplexPublications
a searchIndex:indexing.IndexingUriFinder ,
searchIndex:indexing.SelectQueryUriFinder ;
rdfs:label "When excerpts change" ;
:hasSelectQuery """
PREFIX ts: <https://litvinovg.pro/text_structures#>
SELECT ?uri
WHERE {
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?subject .
}
""" .
:vivoUriFinder_onRubricsAssign
a searchIndex:indexing.IndexingUriFinder ,
searchIndex:indexing.SelectQueryUriFinder ;
rdfs:label "When rubric was assigned" ;
:hasSelectQuery """
PREFIX ts: <https://litvinovg.pro/text_structures#>
SELECT ?uri
WHERE {
?subject a ts:textExcerpt .
VALUES ?uri { ?subject }
}
""" .
:vivodocumentModifier_PopulateTextWithHTMLContentsOfExcerpts
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Html text to text field" ;
:hasTargetField "text" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?htmlExcerpt
WHERE {
{
?uri rdf:type ts:textExcerpt .
?uri ts:htmlExcerpt ?htmlExcerpt .
}
UNION
{
?uri rdf:type ts:complexPublication .
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
?excerpt ts:htmlExcerpt ?htmlExcerpt .
}
}
""" .
:vivodocumentModifier_rubrics
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Add rubrics in rubrics field" ;
:hasTargetField "rubrics" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?rubric
WHERE {
{
?uri rdf:type ts:textExcerpt .
?uri pr:belongsTo ?assignedRubric .
?assignedRubric (pr:hasParent)* ?rubric .
}
UNION
{
?uri rdf:type ts:complexPublication .
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
?excerpt pr:belongsTo ?assignedRubric .
?assignedRubric (pr:hasParent)* ?rubric .
}
}
""" .
:vivodocumentModifier_titles
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Add titles to special field" ;
:hasTargetField "titles" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?title
WHERE {
?uri rdfs:label ?title .
}
""" .
:vivodocumentModifier_keywordsElenph
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Keywords for articles and excerpts" ;
:hasTargetField "keywords" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?keywords
WHERE {
{
?uri rdf:type ts:elenphArticle .
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
?elenphExcerpt ts:keywords ?keywords .
}
UNION
{
?uri rdf:type ts:elenphExcerpt .
?uri ts:keywords ?keywords .
}
}
""" .
:vivodocumentModifier_bibliographyElenph
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
rdfs:label "Bibliography for articles and excerpts" ;
:hasTargetField "bibliography" ;
:hasSelectQuery """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?bibliography
WHERE {
{
?uri rdf:type ts:elenphArticle .
?uri ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
?elenphExcerpt ts:bibliography ?bibliography .
}
UNION
{
?uri rdf:type ts:elenphExcerpt .
?uri ts:bibliography ?bibliography .
}
}
""" .

View file

@ -0,0 +1,144 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationExcerptsContentDataGetter .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationExcerptPathsDataGetter .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationWorksDataGetter .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationBibliographyDataGetter .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationAuthorsDataGetter .
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationRubricsDataGetter .
display:getCompilationExcerptsContentDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "excerpts";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
SELECT ?elenphExcerpt ?htmlLabel ?htmlContent (COUNT (distinct ?excerptWorks) as ?worksCounter) (COUNT (distinct ?excerptBibliography) as ?bibliographyCounter)
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
?elenphExcerpt ts_:htmlExcerpt ?htmlContent .
?elenphExcerpt rdfs:label ?htmlLabel .
OPTIONAL{ ?elenphExcerpt ts_:works ?excerptWorks . }
OPTIONAL{ ?elenphExcerpt ts_:bibliography ?excerptBibliography . }
} GROUP BY ?elenphExcerpt ?htmlLabel ?htmlContent ORDER BY ?elenphExcerpt
""" .
display:getCompilationExcerptPathsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "paths";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
?tmpTOCItem rdf:type ts_:TOCItem .
?tmpTOCItem ts_:pointsTo/(ts_:hasTOCItem/ts_:pointsTo)* ?tocElement .
?tmpTOCItem ts_:itemNumber ?outline .
OPTIONAL {
?tocElement ts_:hasText ?elenphExcerpt .
}
{
SELECT ?tocElement
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
?tocElement rdf:type ts_:TOCLevel .
}
}
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
""" .
display:getCompilationBibliographyDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "bibliography";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?bibliography ?excerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?excerpt ts_:bibliography ?bibliography .
} ORDER BY ?bibliography
""" .
display:getCompilationWorksDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "works";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?works ?excerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?excerpt ts_:works ?works .
} ORDER BY ?works
""" .
display:getCompilationAuthorsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "authors";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
?elenphExcerpt ts_:hasAuthor ?participant .
?participant ts_:participantFamily ?authorFamily .
?participant ts_:participantInitials ?authorInitials .
?participant ts_:participantGivenName ?authorGivenName .
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
}
} ORDER BY ?authorFamily
""" .
display:getCompilationRubricsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "rubrics";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?rubricID ?rubricName
WHERE {
?uri ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
?artExcerpt pr:belongsTo ?rubricID .
?rubricID rdfs:label ?rubricName .
} ORDER BY ?rubricID
""" .

View file

@ -0,0 +1,42 @@
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<freemarker:queryBuilder.ftl> display:hasDataGetter display:customSearchFieldsDataGetter .
<freemarker:queryBuilder.ftl> display:hasDataGetter display:customSearchFiltersDataGetter .
display:customSearchFieldsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
display:saveToVar "searchFields" ;
display:query """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX search: <https://litvinovg.pro/search_ontology#>
SELECT ?name ?field ?hasFilters
WHERE {
?searchField rdf:type search:searchField .
?searchField rdfs:label ?name .
?searchField search:indexField ?field .
BIND (exists { ?filters search:filterFiled ?searchField } AS ?hasFilters)
} ORDER BY ?name
""" .
display:customSearchFiltersDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
display:saveToVar "searchFilters" ;
display:query """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX search: <https://litvinovg.pro/search_ontology#>
SELECT ?name ?field ?id
WHERE {
?searchFilter rdf:type search:filter .
?searchFilter rdfs:label ?name .
?searchFilter search:id ?id .
?searchFilter search:filterFiled ?searchField .
?searchField search:indexField ?field .
BIND (replace ( ?name, "«", "" ) AS ?sortName)
} ORDER BY ?field ?sortName
""" .

View file

@ -0,0 +1,48 @@
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
<https://litvinovg.pro/text_structures#compilation> display:hasDeleteQuery """
PREFIX ts: <https://litvinovg.pro/text_structures#>
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc
WHERE {
OPTIONAL {
?individualURI ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
OPTIONAL {
?tocElement ts:hasTOCItem ?tocItem .
}
}
}
""" .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDeleteQuery """
PREFIX ts: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc ?excerpt ?author ?organization
WHERE {
?individualURI rdf:type ts:elenphArticle .
OPTIONAL {
?individualURI ts:hasTOC ?toc .
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
OPTIONAL {
?tocElement ts:hasTOCItem ?tocItem .
}
OPTIONAL {
?tocElement ts:hasText ?excerpt .
OPTIONAL {
?excerpt ts:hasAuthor ?author .
OPTIONAL {
?author ts:affiliatedWith ?organization .
}
}
}
}
}
""" .
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDeleteQuery """
PREFIX ts: <https://litvinovg.pro/text_structures#>
DESCRIBE ?individualURI ?tocElement
WHERE
{
?tocElement ts:hasText ?individualURI .
FILTER NOT EXISTS {?tocElement ts:hasTOCItem ?tocItem }
}
""" .

View file

@ -0,0 +1,144 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleExcerptsContentDataGetter .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleExcerptPathsDataGetter .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleWorksDataGetter .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleBibliographyDataGetter .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleAuthorsDataGetter .
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDataGetter display:getArticleRubricsDataGetter .
display:getArticleExcerptsContentDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "excerpts";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
SELECT ?elenphExcerpt ?htmlLabel ?htmlContent (COUNT (distinct ?excerptWorks) as ?worksCounter) (COUNT (distinct ?excerptBibliography) as ?bibliographyCounter)
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
?elenphExcerpt ts_:htmlExcerpt ?htmlContent .
?elenphExcerpt rdfs:label ?htmlLabel .
OPTIONAL{ ?elenphExcerpt ts_:works ?excerptWorks . }
OPTIONAL{ ?elenphExcerpt ts_:bibliography ?excerptBibliography . }
} GROUP BY ?elenphExcerpt ?htmlLabel ?htmlContent ORDER BY ?elenphExcerpt
""" .
display:getArticleExcerptPathsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "paths";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
?tmpTOCItem rdf:type ts_:TOCItem .
?tmpTOCItem ts_:pointsTo/(ts_:hasTOCItem/ts_:pointsTo)* ?tocElement .
?tmpTOCItem ts_:itemNumber ?outline .
OPTIONAL {
?tocElement ts_:hasText ?elenphExcerpt .
}
{
SELECT ?elenphArticle ?tocElement
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
?tocElement rdf:type ts_:TOCLevel .
}
}
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
""" .
display:getArticleBibliographyDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "bibliography";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?bibliography ?excerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?excerpt ts_:bibliography ?bibliography .
} ORDER BY ?bibliography
""" .
display:getArticleWorksDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "works";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?works ?excerpt
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?excerpt ts_:works ?works .
} ORDER BY ?works
""" .
display:getArticleAuthorsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "authors";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
WHERE {
?individualURI ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
?elenphExcerpt ts_:hasAuthor ?participant .
?participant ts_:participantFamily ?authorFamily .
?participant ts_:participantInitials ?authorInitials .
?participant ts_:participantGivenName ?authorGivenName .
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
}
} ORDER BY ?authorFamily
""" .
display:getArticleRubricsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "rubrics";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?rubricID ?rubricName
WHERE {
?uri ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
?artExcerpt pr:belongsTo ?rubricID .
?rubricID rdfs:label ?rubricName .
} ORDER BY ?rubricID
""" .

View file

@ -0,0 +1,52 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDataGetter display:getExcerptAssignedArticlesDataGetter .
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDataGetter display:getExcerptAuthorsDataGetter .
display:getExcerptAssignedArticlesDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "articles";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?articleName ?articleUri
WHERE {
?articleUri rdf:type ts_:elenphArticle .
?articleUri ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?individualURI .
?articleUri rdfs:label ?articleName .
} ORDER BY ?articleName
""" .
display:getExcerptAuthorsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "authors";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
WHERE {
?individualURI ts_:hasAuthor ?participant .
?participant ts_:participantFamily ?authorFamily .
?participant ts_:participantInitials ?authorInitials .
?participant ts_:participantGivenName ?authorGivenName .
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
}
} ORDER BY ?authorFamily
""" .

View file

@ -0,0 +1,11 @@
@prefix vitroDisplay: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#filter> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#statement> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#searchField> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#sort> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOC> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOCLevel> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOCItem> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#publicationParticipant> .
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#organization> .

View file

@ -0,0 +1,115 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
<https://iph.ras.ru/relationships#rubric> display:hasDataGetter display:getArticlesWithRubricDataGetter .
<https://iph.ras.ru/relationships#rubric> display:hasDataGetter display:getArticlesWithChildRubricDataGetter .
<https://iph.ras.ru/relationships#rubric> display:hasDataGetter display:getChildRubricsDataGetter .
<https://iph.ras.ru/relationships#rubric> display:hasDataGetter display:getExcerptsWithRubricDataGetter .
<https://iph.ras.ru/relationships#rubric> display:hasDataGetter display:getExcerptsWithRubricsChildsDataGetter .
display:getArticlesWithChildRubricDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "childArticles";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?childArticleID ?childArticleName
WHERE {
?rubric (pr:hasParent)+ ?individualURI .
?excerpt pr:belongsTo ?rubric .
?excerpt rdf:type ts_:elenphExcerpt .
?childArticleID ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?childArticleID rdfs:label ?childArticleName .
?childArticleID rdf:type ts_:elenphArticle .
} ORDER BY ?childArticleName
""" .
display:getArticlesWithRubricDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "articles";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?articleID ?articleName
WHERE {
?excerpt pr:belongsTo ?individualURI .
?excerpt rdf:type ts_:elenphExcerpt .
?articleID ts_:hasTOC ?toc .
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
?articleID rdfs:label ?articleName .
?articleID rdf:type ts_:elenphArticle .
} ORDER BY ?articleName
""" .
display:getChildRubricsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "childRubrics";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?rubricID ?rubricName
WHERE {
?rubricID pr:hasParent ?individualURI .
?rubricID pr:rubricOrder ?order .
?rubricID rdfs:label ?rubricName .
?rubricID rdf:type pr:rubric .
} ORDER BY ?order
""" .
display:getExcerptsWithRubricsChildsDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "childExcerpts";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?childExcerptID ?childExcerptName
WHERE {
?tmpChildRubrics (pr:hasParent)+ ?individualURI .
?childExcerptID pr:belongsTo ?tmpChildRubrics .
?childExcerptID rdfs:label ?childExcerptName .
?childExcerptID rdf:type ts_:elenphExcerpt .
} ORDER BY ?childExcerptName
""" .
display:getExcerptsWithRubricDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "excerpts";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
PREFIX pr: <https://iph.ras.ru/relationships#>
SELECT DISTINCT ?excerptID ?excerptName
WHERE {
?excerptID pr:belongsTo ?individualURI .
?excerptID rdfs:label ?excerptName .
?excerptID rdf:type ts_:elenphExcerpt .
} ORDER BY ?excerptName
""" .

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
xmlns:ns="http://www.w3.org/2003/06/sw-vocab-status/ns#"
xmlns:scires="http://vivoweb.org/ontology/scientific-research#"
xmlns:ocresst="http://purl.org/net/OCRe/statistics.owl#"
xmlns:ocresd="http://purl.org/net/OCRe/study_design.owl#"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:obo="http://purl.obolibrary.org/obo/"
xmlns:geo="http://aims.fao.org/aos/geopolitical.owl#"
xmlns:c4o="http://purl.org/spar/c4o/"
xmlns:event="http://purl.org/NET/c4dm/event.owl#"
xmlns:ro="http://purl.obolibrary.org/obo/ro.owl#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:skos2="http://www.w3.org/2008/05/skos#"
xmlns:ts="https://litvinovg.pro/text_structures#"
xmlns:vann="http://purl.org/vocab/vann/"
xmlns:vivo="http://vivoweb.org/ontology/core#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:vitro-public="http://vitro.mannlib.cornell.edu/ns/vitro/public#"
xmlns:vitro="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cito="http://purl.org/spar/cito/"
xmlns:swo="http://www.ebi.ac.uk/efo/swo/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:ocresp="http://purl.org/net/OCRe/study_protocol.owl#"
xmlns:pr="https://iph.ras.ru/relationships#"
xmlns:ocrer="http://purl.org/net/OCRe/research.owl#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
xmlns:bibo="http://purl.org/ontology/bibo/"
xmlns:fabio="http://purl.org/spar/fabio/"
xmlns:search="https://dideside.com/searchOntology#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<owl:Ontology rdf:about="https://iph.ras.ru/relationships">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>The ontology of philosophical relations</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Philosophical ontology</rdfs:label>
<vitro:ontologyPrefixAnnot>pr</vitro:ontologyPrefixAnnot>
</owl:Ontology>
<owl:Class rdf:about="https://iph.ras.ru/relationships#rubric">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>рубрика</rdfs:label>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupphilosophicalrubrics"/>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGrouprubric"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:customDisplayViewAnnot>rubric.ftl</vitro:customDisplayViewAnnot>
<obo:IAO_0000115>Рубрика</obo:IAO_0000115>
</owl:Class>
<owl:ObjectProperty rdf:about="https://iph.ras.ru/relationships#relation">
<rdfs:label xml:lang="en-US">Relation</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<rdfs:range rdf:resource="https://iph.ras.ru/relationships#rubric"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://iph.ras.ru/relationships#hasParent">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>has parent rubric</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<rdfs:range rdf:resource="https://iph.ras.ru/relationships#rubric"/>
<rdfs:domain rdf:resource="https://iph.ras.ru/relationships#rubric"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://iph.ras.ru/relationships#belongsTo">
<vitro:customEntryFormAnnot>edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddRubricToELENPHArticleGenerator</vitro:customEntryFormAnnot>
<rdfs:range rdf:resource="https://iph.ras.ru/relationships#rubric"/>
<rdfs:label xml:lang="en-US">belongs to</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publication"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="https://iph.ras.ru/relationships#rubricOrder">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>порядок рубрики</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
<rdfs:domain rdf:resource="https://iph.ras.ru/relationships#rubric"/>
</owl:DatatypeProperty>
<owl:SymmetricProperty rdf:about="https://iph.ras.ru/relationships#isInversionOf">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>isInversionOf</rdfs:label>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://iph.ras.ru/text_structures#textExcerpt"/>
<rdfs:range rdf:resource="https://iph.ras.ru/text_structures#textExcerpt"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<rdfs:subPropertyOf rdf:resource="https://iph.ras.ru/relationships#relation"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</owl:SymmetricProperty>
</rdf:RDF>

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
xmlns:ns="http://www.w3.org/2003/06/sw-vocab-status/ns#"
xmlns:search="https://litvinovg.pro/search_ontology#"
xmlns:scires="http://vivoweb.org/ontology/scientific-research#"
xmlns:ocresst="http://purl.org/net/OCRe/statistics.owl#"
xmlns:ocresd="http://purl.org/net/OCRe/study_design.owl#"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:obo="http://purl.obolibrary.org/obo/"
xmlns:geo="http://aims.fao.org/aos/geopolitical.owl#"
xmlns:c4o="http://purl.org/spar/c4o/"
xmlns:event="http://purl.org/NET/c4dm/event.owl#"
xmlns:ro="http://purl.obolibrary.org/obo/ro.owl#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:skos2="http://www.w3.org/2008/05/skos#"
xmlns:ts="https://litvinovg.pro/text_structures#"
xmlns:vann="http://purl.org/vocab/vann/"
xmlns:vivo="http://vivoweb.org/ontology/core#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:vitro-public="http://vitro.mannlib.cornell.edu/ns/vitro/public#"
xmlns:vitro="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cito="http://purl.org/spar/cito/"
xmlns:swo="http://www.ebi.ac.uk/efo/swo/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:ocresp="http://purl.org/net/OCRe/study_protocol.owl#"
xmlns:pr="https://iph.ras.ru/relationships#"
xmlns:ocrer="http://purl.org/net/OCRe/research.owl#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
xmlns:bibo="http://purl.org/ontology/bibo/"
xmlns:fabio="http://purl.org/spar/fabio/"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<owl:Ontology rdf:about="https://litvinovg.pro/search_ontology">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Semantic search</rdfs:label>
<vitro:ontologyPrefixAnnot>search</vitro:ontologyPrefixAnnot>
</owl:Ontology>
<owl:Class rdf:about="https://litvinovg.pro/search_ontology#searchField">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Field</rdfs:label>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupsearchstatements"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf>
<owl:Class rdf:about="https://litvinovg.pro/search_ontology#statement"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/search_ontology#statement">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Search statement</rdfs:label>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupsearchstatements"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/search_ontology#sort">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Sort</rdfs:label>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupsearchstatements"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/search_ontology#statement"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/search_ontology#filter">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Filter</rdfs:label>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupsearchstatements"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/search_ontology#statement"/>
</owl:Class>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/search_ontology#filterFiled">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Filter field</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<rdfs:range rdf:resource="https://litvinovg.pro/search_ontology#searchField"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/search_ontology#filter"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/search_ontology#indexField">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Index field</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/search_ontology#searchField"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/search_ontology#id">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Identifier</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/search_ontology#filter"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/search_ontology#description">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>description</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/search_ontology#statement"/>
</owl:DatatypeProperty>
</rdf:RDF>

View file

@ -0,0 +1,525 @@
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
xmlns:ns="http://www.w3.org/2003/06/sw-vocab-status/ns#"
xmlns:search="https://litvinovg.pro/search_ontology#"
xmlns:scires="http://vivoweb.org/ontology/scientific-research#"
xmlns:ocresst="http://purl.org/net/OCRe/statistics.owl#"
xmlns:ocresd="http://purl.org/net/OCRe/study_design.owl#"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:obo="http://purl.obolibrary.org/obo/"
xmlns:geo="http://aims.fao.org/aos/geopolitical.owl#"
xmlns:c4o="http://purl.org/spar/c4o/"
xmlns:event="http://purl.org/NET/c4dm/event.owl#"
xmlns:ro="http://purl.obolibrary.org/obo/ro.owl#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:skos2="http://www.w3.org/2008/05/skos#"
xmlns:ts="https://litvinovg.pro/text_structures#"
xmlns:vann="http://purl.org/vocab/vann/"
xmlns:vivo="http://vivoweb.org/ontology/core#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:vitro-public="http://vitro.mannlib.cornell.edu/ns/vitro/public#"
xmlns:vitro="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cito="http://purl.org/spar/cito/"
xmlns:swo="http://www.ebi.ac.uk/efo/swo/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:ocresp="http://purl.org/net/OCRe/study_protocol.owl#"
xmlns:pr="https://iph.ras.ru/relationships#"
xmlns:ocrer="http://purl.org/net/OCRe/research.owl#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
xmlns:bibo="http://purl.org/ontology/bibo/"
xmlns:fabio="http://purl.org/spar/fabio/"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<owl:Ontology rdf:about="https://litvinovg.pro/text_structures">
<rdfs:label xml:lang="ru-RU">Text structures Ontology</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Text structures Ontology</rdfs:label>
<vitro:ontologyPrefixAnnot>ts</vitro:ontologyPrefixAnnot>
</owl:Ontology>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOC">
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">Table of contents</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Table of contents</rdfs:label>
<rdfs:subClassOf>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel"/>
</rdfs:subClassOf>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayRankAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#complexPublication">
<rdfs:label xml:lang="en-US">Complex Publication</rdfs:label>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication">
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">Publication</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Publication</rdfs:label>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayRankAnnot>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publicationParticipant">
<rdfs:label xml:lang="en-US">Publication Participant</rdfs:label>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCItem">
<rdfs:label xml:lang="en-US">TOC Item</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>TOC Item</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#organization">
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">Organization</rdfs:label>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphArticle">
<rdfs:subClassOf>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#encArticle"/>
</rdfs:subClassOf>
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<vitro:customDisplayViewAnnot>elenphAritcle.ftl</vitro:customDisplayViewAnnot>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Electronic philosophical encyclopedia article</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupElenpharticles"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#compilation">
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:customDisplayViewAnnot>compilation.ftl</vitro:customDisplayViewAnnot>
<rdfs:label xml:lang="en-US">Compilation</rdfs:label>
<vitro:customEntryFormAnnot>edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator</vitro:customEntryFormAnnot>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#textExcerpt">
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#publication"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Text excerpt</rdfs:label>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#book">
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">Book</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Book</rdfs:label>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayRankAnnot>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#journalArticle">
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayLimitAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayRankAnnot>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>-1</vitro:displayRankAnnot>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Journal Article</rdfs:label>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#encArticle">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Encyclopedia article</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayRankAnnot>
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>-1</vitro:displayLimitAnnot>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphExcerpt">
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGrouptextexcerpts"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
<vitro:customDisplayViewAnnot>elenphExcerpt.ftl</vitro:customDisplayViewAnnot>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Elenph Excerpt</rdfs:label>
</owl:Class>
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel">
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">TOC Level</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>TOC Level</rdfs:label>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<obo:IAO_0000115>Table of contents element</obo:IAO_0000115>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:Class>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasAuthor">
<rdfs:label xml:lang="en-US">has author</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#affiliatedWith">
<rdfs:label xml:lang="en-US">affiliated with</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#organization"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#compilatorOf">
<rdfs:label xml:lang="en-US">compilatorOf</rdfs:label>
<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasTOCItem">
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>has TOC item</rdfs:label>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#hasTOCItem"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/>
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasText">
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">has text</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>has text</rdfs:label>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#hasText"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#pointsTo">
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>points to</rdfs:label>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#pointsTo"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#queryBuilderRules">
<rdfs:label xml:lang="en-US">Query Builder Rules</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#rawQueryString">
<rdfs:label xml:lang="en-US">Raw Query String</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantInitials">
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<rdfs:label xml:lang="en-US">Publication Participant Initials</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#doi">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#doi"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>DOI</rdfs:label>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantGivenName">
<rdfs:label xml:lang="en-US">Publication Participant Given Name</rdfs:label>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#firstPublication">
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#firstPublication"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>First publication</rdfs:label>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#modificationTime">
<rdfs:label xml:lang="en-US">Modification time</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publication"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#keywords">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Keywords</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#keywords"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#htmlExcerpt">
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<vitro:editing>HTML</vitro:editing>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#htmlExcerpt"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>html Excerpt</rdfs:label>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantFamily">
<rdfs:label xml:lang="en-US">Publication Participant Family</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#issue">
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Issue</rdfs:label>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#issue"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantEmail">
<rdfs:label xml:lang="en-US">Publication Participant email</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#works">
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#works"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Works</rdfs:label>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#yearAndMonth">
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Year and month</rdfs:label>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYearMonth"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#yearAndMonth"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#bibliography">
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>bibliography</rdfs:label>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#bibliography"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#year">
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Year</rdfs:label>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#year"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
</owl:DatatypeProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#organizationAddress">
<rdfs:label xml:lang="en-US">Organization Address</rdfs:label>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#organizationPostalCode">
<rdfs:label xml:lang="en-US">Organization Postal Code</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#officialOrganizationName">
<rdfs:label xml:lang="en-US">Official Organization Name</rdfs:label>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#">
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>htmlExcerpt</rdfs:label>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#Excerpt"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#itemNumber">
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#itemNumber"/>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>Item Number</rdfs:label>
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#hasTOC">
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOC"/>
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</vitro:selectFromExistingAnnot>
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
<rdfs:label xml:lang="en-US">has TOC</rdfs:label>
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
>has TOC</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</owl:FunctionalProperty>
</rdf:RDF>

View file

@ -0,0 +1,5 @@
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
ts_:elenphArticle vitro:customDisplayViewAnnot "elenphAritcle.ftl"^^xsd:string .

View file

@ -0,0 +1,5 @@
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ts_: <https://litvinovg.pro/text_structures#> .
ts_:elenphExcerpt vitro:customDisplayViewAnnot "elenphExcerpt.ftl"^^xsd:string .

View file

@ -0,0 +1,5 @@
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix pr: <https://iph.ras.ru/relationships#> .
pr:rubric vitro:customDisplayViewAnnot "rubric.ftl"^^xsd:string .

View file

@ -0,0 +1,27 @@
@prefix ts_: <https://litvinovg.pro/text_structures#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
@prefix mydomain: <http://vivo.mydomain.edu/individual/> .
ts_:elenphExcerpt display:hasCustomView mydomain:elenphExcerptShortView .
mydomain:elenphExcerptShortView
a display:customViewForIndividual ;
display:appliesToContext "SEARCH" ;
display:hasTemplate "elenphExcerptShortView.ftl" ;
display:hasDataGetter mydomain:elenphExcerptShortViewDataGetter .
mydomain:elenphExcerptShortViewDataGetter
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "excerptInfo";
display:query
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ts_: <https://litvinovg.pro/text_structures#>
SELECT ?property ?value
WHERE {
?individualUri ?property ?value .
?individualUri rdf:type ts_:elenphExcerpt .
}
""" .

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,18 @@
{
let content = document.getElementById("wrapper-content");
let toc = document.getElementById("TOC");
createTOC(content, toc);
function createTOC(content, toc){
if (toc === null){
alert("no TOC element found");
return;
}
if (content === null){
alert("no content element found");
return;
}
}
}

View file

@ -22,4 +22,3 @@ Disallow: /vis/ # VIVO addition
Disallow: /visualizationAjax/ # VIVO addition
Disallow: /visualizationData/ # VIVO addition
Disallow: /qrcode # VIVO addition
Disallow: /individual # VIVO addition

View file

@ -0,0 +1,49 @@
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
<#-- Template for browsing individuals in class groups for menupages -->
<#import "lib-string.ftl" as str>
<noscript>
<p style="padding: 20px 20px 20px 20px;background-color:#f8ffb7">${i18n().browse_page_javascript_one} <a href="${urls.base}/browse" title="${i18n().index_page}">${i18n().index_page}</a> ${i18n().browse_page_javascript_two}</p>
</noscript>
<section id="noJavascriptContainer" class="hidden">
<section id="browse-by" role="region">
<nav role="navigation">
<ul id="browse-classes">
<#list vClassGroup?sort_by("displayRank") as vClass>
<#------------------------------------------------------------
Need to replace vClassCamel with full URL that allows function
to degrade gracefully in absence of JavaScript. Something
similar to what Brian had setup with widget-browse.ftl
------------------------------------------------------------->
<#assign vClassCamel = str.camelCase(vClass.name) />
<#-- Only display vClasses with individuals -->
<#if (vClass.entityCount > 0)>
<li id="${vClassCamel}"><a href="#${vClassCamel}" title="${i18n().browse_all_in_class}" data-uri="${vClass.URI}">${vClass.name} <span class="count-classes">(${vClass.entityCount})</span></a></li>
</#if>
</#list>
</ul>
<nav id="alpha-browse-container" role="navigation">
<h3 class="selected-class"></h3>
<#assign alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё" "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Э", "Ю", "Я" ] />
<ul id="alpha-browse-individuals">
<li><a href="#" class="selected" data-alpha="all" title="${i18n().select_all}">${i18n().all}</a></li>
<#list alphabet as letter>
<li><a href="#" data-alpha="${letter?lower_case}" title="${i18n().browse_all_starts_with(letter)}">${letter}</a></li>
</#list>
</ul>
</nav>
</nav>
<section id="individuals-in-class" role="region">
<ul role="list">
<#-- Will be populated dynamically via AJAX request -->
</ul>
</section>
</section>
</section>
<script type="text/javascript">
$('section#noJavascriptContainer').removeClass('hidden');
</script>

View file

@ -4,8 +4,10 @@
<#import "lib-vivo-properties.ftl" as p>
<div class="searchResult">
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
<@p.displayTitle individual />
<p class="snippet">${individual.snippet}</p>
</div>

View file

@ -0,0 +1,16 @@
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
<#-- Template for displaying search error message -->
<#if title??>
<div class="errorPageTitle">
<h2>${title?html}</h2>
</div>
</#if>
<div id="nomatchingTitle">
<p>
${message?html}
</p>
</div>
<#include "searchSelector.ftl">
<#include "search-help.ftl" >

View file

@ -0,0 +1,49 @@
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
<#if origination?has_content && origination == "helpLink">
<div id="searchTipsTitleH2">
<h2>Search Tips</h2>
</div>
<span id="searchHelp">
<a href="#" onClick="history.back();return false;" title="back to results">Back to results</a>
</span>
<#else>
<div id="searchTipsTitleH3">
<h3>Search Tips</h3>
</div>
</#if>
<ul class="searchTips">
<li>Keep it simple! Use short, single terms unless your searches are returning too many results.</li>
<li>Use quotes to search for an entire phrase -- e.g., "<i>protein folding</i>".</li>
<li>Except for boolean operators, searches are <strong>not</strong> case-sensitive, so "Geneva" and "geneva" are equivalent</li>
<li>If you are unsure of the correct spelling, put ~ at the end of your search term -- e.g., <i>cabage~</i> finds <i>cabbage</i>, <i>steven~</i> finds <i>Stephen</i> and <i>Stefan</i> (as well as other similar names).</li>
</ul>
<div id="advancedTipsWrapper">
<h4><a id="advTipsLink" href="#">Advanced Tips</a></h4>
</div>
<ul id="advanced" class="searchTips" style="visibility:hidden">
<li>When you enter more than one term, search will return results containing all of them unless you add the Boolean "OR" -- e.g., <i>chicken</i> OR <i>egg</i>.</li>
<li>NOT" can help limit searches -- e.g., <i>climate</i> NOT <i>change</i>.</li>
<li>Phrase searches may be combined with Boolean operators -- e.g. "<i>climate change</i>" OR "<i>global warming</i>".</li>
<li>Close word variations will also be found -- e.g., <i>sequence</i> matches <i>sequences</i> and <i>sequencing</i>.</li>
<li>Use the wildcard * character to match an even wider variation -- e.g., <i>nano*</i> will match both <i>nanotechnology</i> and <i>nanofabrication</i>.</li>
<li>Search uses shortened versions of words -- e.g., a search for <i>cogniti*</i> finds nothing, while <i>cognit*</i> finds both <i>cognitive</i> and <i>cognition</i>.</li>
</ul>
<a id="closeLink" href="#" style="visibility:hidden;font-size:.825em;padding-left:8px">Close</a>
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/search.css" />')}
<script type="text/javascript">
$(document).ready(function(){
$('a#advTipsLink').click(function() {
$('ul#advanced').css("visibility","visible");
$('a#closeLink').css("visibility","visible");
$('a#closeLink').click(function() {
$('ul#advanced').css("visibility","hidden");
$('a#closeLink').css("visibility","hidden");
return false;
});
return false;
});
});
</script>

View file

@ -0,0 +1,252 @@
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
<#-- Template for displaying paged search results -->
<h2 class="searchResultsHeader">
<#include "searchSelector.ftl">
<#escape x as x?html>
<div id='searchQueryResults'> ${i18n().search_results_for} '${querytext}'</div>
<div id='limitedToClassGroup'> <#if classGroupName?has_content>${i18n().limited_to_type} '${classGroupName}'</#if> </div>
<div id='limitedToType'> <#if typeName?has_content>${i18n().limited_to_type} '${typeName}'</#if> </div>
</#escape>
<script type="text/javascript">
var url = window.location.toString();
if (url.indexOf("?") == -1){
var queryText = 'querytext=${querytext}';
} else {
var urlArray = url.split("?");
var queryText = urlArray[1];
}
var urlsBase = '${urls.base}';
</script>
<img id="downloadIcon" src="images/download-icon.png" alt="${i18n().download_results}" title="${i18n().download_results}" />
<#-- <span id="downloadResults" style="float:left"></span> -->
</h2>
<span id="searchHelp"><a href="${urls.base}/searchHelp" title="${i18n().search_help}">${i18n().not_expected_results}</a></span>
<div class="contentsBrowseGroup">
<#-- Refinement links -->
<#if classGroupLinks?has_content && classGroupLinks?size gt 1>
<div class="searchTOC">
<h4>${i18n().display_only}</h4>
<ul>
<#list classGroupLinks as link>
<li><a href="${link.url}" title="${i18n().class_group_link}">${link.text}</a><span>(${link.count})</span></li>
</#list>
</ul>
</div>
</#if>
<#if classLinks?has_content && classLinks?size gt 1 >
<div class="searchTOC">
<#if classGroupName?has_content>
<h4>${i18n().limit} ${classGroupName} ${i18n().to}</h4>
<#else>
<h4>${i18n().limit_to}</h4>
</#if>
<ul>
<#list classLinks as link>
<li><a href="${link.url}" title="${i18n().class_link}">${link.text}</a><span>(${link.count})</span></li>
</#list>
</ul>
</div>
</#if>
<div class="virtualArticleSwitch">
<label class="switch">${i18n().show_virtual_article}
<input id="virtualArticleCheck" type="checkbox" checked="false" onclick="showVirtualArticles();">
</label>
<#if user.loggedIn>
<button onclick="createNewCompilation()">${i18n().create_compilation_button}</button>
</#if>
</div>
<#-- Search results -->
<ul class="searchhits">
<#list individuals as individual>
<li>
<@shortView uri=individual.uri viewContext="search" />
</li>
</#list>
</ul>
<#-- Paging controls -->
<#if (pagingLinks?size > 0)>
<div class="searchpages">
${i18n().pages}:
<#if prevPage??><a class="prev" href="${prevPage}" title="${i18n().previous}">${i18n().previous}</a></#if>
<#list pagingLinks as link>
<#if link.url??>
<a href="${link.url}" title="${i18n().page_link}">${link.text}</a>
<#else>
<span>${link.text}</span> <#-- no link if current page -->
</#if>
</#list>
<#if nextPage??><a class="next" href="${nextPage}" title="${i18n().next_capitalized}">${i18n().next_capitalized}</a></#if>
</div>
</#if>
<br />
<#-- VIVO OpenSocial Extension by UCSF -->
<#if openSocial??>
<#if openSocial.visible>
<h3>OpenSocial</h3>
<script type="text/javascript" language="javascript">
// find the 'Search' gadget(s).
var searchGadgets = my.findGadgetsAttachingTo("gadgets-search");
var keyword = '${querytext}';
// add params to these gadgets
if (keyword) {
for (var i = 0; i < searchGadgets.length; i++) {
var searchGadget = searchGadgets[i];
searchGadget.additionalParams = searchGadget.additionalParams || {};
searchGadget.additionalParams["keyword"] = keyword;
}
}
else { // remove these gadgets
my.removeGadgets(searchGadgets);
}
</script>
<div id="gadgets-search" class="gadgets-gadget-parent" style="display:inline-block"></div>
</#if>
</#if>
</div> <!-- end contentsBrowseGroup -->
<script>
document.addEventListener('DOMContentLoaded', createVirtualCompilation(), false);
$('input[type=checkbox]').removeAttr('checked');
function showVirtualArticles(){
var checkBox = document.getElementById("virtualArticleCheck");
if (checkBox.checked == true){
$('.searchResult').hide();
$('.virtualArticlePart').show();
} else {
$('.searchResult').show();
$('.virtualArticlePart').hide();
}
}
function createNewCompilation() {
var excerpts = $('.compilationDraftExcerpt').toArray();
if (excerpts.length == 0){
alert("${i18n().create_compilation_no_excerpts}");
return;
}
var compilationName = window.prompt("${i18n().create_compilation_enter_name_notification}");
if (!compilationName){
alert("${i18n().create_compilation_no_name_entered_error}");
return;
}
var iframe = document.createElement("iframe");
var excerptsCounter = $('.compilationDraftExcerpt').length;
iframe.setAttribute("src", "${urls.base}/editRequestDispatch?typeOfNew=https%3A%2F%2Flitvinovg.pro%2Ftext_structures%23compilation&editForm=edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator&excerptsCount=" + excerptsCounter);
iframe.style.width = "1px";
iframe.style.height = "1px";
iframe.id="newCompilationIframe";
//iframe.style.display="none";
document.body.appendChild(iframe);
$('#newCompilationIframe').on('load', function(){
fillOutForm(compilationName);
});
}
function fillOutForm(compilationName){
var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document;
var rules = $('#builder').queryBuilder('getRules', { get_flags: true });
var query = format_query_string(rules, "", false);
iframeDoc.getElementById('queryBuilderRules').value = JSON.stringify(rules);
iframeDoc.getElementById('rawQueryString').value = query;
iframeDoc.getElementById('newCompilationLabel').value = compilationName;
var excerpts = $('.compilationDraftExcerpt').toArray();
for (i = 0;i < excerpts.length;i++){
var excerptUri = excerpts[i].getAttribute('partUri');
var excerptName = excerpts[i].getAttribute('partName');
var number = i + 1;
iframeDoc.getElementById("tocLevel" + number + "Name").value = excerptName + " (" + compilationName + ")";
iframeDoc.getElementById("tocItem" + number + "Name").value = excerptName + " (" + compilationName + ")";
iframeDoc.getElementById("excerpt" + number).value = excerptUri;
}
$('#newCompilationIframe').off('load');
iframeDoc.getElementById('submit').click();
$('#newCompilationIframe').on('load', function(){
redirectToNewCompilation();
});
}
function redirectToNewCompilation(){
var newURL = document.getElementById('newCompilationIframe').contentWindow.location.href;
window.open(newURL,"_self");
}
function createVirtualCompilation(){
let workSet = new Set();
let biblioSet = new Set();
var workDivs = $('.virtualArticleWork');
var biblioDivs = $('.virtualArticleBibliography');
biblioDivs.each(function() {
biblioSet.add($(this).html());
});
workDivs.each(function() {
workSet.add($(this).html());
});
var workArr = Array.from(workSet);
workArr.sort();
var biblioArr = Array.from(biblioSet);
biblioArr.sort();
if (workArr.length > 0 ) {
$('<div class="virtualWorks virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().sources_excerpt_button_text}</button><div class="virtualWorks"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of workArr){
$('.virtualWorks').last().append( '<div class="work"><p>' + value + '</p></div>' );
}
}
if (biblioArr.length > 0 ) {
$('<div class="virtualBibliography virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().literature_excerpt_button_text}</button><div class="virtualBibliography"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of biblioArr){
$('.virtualBibliography').last().append( '<div class="bibliography"><p>' + value + '</p></div>' );
}
}
$('.virtualWorks').hide();
$('.virtualBibliography').hide();
$('.virtualArticlePart').hide();
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
createRemoveButtons();
}
</script>
${stylesheets.add('<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />',
'<link rel="stylesheet" href="${urls.base}/css/search.css" />',
'<link rel="stylesheet" type="text/css" href="${urls.base}/css/jquery_plugins/qtip/jquery.qtip.min.css" />')}
${headScripts.add('<script src="//code.jquery.com/ui/1.10.3/jquery-ui.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/qtip/jquery.qtip.min.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/tiny_mce/tiny_mce.js"></script>'
)}
${scripts.add('<script type="text/javascript" src="${urls.base}/js/searchDownload.js"></script>')}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,118 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
.gadgets-gadget-chrome {
float: left;
margin: 4px 6px 4px 12px; /* changed the left value from 0 tlw72*/
border: 1px solid #CCC;
border: 1px solid #dfebe5; /*#7aa5d6;*/
}
.col2 .gadgets-gadget-chrome {
margin-left: 9px;
}
.gadgets-gadget
{
width: 100%;
border: none;
background-color:#fff; /*tlw72*/
}
.gadgets-gadget-title-bar {
padding: 4px 4px 2px;
background-color: #EEEBE5;
background-color: #f1f2ee; /* #e5ecf9; */
}
/*.gadgets-gadget-title-bar:hover { background-color: #e7e3db; } */
.gadgets-gadget-title-bar img,
.gadgets-gadget-title-button {
vertical-align: top;
}
/* title bar */
.gadgets-gadget-title a, .gadgets-gadget-title a:hover, .gadgets-gadget-title a:visited {
/* font-weight: bold; */
font-size: 16px; /*14px*/
color: #2485AE; /*#CA7C29*/
padding-left:8px; /*tlw72*/
text-decoration: none; /*tlw72*/
}
.EditBody .gadgets-gadget-title a {
color:#3B6394;
}
.EditBody .gadgets-gadget-title a:hover {
color:#1E416C;
}
.gadgets-gadget-title-button-bar {
font-size: smaller;
}
.gadgets-gadget-canvas-title {
color: #000;
padding-left: 6px;
}
.gadgets-gadget-user-prefs-dialog {
background-color: #e5ecf9;
}
.gadgets-gadget-user-prefs-dialog-action-bar {
text-align: center;
padding-bottom: 4px;
}
.gadgets-gadget-title-button img {
border: 2px solid #4F5CC7;
border: none;
float: left; /*right*/
margin-left: 2px; /*margin-right*/
margin-top:6px; /*tlw72*/
}
.EditBody .gadgets-gadget-title-button img {
float: left;
margin-right: 8px;
}
.gadgets-gadget-content {
padding: 4px;
}
.gadgets-log-entry {
}
/* Used to style messages produced during rewriting by CajaContentRewriter */
.gadgets-messages {
}
.gadgets-gadget-status {
font-weight: bold;
float: right;
/* text-align: center; */
font-size: 12px;
padding-right: 6px;
}
* html .gadgets-gadget-status { margin-top: -18px; padding-right: 30px; } /* fudge line break for IE6 */
*+html .gadgets-gadget-status { margin-top: -18px; padding-right: 30px; } /* fudge line break for IE7 */
/* list tool fix ticket #135 */
* html #ctl00_ctl00_left_pnlOpenSocialTools { height: 130px; }
*+html #ctl00_ctl00_left_pnlOpenSocialTools { height: 130px; }
* html #ctl00_ctl00_left_pnlOpenSocialTools { margin-left: -8px; }

View file

@ -0,0 +1,82 @@
#createAndLink select {
height: 2.5em;
margin-top: 0px;
margin-bottom: 0px;
padding-bottom: 0px;
padding-top: 0px;
}
#createAndLink .citation_error:before {
content: url('../../../images/createAndLink/error.png');
transform: scale(0.5);
margin-top: 10px;
margin-right: 10px;
float: left;
}
#createAndLink .citation_error {
height: 70px;
}
#createAndLink .citation_claimed:before {
content: url('../../../images/createAndLink/tick.png');
transform: scale(0.75);
margin-top: -17px;
margin-left: 535px;
float: left;
position: absolute;
}
#createAndLink .citation_claimed:hover:before {
opacity: 0.2;
}
#createAndLink .citation_claimed .citation {
opacity: 0.2;
}
#createAndLink .citation_claimed:hover .citation {
opacity: 1.0;
}
#createAndLink .citation_type {
font-style: italic;
padding: 5px;
}
#createAndLink .citation_title {
font-weight: bold;
}
#createAndLink .citation_journal {
font-style: italic;
}
#createAndLink .claimed {
font-weight: bold;
}
#createAndLink .linked {
font-style: italic;
}
#createAndLink .entryId {
background-color: #3e8baa; /* #E0E0E0; */
color: #ffffff;
padding: 5px;
font-weight: bold;
display: inline-block;
}
#createAndLink .entry {
border: 2px solid #3e8baa; /* #E0E0E0; */
padding: 5px;
}
#createAndLink label {
display: inline;
}
#createAndLink .radioWithLabel:checked + .labelForRadio {
font-weight: bold;
}
#createAndLink .description {
padding-left: 22px;
}
#createAndLink .remainder {
font-style: italic;
}
#createAndLink .claim-for {
float: right;
border: 2px solid #3e8baa; /* #E0E0E0; */
padding: 5px;
}
#createAndLink .claim-for h3 {
text-align: center;
}

View file

@ -0,0 +1,155 @@
icons: {
add_group: 'fas fa-plus-square', add_rule: 'fas fa-plus-circle',
remove_group: 'fas fa-minus-square', remove_rule: 'fas fa-minus-circle',
error: 'fas fa-exclamation-triangle'
}
.rule-value-container > select{
max-width: 380px;
}
.query-builder, .query-builder * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.query-builder {
font-family: sans-serif;
width: 100%;
}
.query-builder .hide {
display: none;
}
.query-builder .pull-right {
float: right !important;
/*box-shadow: 0px 4px 2px #aeaeae;*/
}
.query-builder .btn {
text-transform: none;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0px;
font-size: 16px;
font-weight: 400;
line-height: 1.42857;
text-align: center;
white-space: nowrap;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
user-select: none;
background-image: none;
/*border: 1px solid transparent;*/
/*border-radius: 4px;*/
}
.query-builder .btn.focus, .query-builder .btn:focus, .query-builder .btn:hover {
color: #333;
text-decoration: none;
}
.query-builder .btn.active, .query-builder .btn:active {
background-image: none;
outline: 0px none;
/* box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.125) inset; */
}
.query-builder .btn-success {
color: #000000;
background-color: #ffffff;
border: 0px;
font-family: Roboto;
/*box-shadow: 0px 4px 2px #aeaeae;*/
}
.btn-group.pull-right.group-actions {
box-shadow: 0px 4px 2px #aeaeae;
/*margin-right: 10px;*/
}
.query-builder .btn-primary {
color: #000000;
background-color: #ffffff;
border: 1px dashed #000000 !important;
}
.query-builder .btn-danger {
color: #000000;
background-color: #ffffff;
border: 0px;
box-shadow: 0px;
}
button.btn.btn-xs.btn-danger {
/*box-shadow: 0px 0px 0px #000000;*/
border-left: 1px solid #ead6a2 !important;
font-family: Roboto;
}
.query-builder .btn-success.active, .query-builder .btn-success.focus,
.query-builder .btn-success:active, .query-builder .btn-success:focus,
.query-builder .btn-success:hover {
color: #000000;
background-color: #EAD6A2;
border: 0px;
/*border-color: #398439;*/
}
.query-builder .btn-primary.active, .query-builder .btn-primary.focus,
.query-builder .btn-primary:active, .query-builder .btn-primary:focus,
.query-builder .btn-primary:hover {
color: #000000;
background-color: #EAD6A2;
border-color: #000000;
}
.query-builder .btn-danger.active, .query-builder .btn-danger.focus,
.query-builder .btn-danger:active, .query-builder .btn-danger:focus,
.query-builder .btn-danger:hover {
color: #000000;
background-color: #ffffff;
border-color: #AC2925;
}
.query-builder .btn-group {
position: relative;
display: inline-block;
vertical-align: middle;
}
.query-builder .btn-group>.btn {
position: relative;
float: left;
border-left: 1px solid #ead6a2;
}
.query-builder .btn-group>.btn:first-child {
margin-left: 0px;
border-left: none;
}
.query-builder .btn-group>.btn:first-child:not(:last-child) {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
.query-builder .btn-group>.btn:last-child:not(:first-child) {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.query-builder .btn-group .btn+.btn, .query-builder .btn-group .btn+.btn-group,
.query-builder .btn-group .btn-group+.btn, .query-builder .btn-group .btn-group+.btn-group
{
margin-left: -1px;
}
.query-builder .btn-xs, .query-builder .btn-group-xs>.btn {
padding: 5px 8px;
font-size: 1rem;
line-height: 1.5;
/*border-radius: 3px;*/
}

View file

@ -0,0 +1,212 @@
/*!
* jQuery QueryBuilder 2.5.2
* Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
* Licensed under MIT (https://opensource.org/licenses/MIT)
*/
.query-builder .rules-group-container, .query-builder .rule-container,
.query-builder .rule-placeholder {
position: relative;
/*margin: 10px 10px 0 10px;*/
/*border-radius: 5px;*/
padding: 5px;
/*border-top: 1px dashed #000000;
border-left: 1px dashed #000000;
border-right: 1px dashed #000000;*/
background: rgba(255, 255, 255, 0.9);
}
.rule-container {
box-shadow: 0px 4px 4px #aeaeae;
margin-bottom: 10px;
margin-top: 10px;
}
.query-builder .rule-container .rule-filter-container, .query-builder .rule-container .rule-operator-container,
.query-builder .rule-container .rule-value-container, .query-builder .error-container,
.query-builder .drag-handle {
display: inline-block;
margin: 0 5px 0 0;
/*vertical-align: middle;*/
}
.query-builder .rules-group-container {
padding: 12px 20px 10px 20px;
/*border-right: 1px solid #8B4513;
border-left: 1px solid #8B4513;
border-top: 1px solid #8B4513;
border-bottom: 1px solid #8B4513;*/
background-color: #efe9d9;
outline: 1px dashed #000000;
outline-offset: 0px;
margin-bottom: 10px;
font-family: Roboto;
}
#builder_group_0 {
background-color: #F1F1F1;
margin-bottom: 0;
outline: 1px solid #F1F1F1;
outline-offset: -1px;
border-left: 1px solid #8B4513;
border-right: 1px solid #8B4513;
}
#builder_rule_1 {
margin-bottom: 10px;
}
#builder_group_1 {
margin-top: 10px;
/*border: 1px dashed #000000;*/
}
.query-builder .rules-group-header {
margin-bottom: 10px;
}
.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),
.query-builder .rules-group-header .group-conditions input[name$='_cond']
{
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
white-space: nowrap;
}
.query-builder .rules-group-header .group-conditions .btn.readonly {
border-radius: 3px;
}
.query-builder .rules-list {
list-style: none;
padding: 0 0 0 10px;
margin: 0;
box-shadow: 0px 0px #aeaeae;
}
.query-builder .rule-value-container {
/*border-left: 1px solid #DDD;*/
padding-left: 5px;
}
.query-builder .rule-value-container label {
margin-bottom: 0;
font-weight: normal;
}
.query-builder .rule-value-container label.block {
display: block;
}
.query-builder .rule-value-container select, .query-builder .rule-value-container input[type='text'],
.query-builder .rule-value-container input[type='number'] {
padding: 5px;
}
.query-builder .error-container {
display: none;
cursor: help;
color: #F00;
}
.query-builder .has-error {
background-color: #FDD;
border-color: #F99;
}
.query-builder .has-error .error-container {
display: inline-block !important;
}
.query-builder .rules-list>*::before, .query-builder .rules-list>*::after
{
content: '';
position: absolute;
left: -10px;
width: 10px;
height: calc(50% + 4px);
border-color: #000000;
border-style: dashed;
}
.query-builder .rules-list>*::before {
top: -4px;
border-width: 0 0 1px 1px;
}
.query-builder .rules-list>*::after {
top: 50%;
border-width: 0 0 0 1px;
}
.query-builder .rules-list>*:first-child::before {
top: -12px;
height: calc(50% + 14px);
}
.query-builder .rules-list>*:last-child::before {
/*border-radius: 0 0 0 4px;*/
}
.query-builder .rules-list>*:last-child::after {
display: none;
}
.query-builder.bt-checkbox-glyphicons .checkbox input[type='checkbox']:checked+label::after
{
font-family: 'Glyphicons Halflings';
content: '\e013';
}
.query-builder.bt-checkbox-glyphicons .checkbox label::after {
padding-left: 4px;
padding-top: 2px;
font-size: 9px;
}
.query-builder .error-container+.tooltip .tooltip-inner {
color: #F99 !important;
}
.query-builder p.filter-description {
margin: 5px 0 0 0;
background: #D9EDF7;
border: 1px solid #BCE8F1;
color: #31708F;
border-radius: 5px;
padding: 2.5px 5px;
font-size: .8em;
}
.query-builder .rules-group-header [data-invert] {
margin-left: 5px;
}
.query-builder .drag-handle {
cursor: move;
vertical-align: middle;
margin-left: 5px;
}
.query-builder .dragging {
position: fixed;
opacity: .5;
z-index: 100;
}
.query-builder .dragging::before, .query-builder .dragging::after {
display: none;
}
.query-builder .rule-placeholder {
border: 1px dashed #BBB;
opacity: .7;
}

View file

@ -0,0 +1,173 @@
/*!
* jQuery QueryBuilder 2.5.2
* Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
* Licensed under MIT (https://opensource.org/licenses/MIT)
*/
.query-builder .rules-group-container, .query-builder .rule-container, .query-builder .rule-placeholder {
position: relative;
margin: 4px 0;
border-radius: 5px;
padding: 5px;
border: 1px solid #EEE;
background: rgba(255, 255, 255, 0.9);
}
.query-builder .rule-container .rule-filter-container,
.query-builder .rule-container .rule-operator-container,
.query-builder .rule-container .rule-value-container, .query-builder .error-container, .query-builder .drag-handle {
display: inline-block;
margin: 0 5px 0 0;
vertical-align: middle;
}
.query-builder .rules-group-container {
padding: 10px;
padding-bottom: 6px;
border: 1px solid #DCC896;
background: rgba(250, 240, 210, 0.5);
}
.query-builder .rules-group-header {
margin-bottom: 10px;
}
.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),
.query-builder .rules-group-header .group-conditions input[name$='_cond'] {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
white-space: nowrap;
}
.query-builder .rules-group-header .group-conditions .btn.readonly {
border-radius: 3px;
}
.query-builder .rules-list {
list-style: none;
padding: 0 0 0 15px;
margin: 0;
}
.query-builder .rule-value-container {
border-left: 1px solid #DDD;
padding-left: 5px;
}
.query-builder .rule-value-container label {
margin-bottom: 0;
font-weight: normal;
}
.query-builder .rule-value-container label.block {
display: block;
}
.query-builder .rule-value-container select,
.query-builder .rule-value-container input[type='text'],
.query-builder .rule-value-container input[type='number'] {
padding: 1px;
}
.query-builder .error-container {
display: none;
cursor: help;
color: #F00;
}
.query-builder .has-error {
background-color: #FDD;
border-color: #F99;
}
.query-builder .has-error .error-container {
display: inline-block !important;
}
.query-builder .rules-list > *::before, .query-builder .rules-list > *::after {
content: '';
position: absolute;
left: -10px;
width: 10px;
height: calc(50% + 4px);
border-color: #CCC;
border-style: solid;
}
.query-builder .rules-list > *::before {
top: -4px;
border-width: 0 0 2px 2px;
}
.query-builder .rules-list > *::after {
top: 50%;
border-width: 0 0 0 2px;
}
.query-builder .rules-list > *:first-child::before {
top: -12px;
height: calc(50% + 14px);
}
.query-builder .rules-list > *:last-child::before {
border-radius: 0 0 0 4px;
}
.query-builder .rules-list > *:last-child::after {
display: none;
}
.query-builder.bt-checkbox-glyphicons .checkbox input[type='checkbox']:checked + label::after {
font-family: 'Glyphicons Halflings';
content: '\e013';
}
.query-builder.bt-checkbox-glyphicons .checkbox label::after {
padding-left: 4px;
padding-top: 2px;
font-size: 9px;
}
.query-builder .error-container + .tooltip .tooltip-inner {
color: #F99 !important;
}
.query-builder p.filter-description {
margin: 5px 0 0 0;
background: #D9EDF7;
border: 1px solid #BCE8F1;
color: #31708F;
border-radius: 5px;
padding: 2.5px 5px;
font-size: .8em;
}
.query-builder .rules-group-header [data-invert] {
margin-left: 5px;
}
.query-builder .drag-handle {
cursor: move;
vertical-align: middle;
margin-left: 5px;
}
.query-builder .dragging {
position: fixed;
opacity: .5;
z-index: 100;
}
.query-builder .dragging::before, .query-builder .dragging::after {
display: none;
}
.query-builder .rule-placeholder {
border: 1px dashed #BBB;
opacity: .7;
}

View file

@ -0,0 +1,6 @@
/*!
* jQuery QueryBuilder 2.5.2
* Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
* Licensed under MIT (https://opensource.org/licenses/MIT)
*/
.query-builder .rule-container,.query-builder .rule-placeholder,.query-builder .rules-group-container{position:relative;margin:4px 0;border-radius:5px;padding:5px;border:1px solid #eee;background:rgba(255,255,255,.9)}.query-builder .drag-handle,.query-builder .error-container,.query-builder .rule-container .rule-filter-container,.query-builder .rule-container .rule-operator-container,.query-builder .rule-container .rule-value-container{display:inline-block;margin:0 5px 0 0;vertical-align:middle}.query-builder .rules-group-container{padding:10px;padding-bottom:6px;border:1px solid #dcc896;background:rgba(250,240,210,.5)}.query-builder .rules-group-header{margin-bottom:10px}.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),.query-builder .rules-group-header .group-conditions input[name$='_cond']{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.query-builder .rules-group-header .group-conditions .btn.readonly{border-radius:3px}.query-builder .rules-list{list-style:none;padding:0 0 0 15px;margin:0}.query-builder .rule-value-container{border-left:1px solid #ddd;padding-left:5px}.query-builder .rule-value-container label{margin-bottom:0;font-weight:400}.query-builder .rule-value-container label.block{display:block}.query-builder .rule-value-container input[type=number],.query-builder .rule-value-container input[type=text],.query-builder .rule-value-container select{padding:1px}.query-builder .error-container{display:none;cursor:help;color:red}.query-builder .has-error{background-color:#fdd;border-color:#f99}.query-builder .has-error .error-container{display:inline-block!important}.query-builder .rules-list>::after,.query-builder .rules-list>::before{content:'';position:absolute;left:-10px;width:10px;height:calc(50% + 4px);border-color:#ccc;border-style:solid}.query-builder .rules-list>::before{top:-4px;border-width:0 0 2px 2px}.query-builder .rules-list>::after{top:50%;border-width:0 0 0 2px}.query-builder .rules-list>:first-child::before{top:-12px;height:calc(50% + 14px)}.query-builder .rules-list>:last-child::before{border-radius:0 0 0 4px}.query-builder .rules-list>:last-child::after{display:none}.query-builder.bt-checkbox-glyphicons .checkbox input[type=checkbox]:checked+label::after{font-family:'Glyphicons Halflings';content:'\e013'}.query-builder.bt-checkbox-glyphicons .checkbox label::after{padding-left:4px;padding-top:2px;font-size:9px}.query-builder .error-container+.tooltip .tooltip-inner{color:#f99!important}.query-builder p.filter-description{margin:5px 0 0 0;background:#d9edf7;border:1px solid #bce8f1;color:#31708f;border-radius:5px;padding:2.5px 5px;font-size:.8em}.query-builder .rules-group-header [data-invert]{margin-left:5px}.query-builder .drag-handle{cursor:move;vertical-align:middle;margin-left:5px}.query-builder .dragging{position:fixed;opacity:.5;z-index:100}.query-builder .dragging::after,.query-builder .dragging::before{display:none}.query-builder .rule-placeholder{border:1px dashed #bbb;opacity:.7}

View file

@ -0,0 +1,102 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
/* CSS Document
CSS reste by Eric Meyer:
The goal of a reset stylesheet is to reduce browser inconsistencies in things like default line heights, margins and font sizes of headings, and so on... http://meyerweb.com/eric/tools/css/reset/
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
code,
del,
dfn,
em,
img,
q,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
color: #000000;
font-weight: normal;
}
body {
line-height: 1.5em;
}
ol,
ul {
list-style: none;
font-weight: normal;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* New ones added to the default list */
a {
text-decoration: none;
}
fieldset {
border-style: none;
}
legend {
display: none;
}

View file

@ -0,0 +1,30 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
/****************************************
****************************************
__ __ __ __ __ ___
/\ \/\ \\/\ \/\ \/\ \ / __`\
\ \ \_/ |\ \ \ \ \_/ |/\ \L\ \
\ \___/ \ \_\ \___/ \ \____/
\/__/ \/_/\/__/ \/___/
VIVO wilma theme: screen styles
Original version
2010-09-04 UI team
Last updated
2011-2-1
*****************************************
*****************************************/
@charset "UTF-8";
@import url("reset.css");
@import url("iph.css");
@import url("query-builder-theme.css");
@import url("query-builder.css");
@import url("page-createAndLink.css");
@import url("../../../local/css/local.css");

View file

@ -0,0 +1,166 @@
menu_contactus = Контакты
menu_welcomestart = Добро пожаловать
menu_copyright = права
menu_support = Поддержка
menu_logout = Выйти
menu_loginfull = Log in to manage this site
menu_login = Войти
menu_version = Версия
menu_about = О нас
menu_termuse = Правила использования
menu_powered = Сделано с помощью
intro_title = Добро пожаловать в VIVO
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
intro_searchvivo = Поиск VIVO
intro_filtersearch = Ограничить поиск
identity_title = VIVO | соединяй делись познавай
identity_index = Index
identity_edit = Редактировать страницу
identity_admin = Админка
identity_myprofile = Мой профиль
identity_myaccount = Моя учётная запись
identity_user = пользователь
collection_capitalized = Коллекция
place_of_grant = Место получения гранта
email_address = email адрес
#
# menupage templates ( /templates/freemarker/body/menupage )
#
grants_text_one = This body is from the the template file \
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
In the display model, the grants page has a display:requiresBodyTemplate \
property that defines that the grants page overrides the default template. \
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
grants_two = This technique could be used to define pages without menu items, that get \
their content from a freemarker template. An example would be the about page.
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
accessed via /about and would override all servlet mappings in web.xml.
address_street_one = первая строка адреса
address_street_two = вторая строка адреса
address_street_three = третья строка адреса
address_label = подпись адреса
loading_website_image = Загрузка изображения сайта
researchers_in = исследователь в
view = вид
grant_type = тип гранта
grant_entry_for = grant entry for
regions = регионы
grant_date = дата получения гранта
map_states_string = штатов.
map_state_string = штат.
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
currently_no_papers_for = Currently there are no {0} papers for
change_selection = Изменить выделенное
view_all_departments = view all academic departments
first_name = Имя
last_name = Фамилия
first_grant = Первый грант
last_grant = Последний грант
currently_no_researchers = There are currently no researchers with a defined geographic focus.
reviewer_role = Роль рецензента
vivo_profile = профиль VIVO
loading_data = данные загружаются
select_award = Selected Award
grants_in_vivo = гранты в VIVO
service_provider_role = Роль предоставителя услуг
view_all_faculty = просмотреть весь факультет
no_grants_for = В данный момент грантов нет грантов для
statewide_locations = state-wide locations.
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
indiv_foafperson_for = к
indiv_foafperson_return = вернуться к
no_departments_found = Университетских департаментов не найдено.
leadership_role = Управляющая роль
countries = страны
first_publication = Первая публикация
last_publication = Последняя публикация
research_area = сотрудников департамента спецализирующихся на данной области исследования
password = пароль
limit_search = ограничить поиск
placeholder_image = Изображение-заполнитель
view_all_members_of_org = Просмотреть всех участников данной организации.
display_more = больше
create_entry = Создать запись
attendee_capitalized = Посетитель
no_faculty_found = Членов факультета найдено не было.
create_capitalized = Создать
to = к
enter_new_role_value = Введеите новое значение в поле Роль.
countries_and_regions = страны и регионы.
province_or_region = Провинция или регион
full_name = Полное имя
researchers = исследователи
years_participation_in = Годы участия в
return_to_grant = Вернуться к гранту
profile_capitalized = Профиль
organizer_role = Роль организатора
faculty_memberships = Членство в факультете
edit_mailing_address = Изменить email адрес
add_capitalized = Добавить
#Design labels
scroll_to_top_label = Наверх
toc_label = Содержание
collapse_something = Свернуть
expand_something = Раскрыть
user_settings_label = Выберите настройки:
user_settings_always_open_full_doc = Всегда раскрывать документ при открытии
user_settings_always_open_metadata = Всегда раскрывать метаданные при открытии
expand_doc_switch = Раскрыть документ
collapse_doc_switch = Свернуть документ
expand_metadata_switch = Раскрыть метаданные
collapse_metadata_switch = Свернуть метаданные
literature_excerpt_button_text = Литература
literature_all_button_text = Сводная литература
sources_excerpt_button_text = Источники
sources_all_button_text = Сводные источники
extended_search_label = Расширенный поиск
metadata_label = Метаданные
metadata_query = Поисковый запрос
metadata_relates_to_rubrics = Относится к рубрикам:
metadata_relates_to_issue = Входит в выпуск
metadata_year = Год
metadata_to_rubric = перейти в рубрику
metadata_firstPublication = Первая публикация
metadata_authors = Авторы:
metadata_keywords = Ключевые слова:
metadata_html_text = Текст:
metadata_org_address = Адрес организации:
metadata_in_articles = В составе статей:
#Philosophical classifier
rubricator_parent_rubric = Родительская рубрика:
rubricator_rubric_order = Порядок рубрики
rubricator_subrubrics = Подрубрики
rubricator_articles_in_subrubrics = Статьи в подрубриках
rubricator_excerpts_in_subrubrics = Отрывки в подрубриках
rubricator_articles_in_rubric = Статьи в данной рубрике
rubricator_excerpts_in_rubric = Отрывки в данной рубрике
#Extended search form
extended_search_example = Пример заполнения
extended_search_results_on_page = Результатов на страницу
extended_search_clean = Очистить
extended_search_execute_search = Поиск
open_standard_search_form = Стандартная форма поиска
#Virtual articles creation
show_virtual_article = Показать виртуальную статью
create_compilation_button = Сохранить
create_compilation_no_excerpts = Отрывков не найдено
create_compilation_enter_name_notification = Введите название подобрки
create_compilation_no_name_entered_error = Для создания подоборки необходимо ввести её название

View file

@ -0,0 +1,115 @@
menu_contactus = Contact Us
menu_welcomestart = Welcome
menu_copyright = copyright
menu_support = Support
menu_logout = Log out
menu_loginfull = Log in to manage this site
menu_login = Log in
menu_version = Version
menu_about = About
menu_termuse = Terms of Use
menu_powered = Powered by
intro_title = Welcome to VIVO
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
intro_searchvivo = Search VIVO
intro_filtersearch = Filter search
identity_title = VIVO | connect share discover
identity_index = Index
identity_edit = Edit Page
identity_admin = Site Admin
identity_myprofile = My profile
identity_myaccount = My account
identity_user = user
collection_capitalized = Collection
place_of_grant = Place of grant
email_address = Email Address
#
# menupage templates ( /templates/freemarker/body/menupage )
#
grants_text_one = This body is from the the template file \
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
In the display model, the grants page has a display:requiresBodyTemplate \
property that defines that the grants page overrides the default template. \
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
grants_two = This technique could be used to define pages without menu items, that get \
their content from a freemarker template. An example would be the about page.
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
accessed via /about and would override all servlet mappings in web.xml.
address_street_one = address street one
address_street_two = address street two
address_street_three = address street three
address_label = address label
loading_website_image = Loading website image
researchers_in = researchers in
view = view
grant_type = grant Type
grant_entry_for = grant entry for
regions = regions
grant_date = grant Date
map_states_string = states.
map_state_string = state.
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
currently_no_papers_for = Currently there are no {0} papers for
change_selection = change selection
view_all_departments = view all academic departments
first_name = First name
last_name = Last name
first_grant = First Grant
last_grant = Last Grant
currently_no_researchers = There are currently no researchers with a defined geographic focus.
reviewer_role = Reviewer Role
vivo_profile = VIVO profile
loading_data = loading data
select_award = Selected Award
grants_in_vivo = grants in VIVO
service_provider_role = Service Provider Role
view_all_faculty = view all faculty
no_grants_for = Currently there are no grants for
statewide_locations = state-wide locations.
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
indiv_foafperson_for = for
indiv_foafperson_return = return to
no_departments_found = No academic departments found.
leadership_role = Leadership Role
countries = countries
first_publication = First publication
last_publication = Last publication
research_area = individuals in the department with this research area
password = password
limit_search = limit search
placeholder_image = placeholder image
view_all_members_of_org = View all the members of this organization.
display_more = more
create_entry = Create Entry
attendee_capitalized = Attendee
no_faculty_found = No faculty members found.
create_capitalized = Create
to = to
enter_new_role_value = Please enter a new value in the Role field.
countries_and_regions = countries and regions.
province_or_region = Province or Region
full_name = Full name
researchers = researchers
years_participation_in = Years of Participation in
return_to_grant = Return to grant
profile_capitalized = Profile
organizer_role = Organizer Role
faculty_memberships = Faculty Memberships
edit_mailing_address = Edit Mailing Address
add_capitalized = Add
literature_excerpt_button_text = Bibliography
literature_all_button_text = All bibliorgraphy
sources_excerpt_button_text = Sources
sources_all_button_text = All sources
remove_doc_from_search_results = Remove from search results

View file

@ -0,0 +1,109 @@
menu_contactus = Contact Us
menu_welcomestart = Welcome
menu_copyright = copyright
menu_support = Support
menu_logout = Log out
menu_loginfull = Log in to manage this site
menu_login = Log in
menu_version = Version
menu_about = About
menu_termuse = Terms of Use
menu_powered = Powered by
intro_title = Welcome to VIVO
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
intro_searchvivo = Search VIVO
intro_filtersearch = Filter search
identity_title = Электронная Философская Энциклопедия
identity_index = Index
identity_edit = Edit Page
identity_admin = Site Admin
identity_myprofile = My profile
identity_myaccount = My account
identity_user = user
collection_capitalized = Collection
place_of_grant = Place of grant
email_address = Email Address
#
# menupage templates ( /templates/freemarker/body/menupage )
#
grants_text_one = This body is from the the template file \
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
In the display model, the grants page has a display:requiresBodyTemplate \
property that defines that the grants page overrides the default template. \
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
grants_two = This technique could be used to define pages without menu items, that get \
their content from a freemarker template. An example would be the about page.
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
accessed via /about and would override all servlet mappings in web.xml.
address_street_one = address street one
address_street_two = address street two
address_street_three = address street three
address_label = address label
loading_website_image = Loading website image
researchers_in = researchers in
view = view
grant_type = grant Type
grant_entry_for = grant entry for
regions = regions
grant_date = grant Date
map_states_string = states.
map_state_string = state.
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
currently_no_papers_for = Currently there are no {0} papers for
change_selection = change selection
view_all_departments = view all academic departments
first_name = First name
last_name = Last name
first_grant = First Grant
last_grant = Last Grant
currently_no_researchers = There are currently no researchers with a defined geographic focus.
reviewer_role = Reviewer Role
vivo_profile = VIVO profile
loading_data = loading data
select_award = Selected Award
grants_in_vivo = grants in VIVO
service_provider_role = Service Provider Role
view_all_faculty = view all faculty
no_grants_for = Currently there are no grants for
statewide_locations = state-wide locations.
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
indiv_foafperson_for = for
indiv_foafperson_return = return to
no_departments_found = No academic departments found.
leadership_role = Leadership Role
countries = countries
first_publication = First publication
last_publication = Last publication
research_area = individuals in the department with this research area
password = password
limit_search = limit search
placeholder_image = placeholder image
view_all_members_of_org = View all the members of this organization.
display_more = more
create_entry = Create Entry
attendee_capitalized = Attendee
no_faculty_found = No faculty members found.
create_capitalized = Create
to = to
enter_new_role_value = Please enter a new value in the Role field.
countries_and_regions = countries and regions.
province_or_region = Province or Region
full_name = Full name
researchers = researchers
years_participation_in = Years of Participation in
return_to_grant = Return to grant
profile_capitalized = Profile
organizer_role = Organizer Role
faculty_memberships = Faculty Memberships
edit_mailing_address = Edit Mailing Address
add_capitalized = Add
remove_doc_from_search_results=Удалить из результатов поиска

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

View file

@ -0,0 +1,6 @@
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 8.21428H20" stroke="#8B4513"/>
<path d="M0 10.3571H20" stroke="#8B4513"/>
<path d="M6.09782 16.2857L9.64279 12.1923L13.1878 16.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
<path d="M6.09782 2.28571L9.64279 6.37909L13.1878 2.28571H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 393 B

View file

@ -0,0 +1,6 @@
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 7.5H20" stroke="#8B4513"/>
<path d="M0 9.64285H20" stroke="#8B4513"/>
<path d="M6.09782 4.85714L9.64279 0.763763L13.1878 4.85714H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
<path d="M6.09782 12.2857L9.64279 16.3791L13.1878 12.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 172 B

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="5.7735262"
height="10"
viewBox="0 0 5.7735262 9.9999996"
fill="none"
version="1.1"
id="svg4"
sodipodi:docname="arrow-right.svg"
inkscape:version="1.0 (4035a4f, 2020-05-01)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
inkscape:document-rotation="0"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="994"
id="namedview6"
showgrid="false"
inkscape:zoom="26.25"
inkscape:cx="3.61814"
inkscape:cy="6.3770448"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M 0.38490149,9.1574888 5.1855781,4.9999822 0.38490149,0.84250696 Z"
fill="#8b4513"
stroke="#8b4513"
id="path2"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"
style="stroke-width:0.769803" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 173 B

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 173 B

View file

@ -0,0 +1,3 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Some files were not shown because too many files have changed in this diff Show more