iqvoc 4.6.1 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/Gemfile.lock +6 -3
  4. data/app/assets/fonts/FiraSans-Book.eot +0 -0
  5. data/app/assets/fonts/FiraSans-Book.ttf +0 -0
  6. data/app/assets/fonts/FiraSans-Book.woff +0 -0
  7. data/app/assets/fonts/FiraSans-ExtraLight.eot +0 -0
  8. data/app/assets/fonts/FiraSans-ExtraLight.ttf +0 -0
  9. data/app/assets/fonts/FiraSans-ExtraLight.woff +0 -0
  10. data/app/assets/fonts/FiraSans-Italic.eot +0 -0
  11. data/app/assets/fonts/FiraSans-Italic.ttf +0 -0
  12. data/app/assets/fonts/FiraSans-Italic.woff +0 -0
  13. data/app/assets/fonts/FiraSans-Light-SC.eot +0 -0
  14. data/app/assets/fonts/FiraSans-Light-SC.ttf +0 -0
  15. data/app/assets/fonts/FiraSans-Light-SC.woff +0 -0
  16. data/app/assets/fonts/FiraSans-Light-SC.woff2 +0 -0
  17. data/app/assets/fonts/FiraSans-Light.eot +0 -0
  18. data/app/assets/fonts/FiraSans-Light.ttf +0 -0
  19. data/app/assets/fonts/FiraSans-Light.woff +0 -0
  20. data/app/assets/fonts/FiraSans-Medium.eot +0 -0
  21. data/app/assets/fonts/FiraSans-Medium.ttf +0 -0
  22. data/app/assets/fonts/FiraSans-Medium.woff +0 -0
  23. data/app/assets/fonts/FiraSans-MediumItalic.eot +0 -0
  24. data/app/assets/fonts/FiraSans-MediumItalic.ttf +0 -0
  25. data/app/assets/fonts/FiraSans-MediumItalic.woff +0 -0
  26. data/app/assets/fonts/FiraSans-Regular.eot +0 -0
  27. data/app/assets/fonts/FiraSans-Regular.ttf +0 -0
  28. data/app/assets/fonts/FiraSans-Regular.woff +0 -0
  29. data/app/assets/fonts/FiraSans-UltraLight.eot +0 -0
  30. data/app/assets/fonts/FiraSans-UltraLight.ttf +0 -0
  31. data/app/assets/fonts/FiraSans-UltraLight.woff +0 -0
  32. data/app/assets/javascripts/framework.js +1 -1
  33. data/app/assets/javascripts/iqvoc/entityselect.js.erb +17 -20
  34. data/app/assets/javascripts/iqvoc/federated_concept_mapper.js +2 -1
  35. data/app/assets/javascripts/iqvoc/treeview.js +36 -2
  36. data/app/assets/stylesheets/{framework.css.scss → _framework.scss} +5 -4
  37. data/app/assets/stylesheets/iqvoc/{manifest.css.scss → _manifest.scss} +10 -2
  38. data/app/assets/stylesheets/iqvoc/components/{_components.css.scss → _components.scss} +14 -0
  39. data/app/assets/stylesheets/iqvoc/components/{_entity_select.css.scss → _entity_select.scss} +0 -0
  40. data/app/assets/stylesheets/iqvoc/components/{_forms.css.scss → _forms.scss} +0 -0
  41. data/app/assets/stylesheets/iqvoc/components/_label-list.scss +35 -0
  42. data/app/assets/stylesheets/iqvoc/components/_modals.scss +21 -0
  43. data/app/assets/stylesheets/iqvoc/components/{_notes.css.scss → _notes.scss} +0 -0
  44. data/app/assets/stylesheets/iqvoc/components/{_panels.css.scss → _panels.scss} +0 -0
  45. data/app/assets/stylesheets/iqvoc/components/{_sidebars.css.scss → _sidebars.scss} +0 -0
  46. data/app/assets/stylesheets/iqvoc/components/{_treeview.css.scss.erb → _treeview.scss.erb} +4 -0
  47. data/app/assets/stylesheets/iqvoc/components/{_visualization.css.scss → _visualization.scss} +0 -0
  48. data/app/assets/stylesheets/iqvoc/hacks/{_hacks.css.scss → _hacks.scss} +0 -0
  49. data/app/assets/stylesheets/iqvoc/hacks/{_jquery-ui_extensions.css.scss → _jquery-ui_extensions.scss} +0 -0
  50. data/app/assets/stylesheets/iqvoc/mixins/_mixins.scss +13 -0
  51. data/app/assets/stylesheets/iqvoc/settings/_bootstrap-variables.scss +866 -0
  52. data/app/assets/stylesheets/iqvoc/settings/_bootstrap.scss +64 -0
  53. data/app/assets/stylesheets/iqvoc/settings/_fonts.scss +118 -0
  54. data/app/assets/stylesheets/iqvoc/{_settings.css.scss → settings/_variables.scss} +0 -0
  55. data/app/controllers/concepts/hierarchical_controller.rb +1 -0
  56. data/app/controllers/concepts_controller.rb +28 -13
  57. data/app/helpers/navigation_helper.rb +2 -2
  58. data/app/view_models/concept_view.rb +70 -0
  59. data/app/views/concepts/glance.html.erb +61 -0
  60. data/app/views/concepts/hierarchical/_treeview.html.erb +1 -1
  61. data/app/views/layouts/_controls.html.erb +3 -3
  62. data/app/views/layouts/_modals.html.erb +2 -0
  63. data/app/views/layouts/application.html.erb +2 -0
  64. data/config/locales/de.yml +6 -0
  65. data/config/locales/en.yml +6 -0
  66. data/config/routes.rb +5 -1
  67. data/iqvoc.gemspec +3 -3
  68. data/lib/iqvoc/configuration/concept.rb +6 -0
  69. data/lib/iqvoc/environments/development.rb +2 -0
  70. data/lib/iqvoc/environments/test.rb +2 -0
  71. data/lib/iqvoc/version.rb +1 -1
  72. data/public/export/104047454295817920610168807659129435311.nt +28 -0
  73. data/public/export/10726.nt +28 -0
  74. data/public/export/10751365034669120987598940220863369604.nt +28 -0
  75. data/public/export/111691466774189666307584118743393932328.nt +28 -0
  76. data/public/export/12325399400132639231204595208154762660.nt +28 -0
  77. data/public/export/15263706163704853684442315777380853572.nt +28 -0
  78. data/public/export/15327.nt +28 -0
  79. data/public/export/15666.nt +28 -0
  80. data/public/export/173626129450223321263719262149444213847.nt +28 -0
  81. data/public/export/18948.nt +28 -0
  82. data/public/export/199578749544886032300136278910417855540.nt +28 -0
  83. data/public/export/213890660005255527251394676521741138403.nt +28 -0
  84. data/public/export/21930.nt +28 -0
  85. data/public/export/24509.nt +28 -0
  86. data/public/export/249458227092013520089223290936103182178.nt +28 -0
  87. data/public/export/271163890329327117562409702966294853312.nt +28 -0
  88. data/public/export/27484.nt +28 -0
  89. data/public/export/287251617830426667971006908766107175810.nt +28 -0
  90. data/public/export/28754.nt +28 -0
  91. data/public/export/29022.nt +28 -0
  92. data/public/export/293720064238755056739270868818770835353.nt +28 -0
  93. data/public/export/29976.nt +28 -0
  94. data/public/export/30643.nt +28 -0
  95. data/public/export/309135899928267675232062298368405782595.nt +28 -0
  96. data/public/export/32054.nt +28 -0
  97. data/public/export/327890543532187929176278243423558506722.nt +28 -0
  98. data/public/export/33055.nt +28 -0
  99. data/public/export/337748600310244218106909976567220577473.nt +28 -0
  100. data/public/export/33936.nt +28 -0
  101. data/public/export/34906.nt +28 -0
  102. data/public/export/35365.nt +28 -0
  103. data/public/export/37098.nt +28 -0
  104. data/public/export/37534146541112437090211766955764945845.nt +28 -0
  105. data/public/export/39353594202090916952403280275602550330.nt +28 -0
  106. data/public/export/41272.nt +28 -0
  107. data/public/export/42271.nt +28 -0
  108. data/public/export/44392.nt +28 -0
  109. data/public/export/45675.nt +28 -0
  110. data/public/export/47529.nt +28 -0
  111. data/public/export/48309.nt +28 -0
  112. data/public/export/4956.nt +28 -0
  113. data/public/export/49623.nt +28 -0
  114. data/public/export/50516.nt +28 -0
  115. data/public/export/54880.nt +28 -0
  116. data/public/export/55142.nt +28 -0
  117. data/public/export/55398.nt +28 -0
  118. data/public/export/5754.nt +28 -0
  119. data/public/export/57727.nt +28 -0
  120. data/public/export/58069939020968861674794480549301466954.nt +28 -0
  121. data/public/export/5890.nt +28 -0
  122. data/public/export/65156.nt +28 -0
  123. data/public/export/6520.nt +28 -0
  124. data/public/export/863.nt +28 -0
  125. data/public/export/9372.nt +28 -0
  126. data/public/uploads/import/038dd516e01fe211375441c3af8d90e8.nt +259 -0
  127. data/public/uploads/import/07e71ca0235e798be39acd246114d962.nt +259 -0
  128. data/public/uploads/import/0a4c173bc9db7a5cd469c9454fdfa749.nt +259 -0
  129. data/public/uploads/import/0e8336cb2ef2c8b67767dfe8879d9cfb.nt +259 -0
  130. data/public/uploads/import/0f4eb8cd6390b1c5c5354a22e533ee0e.nt +259 -0
  131. data/public/uploads/import/105400714d68d2207209e23826345e76.nt +259 -0
  132. data/public/uploads/import/1147ab054ce55abf0a5bf93b99220231.nt +259 -0
  133. data/public/uploads/import/14b64b1f2252aba1e89d83f770d14e29.nt +259 -0
  134. data/public/uploads/import/1c6f11c300224248bf919885f8545daf.nt +259 -0
  135. data/public/uploads/import/21d34b65ef0a8156111e845992fd004f.nt +259 -0
  136. data/public/uploads/import/2783fade523132942999836a74228d64.nt +259 -0
  137. data/public/uploads/import/2bc90e07e5c42e5f26a1607756cc0ab3.nt +259 -0
  138. data/public/uploads/import/2e4073a94eeae98095de9f43b5e5774a.nt +259 -0
  139. data/public/uploads/import/32548678e7d47b3e256590d6eef6fb03.nt +259 -0
  140. data/public/uploads/import/330e08c32fde94fb80f656346d1f8383.nt +259 -0
  141. data/public/uploads/import/337790be2663214e66066b1215fdd137.nt +259 -0
  142. data/public/uploads/import/34b77ff970ca71511fb4b224b7dadd1c.nt +259 -0
  143. data/public/uploads/import/38de0d3c9cba92e8a3c312e7e95e7ec1.nt +259 -0
  144. data/public/uploads/import/3d01f84539a62ebe6f76124e8cdbbb23.nt +259 -0
  145. data/public/uploads/import/3d05bb72c3751da3830cf53e966283d4.nt +259 -0
  146. data/public/uploads/import/3e1d2f770bfe3c79a367780731536a3a.nt +259 -0
  147. data/public/uploads/import/3e41bd1875dc23401278c73bd12be881.nt +259 -0
  148. data/public/uploads/import/3f3e3dbb09c3df6bfaed261311de3e7d.nt +259 -0
  149. data/public/uploads/import/4297d9970e47be5ced4991a083032eb9.nt +259 -0
  150. data/public/uploads/import/5925186958bd537ad5e79e76e3a1f714.nt +259 -0
  151. data/public/uploads/import/5dc5dcd978db1c59ec074e9137f0109c.nt +259 -0
  152. data/public/uploads/import/5e46663e7e2eb92e5e8846d7c0f8e713.nt +259 -0
  153. data/public/uploads/import/70022a2a7e808000dc3d55529d203480.nt +259 -0
  154. data/public/uploads/import/70b32583acaca5843ac7dbdc2a89de99.nt +259 -0
  155. data/public/uploads/import/8030e54313e2c7231c4c30cd4145d576.nt +259 -0
  156. data/public/uploads/import/8bb6484a9eb0c3266274c08ad8500669.nt +259 -0
  157. data/public/uploads/import/90711ea002f6b7b4e5476e414e185603.nt +259 -0
  158. data/public/uploads/import/918a5fc2c8fcdbaddc2a02588d599dcf.nt +259 -0
  159. data/public/uploads/import/923f9ebccb7b0e9e9fafddc60750b989.nt +259 -0
  160. data/public/uploads/import/933e4e2baee4d91b8f7681fa4d2ad9fa.nt +259 -0
  161. data/public/uploads/import/93f642eacd966c98645345d2ccdf578d.nt +259 -0
  162. data/public/uploads/import/9a3d0f8d1872d4ba5dd281194ddea4a2.nt +259 -0
  163. data/public/uploads/import/9a3f1c9de8e734b7e1d969d07ea57a83.nt +259 -0
  164. data/public/uploads/import/9f91263fee5275ecbf303c7da0a9e84d.nt +259 -0
  165. data/public/uploads/import/a230b36c3666a6b16fec6283e99b221f.nt +259 -0
  166. data/public/uploads/import/a51b35089dc096f0f1f5d5250edb8d5c.nt +259 -0
  167. data/public/uploads/import/a5265a00946627588ecdac317c061c6c.nt +259 -0
  168. data/public/uploads/import/a95b7d93b7483116ff13c894a46b5c1c.nt +259 -0
  169. data/public/uploads/import/b5e47ea582afb81341f7b7084cc17a06.nt +259 -0
  170. data/public/uploads/import/b826bcfad8f18294a425d65482c46033.nt +259 -0
  171. data/public/uploads/import/bcf18c9e4dbe72745f4ec2878a4b1690.nt +259 -0
  172. data/public/uploads/import/c32855cb4b3e8616db2ef3f5f9cb5ca7.nt +259 -0
  173. data/public/uploads/import/c8ee5bc696312468c4354bad6c583321.nt +259 -0
  174. data/public/uploads/import/cfc73574fe398be7ce684fbc17aa1bb7.nt +259 -0
  175. data/public/uploads/import/d2366992f6e9e4377d02fc691fc2d3d3.nt +259 -0
  176. data/public/uploads/import/dc14a0fa30c105a5770da2c960daaf29.nt +259 -0
  177. data/public/uploads/import/e9289f6f920cf44d0e81599410b39090.nt +259 -0
  178. data/public/uploads/import/ed1c212d4f320e414caacda7a7988f83.nt +259 -0
  179. data/public/uploads/import/ed460af60bf4d0884d37a86bb02411e7.nt +259 -0
  180. data/public/uploads/import/f17024adf37be768041307528e848bd6.nt +259 -0
  181. data/public/uploads/import/f2f6025f6de90ee4609c2928a817c51d.nt +259 -0
  182. data/public/uploads/import/f427507b1c208ddf69204ea5414e5d18.nt +259 -0
  183. data/public/uploads/import/ffce91887b3ac5b7319a80926ff310ef.nt +259 -0
  184. data/public/uploads/tmp/1418649743-7886-1510/hobbies.nt +259 -0
  185. data/public/uploads/tmp/1418653029-9019-1572/hobbies.nt +259 -0
  186. data/public/uploads/tmp/1418656093-9614-5971/hobbies.nt +259 -0
  187. data/public/uploads/tmp/1418659992-10218-8665/hobbies.nt +259 -0
  188. data/public/uploads/tmp/1418664440-11199-8740/hobbies.nt +259 -0
  189. data/public/uploads/tmp/1418665022-11430-9919/hobbies.nt +259 -0
  190. data/public/uploads/tmp/1418665225-11485-5805/hobbies.nt +259 -0
  191. data/public/uploads/tmp/1418665744-11777-4958/hobbies.nt +259 -0
  192. data/public/uploads/tmp/1418666103-11837-9818/hobbies.nt +259 -0
  193. data/public/uploads/tmp/1418666157-11880-9002/hobbies.nt +259 -0
  194. data/public/uploads/tmp/1418666292-11920-9076/hobbies.nt +259 -0
  195. data/public/uploads/tmp/1418666482-11968-5799/hobbies.nt +259 -0
  196. data/public/uploads/tmp/1418666589-12006-6137/hobbies.nt +259 -0
  197. data/public/uploads/tmp/1419417707-62741-8601/hobbies.nt +259 -0
  198. data/public/uploads/tmp/1419418501-62977-9798/hobbies.nt +259 -0
  199. data/public/uploads/tmp/1419419091-63178-5200/hobbies.nt +259 -0
  200. data/public/uploads/tmp/1419845421-37940-7338/hobbies.nt +259 -0
  201. data/public/uploads/tmp/1419872019-93309-7785/hobbies.nt +259 -0
  202. data/public/uploads/tmp/1419872459-93489-7475/hobbies.nt +259 -0
  203. data/public/uploads/tmp/1420204292-55473-2339/hobbies.nt +259 -0
  204. data/public/uploads/tmp/1420469113-94913-1977/hobbies.nt +259 -0
  205. data/public/uploads/tmp/1420469218-94957-7818/hobbies.nt +259 -0
  206. data/public/uploads/tmp/1420471310-95437-1840/hobbies.nt +259 -0
  207. data/public/uploads/tmp/1420475764-97681-5693/hobbies.nt +259 -0
  208. data/public/uploads/tmp/1420475937-97729-2119/hobbies.nt +259 -0
  209. data/public/uploads/tmp/1420476857-98058-7891/hobbies.nt +259 -0
  210. data/public/uploads/tmp/1420535851-99018-0174/hobbies.nt +259 -0
  211. data/public/uploads/tmp/1420536204-1785-0172/hobbies.nt +259 -0
  212. data/public/uploads/tmp/1420551687-4559-4581/hobbies.nt +259 -0
  213. data/public/uploads/tmp/1420553228-5060-8398/hobbies.nt +259 -0
  214. data/public/uploads/tmp/1420554138-5330-1218/hobbies.nt +259 -0
  215. data/public/uploads/tmp/1420623682-11549-0730/hobbies.nt +259 -0
  216. data/public/uploads/tmp/1420627830-12489-1669/hobbies.nt +259 -0
  217. data/public/uploads/tmp/1420643849-18200-3932/hobbies.nt +259 -0
  218. data/public/uploads/tmp/1420649772-21728-5542/hobbies.nt +259 -0
  219. data/public/uploads/tmp/1420708117-27095-8292/hobbies.nt +259 -0
  220. data/public/uploads/tmp/1420708387-27223-6774/hobbies.nt +259 -0
  221. data/public/uploads/tmp/1420708470-27267-7475/hobbies.nt +259 -0
  222. data/public/uploads/tmp/1420708517-27294-4695/hobbies.nt +259 -0
  223. data/public/uploads/tmp/1420708539-27319-1354/hobbies.nt +259 -0
  224. data/public/uploads/tmp/1420708586-27334-3786/hobbies.nt +259 -0
  225. data/public/uploads/tmp/1420708992-27418-8019/hobbies.nt +259 -0
  226. data/public/uploads/tmp/1420709221-27495-1252/hobbies.nt +259 -0
  227. data/public/uploads/tmp/1420709888-27667-9904/hobbies.nt +259 -0
  228. data/public/uploads/tmp/1420710092-27729-5735/hobbies.nt +259 -0
  229. data/public/uploads/tmp/1420710448-27814-7190/hobbies.nt +259 -0
  230. data/public/uploads/tmp/1420710886-27909-4558/hobbies.nt +259 -0
  231. data/public/uploads/tmp/1420711474-28046-6914/hobbies.nt +259 -0
  232. data/public/uploads/tmp/1420711601-28081-0714/hobbies.nt +259 -0
  233. data/public/uploads/tmp/1420711904-28153-8591/hobbies.nt +259 -0
  234. data/public/uploads/tmp/1420712160-28240-2054/hobbies.nt +259 -0
  235. data/public/uploads/tmp/1420712349-28303-3685/hobbies.nt +259 -0
  236. data/public/uploads/tmp/1420712756-28475-0893/hobbies.nt +259 -0
  237. data/public/uploads/tmp/1420712995-28567-4743/hobbies.nt +259 -0
  238. data/public/uploads/tmp/1420722946-31448-5312/hobbies.nt +259 -0
  239. data/public/uploads/tmp/1420723021-31498-6069/hobbies.nt +259 -0
  240. data/public/uploads/tmp/1420723172-31541-4390/hobbies.nt +259 -0
  241. data/public/uploads/tmp/1420723249-31574-6508/hobbies.nt +259 -0
  242. metadata +231 -25
  243. data/app/assets/stylesheets/iqvoc/hacks/_bootstrap_extensions.css.scss +0 -9
@@ -0,0 +1,64 @@
1
+ body {
2
+ padding-top: 70px;
3
+ }
4
+
5
+ form#search {
6
+ .btn-group {
7
+ margin-top: 10px;
8
+ }
9
+ }
10
+
11
+ .page-header {
12
+ margin: 12px 0 18px 0;
13
+ }
14
+
15
+ .navbar-default .navbar-nav > li > a {
16
+ @include interaction-font();
17
+ @include transitional(color);
18
+ }
19
+
20
+ .btn {
21
+ @include interaction-font();
22
+ @include transitional();
23
+ }
24
+
25
+ .dropdown-menu > li > a {
26
+ @include interaction-font();
27
+ @include transitional(background-color);
28
+ }
29
+
30
+ .list-group-item {
31
+ @include interaction-font();
32
+ @include transitional(background-color);
33
+ }
34
+
35
+ .nav-tabs li > a {
36
+ @include interaction-font();
37
+ @include transitional(all);
38
+ }
39
+
40
+ .modal-header {
41
+ .alert {
42
+ margin-top: 0.5em;
43
+ margin-bottom: -0.5em;
44
+ }
45
+
46
+ > .close {
47
+ font-size: $font-size-h3;
48
+ margin: 0;
49
+ }
50
+ }
51
+
52
+ .modal-footer {
53
+ text-align: left;
54
+ }
55
+
56
+ .modal-content {
57
+ @include flat-box-shadow();
58
+ border-radius: 0;
59
+ }
60
+
61
+ .dropdown-menu {
62
+ @include flat-box-shadow();
63
+ border-radius: 0;
64
+ }
@@ -0,0 +1,118 @@
1
+ @font-face{
2
+ font-family: 'Fira Sans Light SC';
3
+ src: font-url('FiraSans-Light-SC.eot');
4
+ src: local('Fira Sans Light SC'),
5
+ font-url('FiraSans-Light-SC.eot') format('embedded-opentype'),
6
+ font-url('FiraSans-Light-SC.woff2') format('woff2'),
7
+ font-url('FiraSans-Light-SC.woff') format('woff'),
8
+ font-url('FiraSans-Light-SC.ttf') format('truetype');
9
+ font-style: normal;
10
+ }
11
+
12
+ @font-face{
13
+ font-family: 'Fira Sans Light';
14
+ src: font-url('FiraSans-Light.eot');
15
+ src: local('Fira Sans Light'),
16
+ font-url('FiraSans-Light.eot') format('embedded-opentype'),
17
+ font-url('FiraSans-Light.woff') format('woff'),
18
+ font-url('FiraSans-Light.ttf') format('truetype');
19
+ font-weight: 300;
20
+ font-style: normal;
21
+ }
22
+
23
+ @font-face{
24
+ font-family: 'Fira Sans ExtraLight';
25
+ src: font-url('FiraSans-ExtraLight.eot');
26
+ src: local('Fira Sans ExtraLight'),
27
+ font-url('FiraSans-ExtraLight.eot') format('embedded-opentype'),
28
+ font-url('FiraSans-ExtraLight.woff') format('woff'),
29
+ font-url('FiraSans-ExtraLight.ttf') format('truetype');
30
+ font-style: normal;
31
+ }
32
+
33
+ @font-face{
34
+ font-family: 'Fira Sans Regular';
35
+ src: font-url('FiraSans-Regular.eot');
36
+ src: local('Fira Sans Regular'),
37
+ font-url('FiraSans-Regular.eot') format('embedded-opentype'),
38
+ font-url('FiraSans-Regular.woff') format('woff'),
39
+ font-url('FiraSans-Regular.ttf') format('truetype');
40
+ font-weight: 400;
41
+ font-style: normal;
42
+ }
43
+
44
+ @font-face{
45
+ font-family: 'Fira Sans Book';
46
+ src: font-url('FiraSans-Book.eot');
47
+ src: local('Fira Sans Regular'),
48
+ font-url('FiraSans-Book.eot') format('embedded-opentype'),
49
+ font-url('FiraSans-Book.woff') format('woff'),
50
+ font-url('FiraSans-Book.ttf') format('truetype');
51
+ font-style: normal;
52
+ }
53
+
54
+ @font-face{
55
+ font-family: 'Fira Sans Regular Italic';
56
+ src: font-url('FiraSans-Italic.eot');
57
+ src: local('Fira Sans Regular Italic'),
58
+ font-url('FiraSans-Italic.eot') format('embedded-opentype'),
59
+ font-url('FiraSans-Italic.woff') format('woff'),
60
+ font-url('FiraSans-Italic.ttf') format('truetype');
61
+ font-weight: 400;
62
+ font-style: italic;
63
+ }
64
+
65
+ @font-face{
66
+ font-family: 'Fira Sans Medium';
67
+ src: font-url('FiraSans-Medium.eot');
68
+ src: local('Fira Sans Medium'),
69
+ font-url('FiraSans-Medium.eot') format('embedded-opentype'),
70
+ font-url('FiraSans-Medium.woff') format('woff'),
71
+ font-url('FiraSans-Medium.ttf') format('truetype');
72
+ font-weight: 500;
73
+ font-style: normal;
74
+ }
75
+
76
+ @font-face{
77
+ font-family: 'Fira Sans Medium Italic';
78
+ src: font-url('FiraSans-MediumItalic.eot');
79
+ src: local('Fira Sans Medium Italic'),
80
+ font-url('FiraSans-MediumItalic.eot') format('embedded-opentype'),
81
+ font-url('FiraSans-MediumItalic.woff') format('woff'),
82
+ font-url('FiraSans-MediumItalic.ttf') format('truetype');
83
+ font-weight: 500;
84
+ font-style: italic;
85
+ }
86
+
87
+ @font-face{
88
+ font-family: 'Fira Sans Bold';
89
+ src: font-url('FiraSans-Bold.eot');
90
+ src: local('Fira Sans Bold'),
91
+ font-url('FiraSans-Bold.eot') format('embedded-opentype'),
92
+ font-url('FiraSans-Bold.woff') format('woff'),
93
+ font-url('FiraSans-Bold.ttf') format('truetype');
94
+ font-weight: 700;
95
+ font-style: normal;
96
+ }
97
+
98
+ @font-face{
99
+ font-family: 'Fira Sans Bold Italic';
100
+ src: font-url('FiraSans-BoldItalic.eot');
101
+ src: local('Fira Sans Bold Italic'),
102
+ font-url('FiraSans-BoldItalic.eot') format('embedded-opentype'),
103
+ font-url('FiraSans-BoldItalic.woff') format('woff'),
104
+ font-url('FiraSans-BoldItalic.ttf') format('truetype');
105
+ font-weight: 700;
106
+ font-style: italic;
107
+ }
108
+
109
+ @font-face{
110
+ font-family: 'Fira Mono Regular';
111
+ src: font-url('FiraMono-Regular.eot');
112
+ src: local('Fira Mono'),
113
+ font-url('FiraMono-Regular.eot') format('embedded-opentype'),
114
+ font-url('FiraMono-Regular.woff') format('woff'),
115
+ font-url('FiraMono-Regular.ttf') format('truetype');
116
+ font-weight: 400;
117
+ font-style: normal;
118
+ }
@@ -74,6 +74,7 @@ class Concepts::HierarchicalController < ConceptsController
74
74
  load_on_demand: load_on_demand,
75
75
  url: url,
76
76
  update_url: move_concept_url(c),
77
+ glance_url: glance_concept_url(c, format: :html),
77
78
  published: (c.published?) ? true : false,
78
79
  locked: (can?(:branch, c) || can?(:update, c) ? false : true)
79
80
  }
@@ -34,18 +34,7 @@ class ConceptsController < ApplicationController
34
34
  end
35
35
 
36
36
  def show
37
- scope = Iqvoc::Concept.base_class.by_origin(params[:id]).with_associations
38
-
39
- published = params[:published] == '1' || !params[:published]
40
- if published
41
- scope = scope.published
42
- @new_concept_version = Iqvoc::Concept.base_class.by_origin(params[:id]).unpublished.last
43
- else
44
- scope = scope.unpublished
45
- end
46
-
47
- @concept = scope.last!
48
-
37
+ get_concept
49
38
  authorize! :read, @concept
50
39
 
51
40
  @datasets = datasets_as_json
@@ -75,7 +64,7 @@ class ConceptsController < ApplicationController
75
64
  broader_relations: { target: [:pref_labels, :broader_relations] },
76
65
  narrower_relations: { target: [:pref_labels, :narrower_relations] }])
77
66
 
78
- published ? render('show_published') : render('show_unpublished')
67
+ @published ? render('show_published') : render('show_unpublished')
79
68
  end
80
69
  format.json do
81
70
  # When in single query mode, AR handles ALL includes to be loaded by that
@@ -111,6 +100,18 @@ class ConceptsController < ApplicationController
111
100
  end
112
101
  end
113
102
 
103
+ def glance
104
+ get_concept
105
+ authorize! :read, @concept
106
+
107
+ respond_to do |format|
108
+ format.html do
109
+ @view = ConceptView.new(@concept, self)
110
+ render layout: false
111
+ end
112
+ end
113
+ end
114
+
114
115
  def new
115
116
  authorize! :create, Iqvoc::Concept.base_class
116
117
 
@@ -244,6 +245,20 @@ class ConceptsController < ApplicationController
244
245
 
245
246
  protected
246
247
 
248
+ def get_concept
249
+ scope = Iqvoc::Concept.base_class.by_origin(params[:id]).with_associations
250
+
251
+ @published = params[:published] == '1' || !params[:published]
252
+ if @published
253
+ scope = scope.published
254
+ @new_concept_version = Iqvoc::Concept.base_class.by_origin(params[:id]).unpublished.last
255
+ else
256
+ scope = scope.unpublished
257
+ end
258
+
259
+ @concept = scope.last!
260
+ end
261
+
247
262
  def concept_params
248
263
  params.require(:concept).permit!
249
264
  end
@@ -30,7 +30,7 @@ module NavigationHelper
30
30
  if item[:items]
31
31
  content_tag :li, class: 'dropdown' do
32
32
  raw(link_to(element_value(item[:text]).html_safe +
33
- content_tag(:b, nil, class: 'caret'), '#',
33
+ content_tag(:i, nil, class: 'fa fa-fw fa-angle-down'), '#',
34
34
  class: 'dropdown-toggle',
35
35
  data: { toggle: 'dropdown' }) +
36
36
  content_tag(:ul,
@@ -72,7 +72,7 @@ module NavigationHelper
72
72
  else
73
73
  desc = ActiveSupport::SafeBuffer.new
74
74
  if icon = opts.delete(:icon)
75
- desc << icon(icon) << ' '
75
+ desc << icon(icon, 'fa-fw') << ' '
76
76
  end
77
77
  desc << opts.delete(:text).to_s
78
78
  link_to(desc.html_safe, opts.delete(:path), opts)
@@ -0,0 +1,70 @@
1
+ class ConceptView
2
+ attr_reader :languages
3
+ attr_reader :pref_labels, :alt_labels
4
+
5
+ class Language
6
+ attr_reader :id, :caption, :active
7
+
8
+ def initialize(id, caption, active)
9
+ @id = id # TODO: `.to_s`?
10
+ @caption = caption
11
+ @active = active
12
+ end
13
+ end
14
+
15
+ class Link
16
+ attr_reader :caption, :uri, :type
17
+
18
+ def initialize(caption, uri, type = nil)
19
+ @caption = caption
20
+ @uri = uri
21
+ @type = type
22
+ end
23
+ end
24
+
25
+ # `h` is the controller/helper context which acts as a proxy here
26
+ def initialize(concept, h)
27
+ @h = h
28
+ @concept = concept
29
+ @published = @concept.published? ? nil : '0'
30
+ end
31
+
32
+ def no_content?
33
+ definition.blank? || alt_labels.none? || related.none? || collections.none?
34
+ end
35
+
36
+ # returns a string
37
+ def definition
38
+ @definition ||= @concept.notes_for_class(Note::SKOS::Definition)
39
+ .first # FIXME: hard-coded class, arbitrary pick
40
+ .try(:value)
41
+ end
42
+
43
+ def alt_labels
44
+ @concept.labels_for_labeling_class_and_language(Iqvoc::Concept.alt_labeling_class, I18n.locale)
45
+ end
46
+
47
+ # related concepts
48
+ # returns a list of `Link`s
49
+ def related
50
+ klass = Iqvoc::Concept.further_relation_classes.first # XXX: arbitrary; bad heuristic?
51
+ @related = @concept.related_concepts_for_relation_class(klass, @published).
52
+ map do |rel_concept|
53
+ Link.new(rel_concept.pref_label.to_s,
54
+ h.concept_path(:id => rel_concept))
55
+ end
56
+ end
57
+
58
+ # returns a list of `Link`s
59
+ def collections
60
+ @collections ||= @concept.collections.map do |coll|
61
+ Link.new(coll.label.to_s, h.collection_path(:id => coll))
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ # expose private access to helper proxy in the spirit of the draper gem
68
+ def h; @h; end
69
+
70
+ end
@@ -0,0 +1,61 @@
1
+ <!-- Modal -->
2
+ <div class="modal-dialog concept-teaser-dialog">
3
+ <div class="modal-content concept-teaser-content">
4
+ <div class="modal-header concept-teaser-header">
5
+ <button type="button" class="close" data-dismiss="modal">
6
+ <span aria-hidden="true">&times;</span>
7
+ <span class="sr-only"><%= t('txt.views.concepts.teaser.close') %></span>
8
+ </button>
9
+ <h1 class="modal-title" id="concept-teaser-title"><%= @concept.pref_label %></h1>
10
+ </div>
11
+ <div class="modal-body concept-teaser-body">
12
+ <% if @view.no_content? %>
13
+ <div class="alert alert-warning" role="alert">
14
+ <%= t('txt.views.concepts.teaser.no_content') %>
15
+ </div>
16
+ <% end %>
17
+ <% if @view.definition %>
18
+ <div>
19
+ <h2><%= Note::SKOS::Definition.model_name.human %></h2>
20
+ <p><%= @view.definition %></p>
21
+ </div>
22
+ <% end %>
23
+ <% if @view.alt_labels.any? %>
24
+ <div>
25
+ <h2><%= Iqvoc::Concept.alt_labeling_class.model_name.human(count: 2) %></h2>
26
+ <ul class="label-list">
27
+ <% @view.alt_labels.each do |l| %><!--
28
+ --><li class="label-list-item">
29
+ <span class="label-list-item-value"><%= l.value %></span>
30
+ </li><!--
31
+ --><% end %>
32
+ </ul>
33
+ </div>
34
+ <% end %>
35
+ <% if @view.collections.any? %>
36
+ <div>
37
+ <h2><%= Iqvoc::Collection.base_class.model_name.human(count: 2) %></h2>
38
+ <ul>
39
+ <% @view.collections.each do |c| %>
40
+ <li><%= link_to c.caption, c.uri %></li>
41
+ <% end %>
42
+ </ul>
43
+ </div>
44
+ <% end %>
45
+ <% if @view.related.any? %>
46
+ <div>
47
+ <h2><%= Iqvoc::Concept.further_relation_classes.first.try { |klass| klass.model_name.human(count: 2) } %></h2>
48
+ <ul>
49
+ <% @view.related.each do |c| %>
50
+ <li><%= link_to c.caption, c.uri %></li>
51
+ <% end %>
52
+ </ul>
53
+ </div>
54
+ <% end %>
55
+ </div>
56
+ <div class="modal-footer concept-teaser-footer">
57
+ <a href="<%= concept_path(@concept) %>" class="btn btn-default"><i class="fa fa-angle-double-right"></i> <%= t('txt.views.concepts.to_concept') %></a>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ <!-- / Modal -->
@@ -18,7 +18,7 @@
18
18
  data-update-url="<%= move_concept_url(concept, format: :json) %>"
19
19
  data-published="<%= concept.published? %>"
20
20
  data-locked="<%= locked %>"
21
- >
21
+ data-glance-url="<%= glance_concept_url(concept) %>">
22
22
  <% if concept.published? %>
23
23
  <%= link_to(concept.pref_label.to_s, concept_url(id: concept)) %>
24
24
  <% else %>
@@ -3,12 +3,12 @@
3
3
  <li id="language_selection" class="dropdown">
4
4
  <a href="javascript:;" class="dropdown-toggle">
5
5
  <%= t("txt.views.lang_widget.caption") %>
6
- <b class="caret"></b>
6
+ <i class="fa fa-angle-down"></i>
7
7
  </a>
8
8
 
9
9
  <ul class="lang-widget dropdown-menu">
10
10
  <%- if Iqvoc::Concept.pref_labeling_languages.reject(&:nil?).any? -%>
11
- <li class="lang-widget-header"><h3><%= t("txt.views.lang_widget.primary") %></h3></li>
11
+ <li class="lang-widget-header"><h2><%= t("txt.views.lang_widget.primary") %></h2></li>
12
12
  <% Iqvoc::Concept.pref_labeling_languages.each do |lang| %>
13
13
  <li class="lang-widget-item">
14
14
  <%= link_to t("languages.#{lang.presence || "-"}", :default => lang.presence || "-"), params.merge(:lang => lang || "none"),
@@ -19,7 +19,7 @@
19
19
 
20
20
  <% secondary_languages = Iqvoc.all_languages.reject { |lang| lang == I18n.locale.to_s } %>
21
21
  <% if secondary_languages.any? %>
22
- <li class="lang-widget-header"><h3><%= t("txt.views.lang_widget.secondary") %></h3></li>
22
+ <li class="lang-widget-header"><h2><%= t("txt.views.lang_widget.secondary") %></h2></li>
23
23
  <% secondary_languages.each do |lang| %>
24
24
  <li class="lang-widget-item">
25
25
  <label>
@@ -0,0 +1,2 @@
1
+ <div class="modal fade" id="concept-teaser-modal" tabindex="-1" role="dialog" aria-labelledby="concept-teaser-title" aria-hidden="true">
2
+ </div>
@@ -22,6 +22,8 @@
22
22
  <% else %>
23
23
  <body>
24
24
  <% end %>
25
+
26
+ <%= render 'layouts/modals' %>
25
27
  <%= render 'layouts/navigation' %>
26
28
 
27
29
  <div class="container">
@@ -134,6 +134,10 @@ de:
134
134
  remove_match: "Löschung:"
135
135
  job_detail: "%{match_class}-Beziehung von Konzept %{subject} aus entfernter Ontologie auf %{target} austehend."
136
136
  job_state: "(Status: %{state})"
137
+ to_concept: "Zum Konzept"
138
+ teaser:
139
+ close: "Schließen"
140
+ no_content: "Bisher wurden diesem Konzept noch keine Definitionen, alternative Bezeichner oder Kollektionen zugewiesen."
137
141
  labels:
138
142
  new: "Neues Label"
139
143
  template_form: "Vorlageform"
@@ -284,6 +288,8 @@ de:
284
288
  reset_warning: "Alle Konzepte, Kollektionen und Labels im Thesaurus werden gelöscht."
285
289
  jobs_pending_warning: "Einige Hintergrundprozesse sind noch nicht abgeschlossen (z.B. Exports). Ausstehende Prozesse werden ebenfalls gelöscht."
286
290
  reset_success: "Der Thesaurus wurde gelöscht."
291
+ export: "Export"
292
+ import: "Import"
287
293
  collections:
288
294
  new: "Neue Kollektion"
289
295
  triplestore_sync:
@@ -136,6 +136,10 @@ en:
136
136
  remove_match: "Deletion:"
137
137
  job_detail: "%{match_class}-Relation of concept %{subject} from remote ontology to %{target} pending."
138
138
  job_state: "(State: %{state})"
139
+ to_concept: "To Concept"
140
+ teaser:
141
+ close: "Close"
142
+ no_content: "No definitions, alternative labels or collections have been specified for this concept yet."
139
143
  labels:
140
144
  new: "New Label"
141
145
  template_form: "Literal form"
@@ -291,6 +295,8 @@ en:
291
295
  reset_warning: "All concepts, collections and labels in the thesaurus will be deleted."
292
296
  jobs_pending_warning: "Pending background jobs detected (e.g. exports). Pending Jobs will be deleted too."
293
297
  reset_success: "Thesaurus has been resetted."
298
+ export: "Export"
299
+ import: "Import"
294
300
  collections:
295
301
  new: "New Collection"
296
302
  triplestore_sync:
data/config/routes.rb CHANGED
@@ -28,7 +28,11 @@ Rails.application.routes.draw do
28
28
 
29
29
  resource :user_session, only: [:new, :create, :destroy]
30
30
  resources :users, except: [:show]
31
- resources :concepts
31
+ resources :concepts do
32
+ member do
33
+ get 'glance'
34
+ end
35
+ end
32
36
  resources :collections
33
37
  resources :imports, only: [:index, :show, :create]
34
38
  resources :exports, only: [:index, :show, :create] do
data/iqvoc.gemspec CHANGED
@@ -25,12 +25,12 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'faraday'
26
26
  s.add_dependency 'faraday_middleware'
27
27
  s.add_dependency 'sass-rails', '~> 4.0.2'
28
- s.add_dependency 'bootstrap-sass', '~> 3.1.1.0'
29
- s.add_dependency 'bootstrap_form', '~> 2.1.1'
28
+ s.add_dependency 'bootstrap-sass', '~> 3.3.1.0'
29
+ s.add_dependency 'bootstrap_form', '~> 2.2.0'
30
30
  s.add_dependency 'iq_triplestorage'
31
31
  s.add_dependency 'nokogiri'
32
32
  s.add_dependency 'linkeddata'
33
- s.add_dependency 'font-awesome-rails'
33
+ s.add_dependency 'font-awesome-rails', '~> 4.2.0'
34
34
  s.add_dependency 'uglifier', '>= 1.3.0'
35
35
  s.add_dependency 'apipie-rails'
36
36
  s.add_dependency 'maruku'
@@ -11,6 +11,7 @@ module Iqvoc
11
11
  mattr_accessor :base_class_name, :root_class_name,
12
12
  :broader_relation_class_name, :further_relation_class_names,
13
13
  :pref_labeling_class_name,
14
+ :alt_labeling_class_name,
14
15
  :match_class_names,
15
16
  :note_class_names,
16
17
  :notation_class_names,
@@ -25,6 +26,7 @@ module Iqvoc
25
26
  self.further_relation_class_names = [ 'Concept::Relation::SKOS::Related' ]
26
27
 
27
28
  self.pref_labeling_class_name = 'Labeling::SKOS::PrefLabel'
29
+ self.alt_labeling_class_name = 'Labeling::SKOS::AltLabel'
28
30
 
29
31
  self.note_class_names = [
30
32
  Iqvoc.change_note_class_name,
@@ -75,6 +77,10 @@ module Iqvoc
75
77
  pref_labeling_class_name.constantize
76
78
  end
77
79
 
80
+ def alt_labeling_class
81
+ alt_labeling_class_name.constantize
82
+ end
83
+
78
84
  def labeling_class_names
79
85
  { pref_labeling_class_name => pref_labeling_languages }.merge(further_labeling_class_names)
80
86
  end
@@ -69,5 +69,7 @@ module Iqvoc::Environments
69
69
  # config.action_view.raise_on_missing_translations = true
70
70
 
71
71
  config.i18n.enforce_available_locales = true
72
+
73
+ config.action_view.raise_on_missing_translations = true
72
74
  end
73
75
  end
@@ -38,5 +38,7 @@ module Iqvoc::Environments
38
38
  config.active_support.deprecation = :stderr
39
39
 
40
40
  config.i18n.enforce_available_locales = true
41
+
42
+ config.action_view.raise_on_missing_translations = true
41
43
  end
42
44
  end
data/lib/iqvoc/version.rb CHANGED
@@ -15,5 +15,5 @@
15
15
  # limitations under the License.
16
16
 
17
17
  module Iqvoc
18
- VERSION = "4.6.1"
18
+ VERSION = "4.7.0"
19
19
  end
@@ -0,0 +1,28 @@
1
+ <http://www.example.com/animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
2
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
3
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#prefLabel> "Tier"@de .
4
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#prefLabel> "Animal"@en .
5
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#altLabel> "Viehzeug"@de .
6
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/cow> .
7
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/donkey> .
8
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/monkey> .
9
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#definition> "Ein Tier ist kein Mensch."@de .
10
+ <http://www.example.com/cow> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
11
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
12
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#prefLabel> "Kuh"@de .
13
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#prefLabel> "Cow"@en .
14
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#altLabel> "Rind"@de .
15
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
16
+ <http://www.example.com/donkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
17
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
18
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Esel"@de .
19
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Donkey"@en .
20
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
21
+ <http://www.example.com/monkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
22
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
23
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Affe"@de .
24
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Monkey"@en .
25
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#altLabel> "Äffle"@de .
26
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#altLabel> "Ape"@en .
27
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
28
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#exactMatch> <http://dbpedia.org/page/Monkey> .
@@ -0,0 +1,28 @@
1
+ <http://www.example.com/animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
2
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
3
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#prefLabel> "Tier"@de .
4
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#prefLabel> "Animal"@en .
5
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#altLabel> "Viehzeug"@de .
6
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/cow> .
7
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/donkey> .
8
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#narrower> <http://www.example.com/monkey> .
9
+ <http://www.example.com/animal> <http://www.w3.org/2004/02/skos/core#definition> "Ein Tier ist kein Mensch."@de .
10
+ <http://www.example.com/cow> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
11
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
12
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#prefLabel> "Kuh"@de .
13
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#prefLabel> "Cow"@en .
14
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#altLabel> "Rind"@de .
15
+ <http://www.example.com/cow> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
16
+ <http://www.example.com/donkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
17
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
18
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Esel"@de .
19
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Donkey"@en .
20
+ <http://www.example.com/donkey> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
21
+ <http://www.example.com/monkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
22
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#inScheme> <http://www.example.com/scheme> .
23
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Affe"@de .
24
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#prefLabel> "Monkey"@en .
25
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#altLabel> "Äffle"@de .
26
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#altLabel> "Ape"@en .
27
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#broader> <http://www.example.com/animal> .
28
+ <http://www.example.com/monkey> <http://www.w3.org/2004/02/skos/core#exactMatch> <http://dbpedia.org/page/Monkey> .