rdf-n3 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. data/.gitignore +2 -0
  2. data/.yardopts +10 -0
  3. data/AUTHORS +1 -0
  4. data/History.txt +2 -0
  5. data/README.rdoc +72 -0
  6. data/Rakefile +46 -0
  7. data/VERSION +1 -0
  8. data/example.rb +45 -0
  9. data/lib/rdf/n3.rb +30 -0
  10. data/lib/rdf/n3/format.rb +34 -0
  11. data/lib/rdf/n3/patches/array_hacks.rb +131 -0
  12. data/lib/rdf/n3/patches/rdf_escape.rb +131 -0
  13. data/lib/rdf/n3/reader.rb +447 -0
  14. data/lib/rdf/n3/reader/n3_grammar.rb +0 -0
  15. data/lib/rdf/n3/reader/n3_grammar.treetop +227 -0
  16. data/lib/rdf/n3/version.rb +21 -0
  17. data/lib/rdf/n3/vocabulary.rb +3 -0
  18. data/lib/rdf/n3/writer.rb +0 -0
  19. data/rdf-n3.gemspec +638 -0
  20. data/spec/cwm_spec.rb +32 -0
  21. data/spec/n3reader_spec.rb +928 -0
  22. data/spec/rdf_helper.rb +200 -0
  23. data/spec/rdfcore/Manifest.rdf +5395 -0
  24. data/spec/rdfcore/amp-in-url/test001.nt +16 -0
  25. data/spec/rdfcore/amp-in-url/test001.rdf +40 -0
  26. data/spec/rdfcore/datatypes-intensional/test001.nt +18 -0
  27. data/spec/rdfcore/datatypes-intensional/test002.nt +18 -0
  28. data/spec/rdfcore/datatypes/test001.nt +15 -0
  29. data/spec/rdfcore/datatypes/test001.rdf +29 -0
  30. data/spec/rdfcore/datatypes/test002.nt +14 -0
  31. data/spec/rdfcore/datatypes/test002.rdf +27 -0
  32. data/spec/rdfcore/datatypes/test002b.nt +17 -0
  33. data/spec/rdfcore/datatypes/test003a.nt +16 -0
  34. data/spec/rdfcore/datatypes/test003b.nt +16 -0
  35. data/spec/rdfcore/datatypes/test005a.nt +16 -0
  36. data/spec/rdfcore/datatypes/test005b.nt +16 -0
  37. data/spec/rdfcore/datatypes/test006.nt +17 -0
  38. data/spec/rdfcore/datatypes/test008a.nt +15 -0
  39. data/spec/rdfcore/datatypes/test008b.nt +15 -0
  40. data/spec/rdfcore/datatypes/test009a.nt +15 -0
  41. data/spec/rdfcore/datatypes/test009b.nt +15 -0
  42. data/spec/rdfcore/datatypes/test010.nt +17 -0
  43. data/spec/rdfcore/datatypes/test011a.nt +17 -0
  44. data/spec/rdfcore/datatypes/test011b.nt +17 -0
  45. data/spec/rdfcore/horst-01/test001.rdf +38 -0
  46. data/spec/rdfcore/horst-01/test002.rdf +39 -0
  47. data/spec/rdfcore/horst-01/test003.rdf +40 -0
  48. data/spec/rdfcore/horst-01/test004.rdf +42 -0
  49. data/spec/rdfcore/pfps-10/test001a.nt +14 -0
  50. data/spec/rdfcore/pfps-10/test001b.nt +15 -0
  51. data/spec/rdfcore/rdf-charmod-literals/test001.nt +15 -0
  52. data/spec/rdfcore/rdf-charmod-literals/test001.rdf +34 -0
  53. data/spec/rdfcore/rdf-charmod-uris/test001.nt +14 -0
  54. data/spec/rdfcore/rdf-charmod-uris/test001.rdf +34 -0
  55. data/spec/rdfcore/rdf-charmod-uris/test002.nt +15 -0
  56. data/spec/rdfcore/rdf-charmod-uris/test002.rdf +33 -0
  57. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error001.rdf +27 -0
  58. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error002.rdf +34 -0
  59. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.nt +17 -0
  60. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.rdf +27 -0
  61. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.nt +19 -0
  62. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.rdf +37 -0
  63. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.nt +18 -0
  64. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.rdf +29 -0
  65. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.nt +29 -0
  66. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.rdf +33 -0
  67. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.nt +40 -0
  68. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.rdf +28 -0
  69. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.nt +20 -0
  70. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.rdf +32 -0
  71. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.nt +15 -0
  72. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.rdf +28 -0
  73. data/spec/rdfcore/rdf-element-not-mandatory/test001.nt +10 -0
  74. data/spec/rdfcore/rdf-element-not-mandatory/test001.rdf +14 -0
  75. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.nt +14 -0
  76. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.rdf +35 -0
  77. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.nt +14 -0
  78. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.rdf +35 -0
  79. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.nt +14 -0
  80. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.rdf +34 -0
  81. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.nt +15 -0
  82. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.rdf +40 -0
  83. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.nt +14 -0
  84. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.rdf +32 -0
  85. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.nt +14 -0
  86. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.rdf +32 -0
  87. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.nt +14 -0
  88. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.rdf +38 -0
  89. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.nt +15 -0
  90. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.rdf +40 -0
  91. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.nt +15 -0
  92. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.rdf +40 -0
  93. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.nt +15 -0
  94. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.rdf +40 -0
  95. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.nt +15 -0
  96. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.rdf +42 -0
  97. data/spec/rdfcore/rdfms-abouteach/error001.rdf +35 -0
  98. data/spec/rdfcore/rdfms-abouteach/error002.rdf +35 -0
  99. data/spec/rdfcore/rdfms-difference-between-ID-and-about/error1.rdf +25 -0
  100. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.nt +14 -0
  101. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.rdf +22 -0
  102. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.nt +14 -0
  103. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.rdf +22 -0
  104. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.nt +14 -0
  105. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.rdf +22 -0
  106. data/spec/rdfcore/rdfms-duplicate-member-props/test001.nt +17 -0
  107. data/spec/rdfcore/rdfms-duplicate-member-props/test001.rdf +30 -0
  108. data/spec/rdfcore/rdfms-empty-property-elements/error001.rdf +33 -0
  109. data/spec/rdfcore/rdfms-empty-property-elements/error002.rdf +33 -0
  110. data/spec/rdfcore/rdfms-empty-property-elements/error003.rdf +39 -0
  111. data/spec/rdfcore/rdfms-empty-property-elements/test001.nt +14 -0
  112. data/spec/rdfcore/rdfms-empty-property-elements/test001.rdf +33 -0
  113. data/spec/rdfcore/rdfms-empty-property-elements/test002.nt +14 -0
  114. data/spec/rdfcore/rdfms-empty-property-elements/test002.rdf +31 -0
  115. data/spec/rdfcore/rdfms-empty-property-elements/test003.nt +14 -0
  116. data/spec/rdfcore/rdfms-empty-property-elements/test003.rdf +32 -0
  117. data/spec/rdfcore/rdfms-empty-property-elements/test004.nt +14 -0
  118. data/spec/rdfcore/rdfms-empty-property-elements/test004.rdf +32 -0
  119. data/spec/rdfcore/rdfms-empty-property-elements/test005.nt +18 -0
  120. data/spec/rdfcore/rdfms-empty-property-elements/test005.rdf +32 -0
  121. data/spec/rdfcore/rdfms-empty-property-elements/test006.nt +18 -0
  122. data/spec/rdfcore/rdfms-empty-property-elements/test006.rdf +32 -0
  123. data/spec/rdfcore/rdfms-empty-property-elements/test007.nt +14 -0
  124. data/spec/rdfcore/rdfms-empty-property-elements/test007.rdf +32 -0
  125. data/spec/rdfcore/rdfms-empty-property-elements/test008.nt +14 -0
  126. data/spec/rdfcore/rdfms-empty-property-elements/test008.rdf +31 -0
  127. data/spec/rdfcore/rdfms-empty-property-elements/test009.nt +14 -0
  128. data/spec/rdfcore/rdfms-empty-property-elements/test009.rdf +32 -0
  129. data/spec/rdfcore/rdfms-empty-property-elements/test010.nt +14 -0
  130. data/spec/rdfcore/rdfms-empty-property-elements/test010.rdf +31 -0
  131. data/spec/rdfcore/rdfms-empty-property-elements/test011.nt +18 -0
  132. data/spec/rdfcore/rdfms-empty-property-elements/test011.rdf +30 -0
  133. data/spec/rdfcore/rdfms-empty-property-elements/test012.nt +18 -0
  134. data/spec/rdfcore/rdfms-empty-property-elements/test012.rdf +30 -0
  135. data/spec/rdfcore/rdfms-empty-property-elements/test013.nt +15 -0
  136. data/spec/rdfcore/rdfms-empty-property-elements/test013.rdf +35 -0
  137. data/spec/rdfcore/rdfms-empty-property-elements/test014.nt +15 -0
  138. data/spec/rdfcore/rdfms-empty-property-elements/test014.rdf +34 -0
  139. data/spec/rdfcore/rdfms-empty-property-elements/test015.nt +15 -0
  140. data/spec/rdfcore/rdfms-empty-property-elements/test015.rdf +38 -0
  141. data/spec/rdfcore/rdfms-empty-property-elements/test016.nt +14 -0
  142. data/spec/rdfcore/rdfms-empty-property-elements/test016.rdf +31 -0
  143. data/spec/rdfcore/rdfms-empty-property-elements/test017.nt +14 -0
  144. data/spec/rdfcore/rdfms-empty-property-elements/test017.rdf +38 -0
  145. data/spec/rdfcore/rdfms-identity-anon-resources/test001.nt +14 -0
  146. data/spec/rdfcore/rdfms-identity-anon-resources/test001.rdf +33 -0
  147. data/spec/rdfcore/rdfms-identity-anon-resources/test002.nt +15 -0
  148. data/spec/rdfcore/rdfms-identity-anon-resources/test002.rdf +33 -0
  149. data/spec/rdfcore/rdfms-identity-anon-resources/test003.nt +14 -0
  150. data/spec/rdfcore/rdfms-identity-anon-resources/test003.rdf +31 -0
  151. data/spec/rdfcore/rdfms-identity-anon-resources/test004.nt +15 -0
  152. data/spec/rdfcore/rdfms-identity-anon-resources/test004.rdf +33 -0
  153. data/spec/rdfcore/rdfms-identity-anon-resources/test005.nt +14 -0
  154. data/spec/rdfcore/rdfms-identity-anon-resources/test005.rdf +31 -0
  155. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.nt +19 -0
  156. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.rdf +29 -0
  157. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.nt +15 -0
  158. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.rdf +29 -0
  159. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.nt +18 -0
  160. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.rdf +29 -0
  161. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.nt +19 -0
  162. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.rdf +29 -0
  163. data/spec/rdfcore/rdfms-para196/test001.nt +17 -0
  164. data/spec/rdfcore/rdfms-para196/test001.rdf +35 -0
  165. data/spec/rdfcore/rdfms-rdf-id/error001.rdf +26 -0
  166. data/spec/rdfcore/rdfms-rdf-id/error002.rdf +26 -0
  167. data/spec/rdfcore/rdfms-rdf-id/error003.rdf +29 -0
  168. data/spec/rdfcore/rdfms-rdf-id/error004.rdf +27 -0
  169. data/spec/rdfcore/rdfms-rdf-id/error005.rdf +31 -0
  170. data/spec/rdfcore/rdfms-rdf-id/error006.rdf +26 -0
  171. data/spec/rdfcore/rdfms-rdf-id/error007.rdf +29 -0
  172. data/spec/rdfcore/rdfms-rdf-names-use/error-001.rdf +23 -0
  173. data/spec/rdfcore/rdfms-rdf-names-use/error-002.rdf +23 -0
  174. data/spec/rdfcore/rdfms-rdf-names-use/error-003.rdf +23 -0
  175. data/spec/rdfcore/rdfms-rdf-names-use/error-004.rdf +23 -0
  176. data/spec/rdfcore/rdfms-rdf-names-use/error-005.rdf +23 -0
  177. data/spec/rdfcore/rdfms-rdf-names-use/error-006.rdf +23 -0
  178. data/spec/rdfcore/rdfms-rdf-names-use/error-007.rdf +23 -0
  179. data/spec/rdfcore/rdfms-rdf-names-use/error-008.rdf +23 -0
  180. data/spec/rdfcore/rdfms-rdf-names-use/error-009.rdf +23 -0
  181. data/spec/rdfcore/rdfms-rdf-names-use/error-010.rdf +23 -0
  182. data/spec/rdfcore/rdfms-rdf-names-use/error-011.rdf +25 -0
  183. data/spec/rdfcore/rdfms-rdf-names-use/error-012.rdf +25 -0
  184. data/spec/rdfcore/rdfms-rdf-names-use/error-013.rdf +25 -0
  185. data/spec/rdfcore/rdfms-rdf-names-use/error-014.rdf +25 -0
  186. data/spec/rdfcore/rdfms-rdf-names-use/error-015.rdf +25 -0
  187. data/spec/rdfcore/rdfms-rdf-names-use/error-016.rdf +25 -0
  188. data/spec/rdfcore/rdfms-rdf-names-use/error-017.rdf +25 -0
  189. data/spec/rdfcore/rdfms-rdf-names-use/error-018.rdf +25 -0
  190. data/spec/rdfcore/rdfms-rdf-names-use/error-019.rdf +25 -0
  191. data/spec/rdfcore/rdfms-rdf-names-use/error-020.rdf +25 -0
  192. data/spec/rdfcore/rdfms-rdf-names-use/test-001.nt +1 -0
  193. data/spec/rdfcore/rdfms-rdf-names-use/test-001.rdf +23 -0
  194. data/spec/rdfcore/rdfms-rdf-names-use/test-002.nt +1 -0
  195. data/spec/rdfcore/rdfms-rdf-names-use/test-002.rdf +23 -0
  196. data/spec/rdfcore/rdfms-rdf-names-use/test-003.nt +1 -0
  197. data/spec/rdfcore/rdfms-rdf-names-use/test-003.rdf +23 -0
  198. data/spec/rdfcore/rdfms-rdf-names-use/test-004.nt +1 -0
  199. data/spec/rdfcore/rdfms-rdf-names-use/test-004.rdf +23 -0
  200. data/spec/rdfcore/rdfms-rdf-names-use/test-005.nt +1 -0
  201. data/spec/rdfcore/rdfms-rdf-names-use/test-005.rdf +23 -0
  202. data/spec/rdfcore/rdfms-rdf-names-use/test-006.nt +1 -0
  203. data/spec/rdfcore/rdfms-rdf-names-use/test-006.rdf +23 -0
  204. data/spec/rdfcore/rdfms-rdf-names-use/test-007.nt +1 -0
  205. data/spec/rdfcore/rdfms-rdf-names-use/test-007.rdf +23 -0
  206. data/spec/rdfcore/rdfms-rdf-names-use/test-008.nt +1 -0
  207. data/spec/rdfcore/rdfms-rdf-names-use/test-008.rdf +23 -0
  208. data/spec/rdfcore/rdfms-rdf-names-use/test-009.nt +1 -0
  209. data/spec/rdfcore/rdfms-rdf-names-use/test-009.rdf +23 -0
  210. data/spec/rdfcore/rdfms-rdf-names-use/test-010.nt +1 -0
  211. data/spec/rdfcore/rdfms-rdf-names-use/test-010.rdf +23 -0
  212. data/spec/rdfcore/rdfms-rdf-names-use/test-011.nt +1 -0
  213. data/spec/rdfcore/rdfms-rdf-names-use/test-011.rdf +23 -0
  214. data/spec/rdfcore/rdfms-rdf-names-use/test-012.nt +1 -0
  215. data/spec/rdfcore/rdfms-rdf-names-use/test-012.rdf +23 -0
  216. data/spec/rdfcore/rdfms-rdf-names-use/test-013.nt +1 -0
  217. data/spec/rdfcore/rdfms-rdf-names-use/test-013.rdf +23 -0
  218. data/spec/rdfcore/rdfms-rdf-names-use/test-014.nt +1 -0
  219. data/spec/rdfcore/rdfms-rdf-names-use/test-014.rdf +23 -0
  220. data/spec/rdfcore/rdfms-rdf-names-use/test-015.nt +1 -0
  221. data/spec/rdfcore/rdfms-rdf-names-use/test-015.rdf +23 -0
  222. data/spec/rdfcore/rdfms-rdf-names-use/test-016.nt +1 -0
  223. data/spec/rdfcore/rdfms-rdf-names-use/test-016.rdf +23 -0
  224. data/spec/rdfcore/rdfms-rdf-names-use/test-017.nt +1 -0
  225. data/spec/rdfcore/rdfms-rdf-names-use/test-017.rdf +25 -0
  226. data/spec/rdfcore/rdfms-rdf-names-use/test-018.nt +1 -0
  227. data/spec/rdfcore/rdfms-rdf-names-use/test-018.rdf +25 -0
  228. data/spec/rdfcore/rdfms-rdf-names-use/test-019.nt +1 -0
  229. data/spec/rdfcore/rdfms-rdf-names-use/test-019.rdf +25 -0
  230. data/spec/rdfcore/rdfms-rdf-names-use/test-020.nt +1 -0
  231. data/spec/rdfcore/rdfms-rdf-names-use/test-020.rdf +25 -0
  232. data/spec/rdfcore/rdfms-rdf-names-use/test-021.nt +1 -0
  233. data/spec/rdfcore/rdfms-rdf-names-use/test-021.rdf +25 -0
  234. data/spec/rdfcore/rdfms-rdf-names-use/test-022.nt +1 -0
  235. data/spec/rdfcore/rdfms-rdf-names-use/test-022.rdf +25 -0
  236. data/spec/rdfcore/rdfms-rdf-names-use/test-023.nt +1 -0
  237. data/spec/rdfcore/rdfms-rdf-names-use/test-023.rdf +25 -0
  238. data/spec/rdfcore/rdfms-rdf-names-use/test-024.nt +1 -0
  239. data/spec/rdfcore/rdfms-rdf-names-use/test-024.rdf +25 -0
  240. data/spec/rdfcore/rdfms-rdf-names-use/test-025.nt +1 -0
  241. data/spec/rdfcore/rdfms-rdf-names-use/test-025.rdf +25 -0
  242. data/spec/rdfcore/rdfms-rdf-names-use/test-026.nt +1 -0
  243. data/spec/rdfcore/rdfms-rdf-names-use/test-026.rdf +25 -0
  244. data/spec/rdfcore/rdfms-rdf-names-use/test-027.nt +1 -0
  245. data/spec/rdfcore/rdfms-rdf-names-use/test-027.rdf +25 -0
  246. data/spec/rdfcore/rdfms-rdf-names-use/test-028.nt +1 -0
  247. data/spec/rdfcore/rdfms-rdf-names-use/test-028.rdf +25 -0
  248. data/spec/rdfcore/rdfms-rdf-names-use/test-029.nt +1 -0
  249. data/spec/rdfcore/rdfms-rdf-names-use/test-029.rdf +25 -0
  250. data/spec/rdfcore/rdfms-rdf-names-use/test-030.nt +1 -0
  251. data/spec/rdfcore/rdfms-rdf-names-use/test-030.rdf +25 -0
  252. data/spec/rdfcore/rdfms-rdf-names-use/test-031.nt +1 -0
  253. data/spec/rdfcore/rdfms-rdf-names-use/test-031.rdf +25 -0
  254. data/spec/rdfcore/rdfms-rdf-names-use/test-032.nt +1 -0
  255. data/spec/rdfcore/rdfms-rdf-names-use/test-032.rdf +24 -0
  256. data/spec/rdfcore/rdfms-rdf-names-use/test-033.nt +1 -0
  257. data/spec/rdfcore/rdfms-rdf-names-use/test-033.rdf +24 -0
  258. data/spec/rdfcore/rdfms-rdf-names-use/test-034.nt +1 -0
  259. data/spec/rdfcore/rdfms-rdf-names-use/test-034.rdf +24 -0
  260. data/spec/rdfcore/rdfms-rdf-names-use/test-035.nt +1 -0
  261. data/spec/rdfcore/rdfms-rdf-names-use/test-035.rdf +24 -0
  262. data/spec/rdfcore/rdfms-rdf-names-use/test-036.nt +1 -0
  263. data/spec/rdfcore/rdfms-rdf-names-use/test-036.rdf +24 -0
  264. data/spec/rdfcore/rdfms-rdf-names-use/test-037.nt +1 -0
  265. data/spec/rdfcore/rdfms-rdf-names-use/test-037.rdf +24 -0
  266. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.nt +1 -0
  267. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.rdf +23 -0
  268. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.nt +1 -0
  269. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.rdf +25 -0
  270. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.nt +1 -0
  271. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.rdf +24 -0
  272. data/spec/rdfcore/rdfms-reification-required/test001.nt +15 -0
  273. data/spec/rdfcore/rdfms-reification-required/test001.rdf +29 -0
  274. data/spec/rdfcore/rdfms-seq-representation/empty.nt +13 -0
  275. data/spec/rdfcore/rdfms-seq-representation/test001.nt +19 -0
  276. data/spec/rdfcore/rdfms-seq-representation/test001.rdf +33 -0
  277. data/spec/rdfcore/rdfms-seq-representation/test002.nt +14 -0
  278. data/spec/rdfcore/rdfms-seq-representation/test003a.nt +14 -0
  279. data/spec/rdfcore/rdfms-seq-representation/test003b.nt +14 -0
  280. data/spec/rdfcore/rdfms-seq-representation/test004.nt +14 -0
  281. data/spec/rdfcore/rdfms-syntax-incomplete/error001.rdf +26 -0
  282. data/spec/rdfcore/rdfms-syntax-incomplete/error002.rdf +26 -0
  283. data/spec/rdfcore/rdfms-syntax-incomplete/error003.rdf +29 -0
  284. data/spec/rdfcore/rdfms-syntax-incomplete/error004.rdf +25 -0
  285. data/spec/rdfcore/rdfms-syntax-incomplete/error005.rdf +25 -0
  286. data/spec/rdfcore/rdfms-syntax-incomplete/error006.rdf +28 -0
  287. data/spec/rdfcore/rdfms-syntax-incomplete/test001.nt +14 -0
  288. data/spec/rdfcore/rdfms-syntax-incomplete/test001.rdf +28 -0
  289. data/spec/rdfcore/rdfms-syntax-incomplete/test002.nt +19 -0
  290. data/spec/rdfcore/rdfms-syntax-incomplete/test002.rdf +38 -0
  291. data/spec/rdfcore/rdfms-syntax-incomplete/test003.nt +17 -0
  292. data/spec/rdfcore/rdfms-syntax-incomplete/test003.rdf +28 -0
  293. data/spec/rdfcore/rdfms-syntax-incomplete/test004.nt +21 -0
  294. data/spec/rdfcore/rdfms-syntax-incomplete/test004.rdf +36 -0
  295. data/spec/rdfcore/rdfms-uri-substructure/error001.nt +18 -0
  296. data/spec/rdfcore/rdfms-uri-substructure/test001.nt +17 -0
  297. data/spec/rdfcore/rdfms-uri-substructure/test001.rdf +29 -0
  298. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.nt +13 -0
  299. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.rdf +33 -0
  300. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.nt +14 -0
  301. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.rdf +47 -0
  302. data/spec/rdfcore/rdfms-xmllang/test001.nt +14 -0
  303. data/spec/rdfcore/rdfms-xmllang/test001.rdf +30 -0
  304. data/spec/rdfcore/rdfms-xmllang/test002.nt +14 -0
  305. data/spec/rdfcore/rdfms-xmllang/test002.rdf +29 -0
  306. data/spec/rdfcore/rdfms-xmllang/test003.nt +14 -0
  307. data/spec/rdfcore/rdfms-xmllang/test003.rdf +28 -0
  308. data/spec/rdfcore/rdfms-xmllang/test004.nt +14 -0
  309. data/spec/rdfcore/rdfms-xmllang/test004.rdf +28 -0
  310. data/spec/rdfcore/rdfms-xmllang/test005.nt +14 -0
  311. data/spec/rdfcore/rdfms-xmllang/test005.rdf +28 -0
  312. data/spec/rdfcore/rdfms-xmllang/test006.nt +14 -0
  313. data/spec/rdfcore/rdfms-xmllang/test006.rdf +29 -0
  314. data/spec/rdfcore/rdfms-xmllang/test007a.nt +14 -0
  315. data/spec/rdfcore/rdfms-xmllang/test007b.nt +14 -0
  316. data/spec/rdfcore/rdfms-xmllang/test007c.nt +14 -0
  317. data/spec/rdfcore/rdfs-container-membership-superProperty/not1C.rdf +13 -0
  318. data/spec/rdfcore/rdfs-container-membership-superProperty/not1P.rdf +14 -0
  319. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions005.rdf +28 -0
  320. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions006.rdf +28 -0
  321. data/spec/rdfcore/rdfs-domain-and-range/premises005.rdf +32 -0
  322. data/spec/rdfcore/rdfs-domain-and-range/premises006.rdf +32 -0
  323. data/spec/rdfcore/rdfs-domain-and-range/test001.nt +16 -0
  324. data/spec/rdfcore/rdfs-domain-and-range/test001.rdf +29 -0
  325. data/spec/rdfcore/rdfs-domain-and-range/test002.nt +16 -0
  326. data/spec/rdfcore/rdfs-domain-and-range/test002.rdf +29 -0
  327. data/spec/rdfcore/rdfs-entailment/test001.nt +16 -0
  328. data/spec/rdfcore/rdfs-entailment/test002.nt +15 -0
  329. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.nt +18 -0
  330. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.rdf +37 -0
  331. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.nt +18 -0
  332. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.rdf +40 -0
  333. data/spec/rdfcore/rdfs-subClassOf-a-Property/test001.nt +15 -0
  334. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test001.nt +24 -0
  335. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test002.nt +21 -0
  336. data/spec/rdfcore/statement-entailment/test001a.nt +12 -0
  337. data/spec/rdfcore/statement-entailment/test001b.nt +2 -0
  338. data/spec/rdfcore/statement-entailment/test002a.nt +2 -0
  339. data/spec/rdfcore/statement-entailment/test002b.nt +5 -0
  340. data/spec/rdfcore/tex-01/test001.rdf +34 -0
  341. data/spec/rdfcore/tex-01/test002.rdf +33 -0
  342. data/spec/rdfcore/unrecognised-xml-attributes/test001.nt +15 -0
  343. data/spec/rdfcore/unrecognised-xml-attributes/test001.rdf +31 -0
  344. data/spec/rdfcore/unrecognised-xml-attributes/test002.nt +14 -0
  345. data/spec/rdfcore/unrecognised-xml-attributes/test002.rdf +32 -0
  346. data/spec/rdfcore/xml-canon/test001.nt +16 -0
  347. data/spec/rdfcore/xml-canon/test001.rdf +28 -0
  348. data/spec/rdfcore/xmlbase/test001.nt +14 -0
  349. data/spec/rdfcore/xmlbase/test001.rdf +27 -0
  350. data/spec/rdfcore/xmlbase/test002.nt +14 -0
  351. data/spec/rdfcore/xmlbase/test002.rdf +28 -0
  352. data/spec/rdfcore/xmlbase/test003.nt +14 -0
  353. data/spec/rdfcore/xmlbase/test003.rdf +25 -0
  354. data/spec/rdfcore/xmlbase/test004.nt +18 -0
  355. data/spec/rdfcore/xmlbase/test004.rdf +27 -0
  356. data/spec/rdfcore/xmlbase/test006.nt +15 -0
  357. data/spec/rdfcore/xmlbase/test006.rdf +26 -0
  358. data/spec/rdfcore/xmlbase/test007.nt +14 -0
  359. data/spec/rdfcore/xmlbase/test007.rdf +25 -0
  360. data/spec/rdfcore/xmlbase/test008.nt +14 -0
  361. data/spec/rdfcore/xmlbase/test008.rdf +25 -0
  362. data/spec/rdfcore/xmlbase/test009.nt +14 -0
  363. data/spec/rdfcore/xmlbase/test009.rdf +26 -0
  364. data/spec/rdfcore/xmlbase/test010.nt +14 -0
  365. data/spec/rdfcore/xmlbase/test010.rdf +26 -0
  366. data/spec/rdfcore/xmlbase/test011.nt +14 -0
  367. data/spec/rdfcore/xmlbase/test011.rdf +27 -0
  368. data/spec/rdfcore/xmlbase/test013.nt +15 -0
  369. data/spec/rdfcore/xmlbase/test013.rdf +28 -0
  370. data/spec/rdfcore/xmlbase/test014.nt +15 -0
  371. data/spec/rdfcore/xmlbase/test014.rdf +28 -0
  372. data/spec/rdfcore/xmlsch-02/test001.rdf +34 -0
  373. data/spec/rdfcore/xmlsch-02/test002.rdf +34 -0
  374. data/spec/rdfcore/xmlsch-02/test003.rdf +37 -0
  375. data/spec/spec.opts +1 -0
  376. data/spec/spec_helper.rb +11 -0
  377. data/spec/swap_helper.rb +136 -0
  378. data/spec/swap_spec.rb +77 -0
  379. data/spec/swap_test/.DS_Store +0 -0
  380. data/spec/swap_test/animal.rdf +17 -0
  381. data/spec/swap_test/anon-prop.n3 +14 -0
  382. data/spec/swap_test/anonymous_loop.n3 +2 -0
  383. data/spec/swap_test/contexts.n3 +16 -0
  384. data/spec/swap_test/daml-pref.n3 +10 -0
  385. data/spec/swap_test/i18n/hiragana.n3 +22 -0
  386. data/spec/swap_test/i18n/n3string.n3 +4 -0
  387. data/spec/swap_test/list/itemType.rdf +12 -0
  388. data/spec/swap_test/lists-simple.n3 +40 -0
  389. data/spec/swap_test/lists.n3 +35 -0
  390. data/spec/swap_test/n3/.DS_Store +0 -0
  391. data/spec/swap_test/n3/n3parser.tests_n3_10001.nt +3 -0
  392. data/spec/swap_test/n3/n3parser.tests_n3_10002.nt +7 -0
  393. data/spec/swap_test/n3/n3parser.tests_n3_10003.nt +3 -0
  394. data/spec/swap_test/n3/n3parser.tests_n3_10004.nt +119 -0
  395. data/spec/swap_test/n3/n3parser.tests_n3_10005.nt +3 -0
  396. data/spec/swap_test/n3/n3parser.tests_n3_10006.nt +225 -0
  397. data/spec/swap_test/n3/n3parser.tests_n3_10007.nt +79 -0
  398. data/spec/swap_test/n3/n3parser.tests_n3_10008.nt +5 -0
  399. data/spec/swap_test/n3/n3parser.tests_n3_10009.nt +13 -0
  400. data/spec/swap_test/n3/n3parser.tests_n3_10010.nt +21 -0
  401. data/spec/swap_test/n3/n3parser.tests_n3_10011.nt +9 -0
  402. data/spec/swap_test/n3/n3parser.tests_n3_10012.nt +53 -0
  403. data/spec/swap_test/n3/n3parser.tests_n3_10013.nt +19 -0
  404. data/spec/swap_test/n3/n3parser.tests_n3_10014.nt +103 -0
  405. data/spec/swap_test/n3/n3parser.tests_n3_10015.nt +103 -0
  406. data/spec/swap_test/n3/n3parser.tests_n3_10016.nt +3 -0
  407. data/spec/swap_test/n3/n3parser.tests_n3_10017.nt +151 -0
  408. data/spec/swap_test/n3/n3parser.tests_n3_10018.nt +9 -0
  409. data/spec/swap_test/n3/n3parser.tests_n3_10019.nt +3 -0
  410. data/spec/swap_test/n3/n3parser.tests_n3_10020.nt +13 -0
  411. data/spec/swap_test/n3parser.tests +160 -0
  412. data/spec/swap_test/nodeID/classes.n3 +9 -0
  413. data/spec/swap_test/nodeID/classes.ref.rdf +15 -0
  414. data/spec/swap_test/nodeID/ex1.rdf +15 -0
  415. data/spec/swap_test/norm/fix.rdf +33 -0
  416. data/spec/swap_test/owl-ex.rdf +150 -0
  417. data/spec/swap_test/ref/animal.n3 +11 -0
  418. data/spec/swap_test/ref/anon-prop-1.n3 +8 -0
  419. data/spec/swap_test/ref/anonymous_loop.ref +7 -0
  420. data/spec/swap_test/ref/bnode.n3 +6 -0
  421. data/spec/swap_test/ref/bnode.rdf +16 -0
  422. data/spec/swap_test/ref/colon-in-uri.n3 +15 -0
  423. data/spec/swap_test/ref/daml-ex.n3 +103 -0
  424. data/spec/swap_test/ref/daml-ont.n3 +289 -0
  425. data/spec/swap_test/ref/djb1a-out.n3 +4 -0
  426. data/spec/swap_test/ref/dot-dash.n3 +8 -0
  427. data/spec/swap_test/ref/in-xml-t.n3 +4 -0
  428. data/spec/swap_test/ref/itemType.n3 +9 -0
  429. data/spec/swap_test/ref/keywords1.n3 +11 -0
  430. data/spec/swap_test/ref/keywords2.n3 +11 -0
  431. data/spec/swap_test/ref/lists-simple-1.rdf +108 -0
  432. data/spec/swap_test/ref/lists.n3 +43 -0
  433. data/spec/swap_test/ref/lstring-out.n3 +20 -0
  434. data/spec/swap_test/ref/n3string.n3 +13 -0
  435. data/spec/swap_test/ref/no-last-nl.n3 +3 -0
  436. data/spec/swap_test/ref/numbers.n3 +18 -0
  437. data/spec/swap_test/ref/path1.n3 +8 -0
  438. data/spec/swap_test/ref/path2.n3 +39 -0
  439. data/spec/swap_test/ref/prefix1.rdf +31 -0
  440. data/spec/swap_test/ref/prefix3.rdf +31 -0
  441. data/spec/swap_test/ref/rdf-redefine.rdf +11 -0
  442. data/spec/swap_test/ref/reluri-1.rdf +18 -0
  443. data/spec/swap_test/ref/strquot.n3 +23 -0
  444. data/spec/swap_test/ref/strquot_a.n3 +23 -0
  445. data/spec/swap_test/ref/xml-base3.n3 +5 -0
  446. data/spec/swap_test/ref/xml-redefine.rdf +20 -0
  447. data/spec/swap_test/ref/xml-redefine2.rdf +23 -0
  448. data/spec/swap_test/ref/xml-syntax-basic-serialization.rdf +10 -0
  449. data/spec/swap_test/ref/xmllit.nt +3 -0
  450. data/spec/swap_test/regression.n3 +231 -0
  451. data/spec/swap_test/reluri-1.n3 +10 -0
  452. data/spec/swap_test/strquot.n3 +23 -0
  453. data/spec/swap_test/syntax/colon-in-uri.rdf +27 -0
  454. data/spec/swap_test/syntax/djb1a.n3 +3 -0
  455. data/spec/swap_test/syntax/dot-dash.n3 +15 -0
  456. data/spec/swap_test/syntax/equals1.n3 +1 -0
  457. data/spec/swap_test/syntax/equals2.n3 +1 -0
  458. data/spec/swap_test/syntax/keywords1.n3 +17 -0
  459. data/spec/swap_test/syntax/keywords2.n3 +18 -0
  460. data/spec/swap_test/syntax/lstring.n3 +26 -0
  461. data/spec/swap_test/syntax/neg-formula-predicate.n3 +1 -0
  462. data/spec/swap_test/syntax/neg-keywords3.n3 +1 -0
  463. data/spec/swap_test/syntax/neg-literal-predicate.n3 +1 -0
  464. data/spec/swap_test/syntax/neg-single-quote.n3 +1 -0
  465. data/spec/swap_test/syntax/neg-thisadoc.n3 +1 -0
  466. data/spec/swap_test/syntax/no-last-nl.n3 +2 -0
  467. data/spec/swap_test/syntax/numbers.n3 +26 -0
  468. data/spec/swap_test/syntax/path1.n3 +23 -0
  469. data/spec/swap_test/syntax/path2.n3 +31 -0
  470. data/spec/swap_test/syntax/qvars1.n3 +19 -0
  471. data/spec/swap_test/syntax/qvars2.n3 +19 -0
  472. data/spec/swap_test/syntax/this-quantifiers.n3 +164 -0
  473. data/spec/swap_test/syntax/this-rules.n3 +43 -0
  474. data/spec/swap_test/syntax/too-nested.n3 +25 -0
  475. data/spec/swap_test/syntax/trailing-semicolon.n3 +12 -0
  476. data/spec/swap_test/syntax/zero-objects.n3 +1 -0
  477. data/spec/swap_test/syntax/zero-predicates.n3 +3 -0
  478. data/spec/swap_test/tests-work.txt +25 -0
  479. data/spec/swap_test/xml-syntax/basic-serialization.n3 +8 -0
  480. data/spec/swap_test/xml-syntax/in-xml.xml +13 -0
  481. data/spec/swap_test/xml-syntax/non-ascii-pred.rdf +14 -0
  482. data/spec/swap_test/xml-syntax/rdf_prefix.n3 +2 -0
  483. data/spec/swap_test/xml-syntax/xml_prefix.n3 +7 -0
  484. data/spec/swap_test/xml-syntax/xml_prefix2.n3 +9 -0
  485. data/spec/swap_test/xml-syntax/xmlbase3.rdf +10 -0
  486. data/spec/swap_test/xml-syntax/xmllit.rdf +33 -0
  487. data/spec/triple_spec.rb +236 -0
  488. data/spec/turtle/README.txt +20 -0
  489. data/spec/turtle/bad-00.ttl +2 -0
  490. data/spec/turtle/bad-01.ttl +3 -0
  491. data/spec/turtle/bad-02.ttl +3 -0
  492. data/spec/turtle/bad-03.ttl +3 -0
  493. data/spec/turtle/bad-04.ttl +3 -0
  494. data/spec/turtle/bad-05.ttl +4 -0
  495. data/spec/turtle/bad-06.ttl +3 -0
  496. data/spec/turtle/bad-07.ttl +4 -0
  497. data/spec/turtle/bad-08.ttl +2 -0
  498. data/spec/turtle/bad-09.ttl +3 -0
  499. data/spec/turtle/bad-10.ttl +3 -0
  500. data/spec/turtle/bad-11.ttl +3 -0
  501. data/spec/turtle/bad-12.ttl +3 -0
  502. data/spec/turtle/bad-13.ttl +3 -0
  503. data/spec/turtle/bad-14.ttl +6 -0
  504. data/spec/turtle/manifest-bad.ttl +88 -0
  505. data/spec/turtle/manifest.ttl +215 -0
  506. data/spec/turtle/rdf-schema.out +126 -0
  507. data/spec/turtle/rdf-schema.ttl +156 -0
  508. data/spec/turtle/rdfq-results.out +36 -0
  509. data/spec/turtle/rdfq-results.ttl +39 -0
  510. data/spec/turtle/rdfs-namespace.out +131 -0
  511. data/spec/turtle/rdfs-namespace.ttl +160 -0
  512. data/spec/turtle/test-00.out +1 -0
  513. data/spec/turtle/test-00.ttl +2 -0
  514. data/spec/turtle/test-01.out +3 -0
  515. data/spec/turtle/test-01.ttl +7 -0
  516. data/spec/turtle/test-02.out +3 -0
  517. data/spec/turtle/test-02.ttl +5 -0
  518. data/spec/turtle/test-03.out +3 -0
  519. data/spec/turtle/test-03.ttl +5 -0
  520. data/spec/turtle/test-04.out +2 -0
  521. data/spec/turtle/test-04.ttl +4 -0
  522. data/spec/turtle/test-05.out +4 -0
  523. data/spec/turtle/test-05.ttl +4 -0
  524. data/spec/turtle/test-06.out +1 -0
  525. data/spec/turtle/test-06.ttl +3 -0
  526. data/spec/turtle/test-07.out +5 -0
  527. data/spec/turtle/test-07.ttl +3 -0
  528. data/spec/turtle/test-08.out +1 -0
  529. data/spec/turtle/test-08.ttl +3 -0
  530. data/spec/turtle/test-09.out +4 -0
  531. data/spec/turtle/test-09.ttl +10 -0
  532. data/spec/turtle/test-10.out +5 -0
  533. data/spec/turtle/test-10.ttl +5 -0
  534. data/spec/turtle/test-11.out +4 -0
  535. data/spec/turtle/test-11.ttl +10 -0
  536. data/spec/turtle/test-12.out +4 -0
  537. data/spec/turtle/test-12.ttl +9 -0
  538. data/spec/turtle/test-13.out +2 -0
  539. data/spec/turtle/test-13.ttl +7 -0
  540. data/spec/turtle/test-14.out +10000 -0
  541. data/spec/turtle/test-14.ttl +10002 -0
  542. data/spec/turtle/test-15.out +10000 -0
  543. data/spec/turtle/test-15.ttl +3 -0
  544. data/spec/turtle/test-16.out +10000 -0
  545. data/spec/turtle/test-16.ttl +10002 -0
  546. data/spec/turtle/test-17.out +1 -0
  547. data/spec/turtle/test-17.ttl +6 -0
  548. data/spec/turtle/test-18.out +2 -0
  549. data/spec/turtle/test-18.ttl +9 -0
  550. data/spec/turtle/test-19.out +1 -0
  551. data/spec/turtle/test-19.ttl +4 -0
  552. data/spec/turtle/test-20.out +2 -0
  553. data/spec/turtle/test-20.ttl +6 -0
  554. data/spec/turtle/test-21.out +3 -0
  555. data/spec/turtle/test-21.ttl +4 -0
  556. data/spec/turtle/test-22.out +3 -0
  557. data/spec/turtle/test-22.ttl +4 -0
  558. data/spec/turtle/test-23.out +1 -0
  559. data/spec/turtle/test-23.ttl +3 -0
  560. data/spec/turtle/test-24.out +2 -0
  561. data/spec/turtle/test-24.ttl +3 -0
  562. data/spec/turtle/test-25.out +7 -0
  563. data/spec/turtle/test-25.ttl +14 -0
  564. data/spec/turtle/test-26.out +1 -0
  565. data/spec/turtle/test-26.ttl +4 -0
  566. data/spec/turtle/test-27.out +1 -0
  567. data/spec/turtle/test-27.ttl +5 -0
  568. data/spec/turtle/test-28-out.ttl +6 -0
  569. data/spec/turtle/test-28.out +22 -0
  570. data/spec/turtle/test-28.ttl +22 -0
  571. data/spec/turtle/test-29.out +1 -0
  572. data/spec/turtle/test-29.ttl +1 -0
  573. data/spec/turtle/test-30.out +5 -0
  574. data/spec/turtle/test-30.ttl +12 -0
  575. data/spec/turtle_serializer_spec.rb +226 -0
  576. data/spec/turtle_spec.rb +64 -0
  577. metadata +711 -0
@@ -0,0 +1,14 @@
1
+
2
+
3
+
4
+ <rdf:RDF xmlns="http://example.com/swap/test/includes/non-ascii.n3#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
6
+
7
+ <rdf:Description rdf:about="#my">
8
+ <name>Joerg</name>
9
+ </rdf:Description>
10
+
11
+ <rdf:Description rdf:about="#僕">
12
+ <名前>ヨーク</名前>
13
+ </rdf:Description>
14
+ </rdf:RDF>
@@ -0,0 +1,2 @@
1
+ @prefix rdf: <http://example.com#> .
2
+ :a rdf:b :c .
@@ -0,0 +1,7 @@
1
+ @prefix : <http://example.com/xml#> .
2
+ @prefix a: <http://example.com/m#> .
3
+
4
+ a:a a:b a:c .
5
+ a:y a:n a:i .
6
+ a:q a :P;
7
+ :v :r .
@@ -0,0 +1,9 @@
1
+ @prefix xml: <http://example.com/xml#> .
2
+ @prefix a: <http://example.com/m#> .
3
+ @prefix xmlns: <http://example.com/xmlns#> .
4
+
5
+ a:a a:b a:c .
6
+ a:y a:n a:i .
7
+ a:q a :P;
8
+ xml:v xml:r;
9
+ xmlns:w xmlns:t .
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <rdf:RDF xml:base="http://example.org/"
3
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
5
+ <rdf:Description rdf:about="http://www.w3.org/" xml:base="test1/">
6
+ <dc:title>World Wide Web Consortium</dc:title>
7
+ <dc:source rdf:resource="test2/"/>
8
+ <dc:relation rdf:resource=""/>
9
+ </rdf:Description>
10
+ </rdf:RDF>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <!--
4
+ Copyright World Wide Web Consortium, (Massachusetts Institute of
5
+ Technology, Institut National de Recherche en Informatique et en
6
+ Automatique, Keio University).
7
+
8
+ All Rights Reserved.
9
+
10
+ Please see the full Copyright clause at
11
+ <http://www.w3.org/Consortium/Legal/copyright-software.html>
12
+
13
+ Description: Visibly used namespaces must be included in XML
14
+ Literal values. Treatment of namespaces that are not
15
+ visibly used (e.g. rdf: in this example) is implementation
16
+ dependent. Based on example from Issues List.
17
+
18
+
19
+ $Id: xmllit.rdf,v 1.1 2005-09-01 20:43:01 syosi Exp $
20
+
21
+ -->
22
+ <rdf:RDF xmlns="http://www.w3.org/1999/xhtml"
23
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
24
+ xmlns:html="http://NoHTML.example.org"
25
+ xmlns:my="http://my.example.org/">
26
+ <rdf:Description rdf:ID="John_Smith">
27
+ <my:Name rdf:parseType="Literal">
28
+ <html:h1 my:thing="hello">
29
+ <b><i>John</i></b>
30
+ </html:h1>
31
+ </my:Name>
32
+ </rdf:Description>
33
+ </rdf:RDF>
@@ -0,0 +1,236 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe "Triples" do
4
+ before(:all) { @graph = Graph.new(:store => ListStore.new) }
5
+
6
+ describe "with subjects" do
7
+ it "should allow URIRef" do
8
+ v = URIRef.new("http://foo")
9
+ Triple.new(v, RDF_TYPE, "obj").subject.should == v
10
+ end
11
+
12
+ it "should allow BNode" do
13
+ v = BNode.new
14
+ Triple.new(v, RDF_TYPE, "obj").subject.should == v
15
+ end
16
+
17
+ it "should allow Literal" do
18
+ v = Literal.untyped("foo")
19
+ Triple.new(v, RDF_TYPE, "obj").subject.should == v
20
+ end
21
+
22
+ it "should allow Graph" do
23
+ v = Graph.new
24
+ Triple.new(v, RDF_TYPE, "obj").subject.should == v
25
+ end
26
+
27
+ it "should allow QuotedGraph" do
28
+ v = QuotedGraph.new
29
+ Triple.new(v, RDF_TYPE, "obj").subject.should == v
30
+ end
31
+ end
32
+
33
+ describe "with predicates" do
34
+ it "should allow URIRef" do
35
+ v = URIRef.new("http://foo")
36
+ Triple.new(RDF_NS.Seq, v, "obj").predicate.should == v
37
+ end
38
+
39
+ it "should allow BNode" do
40
+ v = BNode.new
41
+ Triple.new(RDF_NS.Seq, v, "obj").predicate.should == v
42
+ end
43
+
44
+ it "should not allow Literal" do
45
+ v = Literal.untyped("foo")
46
+ lambda {Triple.new(RDF_NS.Seq, v, "obj")}.should raise_error
47
+ end
48
+
49
+ it "should not allow Graph" do
50
+ v = Graph.new
51
+ lambda {Triple.new(RDF_NS.Seq, v, "obj")}.should raise_error
52
+ end
53
+
54
+ it "should not allow QuotedGraph" do
55
+ v = QuotedGraph.new
56
+ lambda {Triple.new(RDF_NS.Seq, v, "obj")}.should raise_error
57
+ end
58
+ end
59
+
60
+ describe "with objects" do
61
+ it "should allow URIRef" do
62
+ v = URIRef.new("http://foo")
63
+ Triple.new(RDF_NS.Seq, RDF_TYPE, v).object.should == v
64
+ end
65
+
66
+ it "should allow BNode" do
67
+ v = BNode.new
68
+ Triple.new(RDF_NS.Seq, RDF_TYPE, v).object.should == v
69
+ end
70
+
71
+ it "should allow Literal" do
72
+ v = Literal.untyped("foo")
73
+ Triple.new(RDF_NS.Seq, RDF_TYPE, v).object.should == v
74
+ end
75
+
76
+ it "should allow Graph" do
77
+ v = Graph.new
78
+ Triple.new(RDF_NS.Seq, RDF_TYPE, v).object.should == v
79
+ end
80
+
81
+ it "should allow QuotedGraph" do
82
+ v = QuotedGraph.new
83
+ Triple.new(RDF_NS.Seq, RDF_TYPE, v).object.should == v
84
+ end
85
+ end
86
+
87
+ it "should require that the object is a URIRef, BNode, Literal or Typed Literal" do
88
+ lambda do
89
+ Triple.new(BNode.new, URIRef.new("http://xmlns.com/foaf/0.1/knows"), [])
90
+ end.should raise_error
91
+ end
92
+
93
+ describe "with BNodes" do
94
+ subject do
95
+ Triple.new(BNode.new, URIRef.new('http://xmlns.com/foaf/0.1/knows'), BNode.new)
96
+ end
97
+
98
+ it "should have a subject" do
99
+ subject.subject.class.should == BNode
100
+ end
101
+
102
+ it "should emit an NTriple" do
103
+ subject.to_ntriples.should == "#{subject.subject.to_n3} <http://xmlns.com/foaf/0.1/knows> #{subject.object.to_n3} ."
104
+ end
105
+ end
106
+
107
+ describe "with URIRefs" do
108
+ subject {
109
+ s = URIRef.new("http://tommorris.org/foaf#me")
110
+ p = URIRef.new("http://xmlns.com/foaf/0.1/name")
111
+ o = Literal.untyped("Tom Morris")
112
+ Triple.new(s,p,o)
113
+ }
114
+
115
+ it "should emit an NTriple" do
116
+ subject.to_ntriples.should == "<http://tommorris.org/foaf#me> <http://xmlns.com/foaf/0.1/name> \"Tom Morris\" ."
117
+ end
118
+ end
119
+
120
+ describe "with coerced predicate" do
121
+ it "should make a string into a URI ref" do
122
+ Triple.coerce_predicate("http://localhost/").should == URIRef.new('http://localhost/')
123
+ end
124
+
125
+ it "should leave a URIRef alone" do
126
+ ref = URIRef.new('http://localhost/')
127
+ Triple.coerce_predicate(ref).should == ref
128
+ end
129
+
130
+ it "should barf on an illegal uri string" do
131
+ lambda do
132
+ Triple.coerce_predicate("I'm just a soul whose intention is good")
133
+ end.should raise_error(InvalidPredicate)
134
+ end
135
+ end
136
+
137
+ describe "with coerced node" do
138
+ it 'should make a literal for Integer types' do
139
+ ref = 5
140
+ Triple.coerce_node(ref).should == Literal.build_from(ref)
141
+ end
142
+
143
+ it 'should make a literal for Float types' do
144
+ ref = 15.4
145
+ Triple.coerce_node(ref).should == Literal.build_from(ref)
146
+ end
147
+
148
+ it 'should make a literal for Date types' do
149
+ ref = Date::civil(2010, 1, 2)
150
+ Triple.coerce_node(ref).should == Literal.build_from(ref)
151
+ end
152
+
153
+ it 'should make a literal for DateTime types' do
154
+ ref = DateTime.parse('2010-01-03T01:02:03')
155
+ Triple.coerce_node(ref).should == Literal.build_from(ref)
156
+ end
157
+
158
+ it "should leave URIRefs alone" do
159
+ ref = URIRef.new("http://localhost/")
160
+ Triple.coerce_node(ref).should == ref
161
+ end
162
+
163
+ it "should accept an Addressable::URI object and make URIRef" do
164
+ Triple.coerce_node(Addressable::URI.parse("http://localhost/")).should == URIRef.new("http://localhost/")
165
+ end
166
+
167
+ it "should leave BNodes alone" do
168
+ ref = BNode.new()
169
+ Triple.coerce_node(ref).should == ref
170
+ end
171
+
172
+ it "should leave Literals alone" do
173
+ ref = Literal.untyped('foo')
174
+ Triple.coerce_node(ref).should == ref
175
+
176
+ typedref = Literal.build_from('foo')
177
+ Triple.coerce_node(ref).should == ref
178
+ end
179
+
180
+ end
181
+
182
+ describe "with wildcards" do
183
+ it "should accept nil" do
184
+ t = Triple.new(nil, nil, nil)
185
+ t.is_pattern?.should be_true
186
+ end
187
+ end
188
+
189
+ describe "equivalence" do
190
+ before(:all) do
191
+ @test_cases = [
192
+ Triple.new(URIRef.new("http://foo"),URIRef.new("http://bar"),URIRef.new("http://baz")),
193
+ Triple.new(URIRef.new("http://foo"),URIRef.new("http://bar"),Literal.untyped("baz")),
194
+ Triple.new(URIRef.new("http://foo"),"http://bar",Literal.untyped("baz")),
195
+ Triple.new(BNode.new("foo"),URIRef.new("http://bar"),Literal.untyped("baz")),
196
+ Triple.new(BNode.new,URIRef.new("http://bar"),Literal.untyped("baz")),
197
+ ]
198
+ end
199
+ it "should be equal to itself" do
200
+ @test_cases.each {|triple| triple.should == triple}
201
+ end
202
+
203
+ it "should not be equal to something else" do
204
+ t = Triple.new(URIRef.new("http://fab"),URIRef.new("http://bar"),URIRef.new("http://baz")),
205
+ @test_cases.each {|triple| triple.should_not == t}
206
+ end
207
+
208
+ it "should be equal to equivalent" do
209
+ @test_cases.each do |triple|
210
+ t = Triple.new(triple.subject, triple.predicate, triple.object)
211
+ triple.should == t
212
+ end
213
+ end
214
+
215
+ it "should be equal to patterns" do
216
+ @test_cases.each do |triple|
217
+ [
218
+ Triple.new(triple.subject, triple.predicate, triple.object),
219
+
220
+ Triple.new(nil, triple.predicate, triple.object),
221
+ Triple.new(triple.subject, nil, triple.object),
222
+ Triple.new(triple.subject, triple.predicate, nil),
223
+
224
+ Triple.new(nil, nil, triple.object),
225
+ Triple.new(triple.subject, nil, nil),
226
+ Triple.new(nil, triple.predicate, nil),
227
+
228
+ Triple.new(nil, nil, nil),
229
+ ].each do |t|
230
+ triple.should == t
231
+ t.should == triple
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,20 @@
1
+ These are the tests for the Turtle Terse RDF Triple Language
2
+ that must be passed by conformant systems. See
3
+ http://www.dajobe.org/2004/01/turtle/
4
+ for the full conformance information.
5
+
6
+ The format is a set of good tests and bad tests.
7
+
8
+ Good tests are a pair of files:
9
+ abc.ttl abc.out
10
+ which are the input Turtle file and the expected output RDF triples,
11
+ written in N-Triples.
12
+
13
+ bad tests are of the form
14
+ bad-XX.ttl
15
+ which must fail.
16
+
17
+ The tests should be performed with an assumed base URI
18
+ of http://www.w3.org/2001/sw/DataAccess/df1/tests/
19
+
20
+ Dave
@@ -0,0 +1,2 @@
1
+ # prefix name must end in a :
2
+ @prefix a <#> .
@@ -0,0 +1,3 @@
1
+ # Forbidden by RDF - predicate cannot be blank
2
+ @prefix : <http://example.org/base#> .
3
+ :a [ :b :c ] :d .
@@ -0,0 +1,3 @@
1
+ # Forbidden by RDF - predicate cannot be blank
2
+ @prefix : <http://example.org/base#> .
3
+ :a [] :b .
@@ -0,0 +1,3 @@
1
+ # 'a' only allowed as a predicate
2
+ @prefix : <http://example.org/base#> .
3
+ a :a :b .
@@ -0,0 +1,3 @@
1
+ # No comma is allowed in collections
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a :b ( "apple", "banana" ) .
@@ -0,0 +1,4 @@
1
+ # N3 {}s are not in Turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ { :a :b :c . } :d :e .
4
+
@@ -0,0 +1,3 @@
1
+ # is and of are not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a is :b of :c .
@@ -0,0 +1,4 @@
1
+ # paths are not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a.:b.:c .
4
+ :a^:b^:c .
@@ -0,0 +1,2 @@
1
+ @keywords something.
2
+ # @keywords is not in turtle
@@ -0,0 +1,3 @@
1
+ # implies is not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a => :b .
@@ -0,0 +1,3 @@
1
+ # equivalence is not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a = :b .
@@ -0,0 +1,3 @@
1
+ # @forAll is not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ @forAll :x .
@@ -0,0 +1,3 @@
1
+ # @forSome is not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ @forSome :x .
@@ -0,0 +1,3 @@
1
+ # <= is not in turtle
2
+ @prefix : <http://example.org/stuff/1.0/> .
3
+ :a <= :b .
@@ -0,0 +1,6 @@
1
+ # Test long literals with missing end
2
+ @prefix : <http://example.org/ex#> .
3
+ :a :b """a long
4
+ literal
5
+ with
6
+ newlines
@@ -0,0 +1,88 @@
1
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
2
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
3
+ @prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
4
+ @prefix qt: <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
5
+
6
+ <> rdf:type mf:Manifest ;
7
+ rdfs:comment "Turtle bad syntax test cases (must fail)" ;
8
+ mf:entries
9
+ (
10
+
11
+ [ mf:name "bad-00" ;
12
+ rdfs:comment "prefix name must end in a :" ;
13
+ mf:action [ qt:data <bad-00.ttl> ] ;
14
+ ]
15
+
16
+ [ mf:name "bad-01" ;
17
+ rdfs:comment "blank predicate forbidden" ;
18
+ mf:action [ qt:data <bad-01.ttl> ] ;
19
+ ]
20
+
21
+ [ mf:name "bad-02" ;
22
+ rdfs:comment "blank predicate forbidden" ;
23
+ mf:action [ qt:data <bad-02.ttl> ] ;
24
+ ]
25
+
26
+ [ mf:name "bad-03" ;
27
+ rdfs:comment "a forbidden as subject" ;
28
+ mf:action [ qt:data <bad-03.ttl> ] ;
29
+ ]
30
+
31
+ [ mf:name "bad-04" ;
32
+ rdfs:comment ", not allowed in collections" ;
33
+ mf:action [ qt:data <bad-04.ttl> ] ;
34
+ ]
35
+
36
+ [ mf:name "bad-05" ;
37
+ rdfs:comment "{} not allowed in Turtle" ;
38
+ mf:action [ qt:data <bad-05.ttl> ] ;
39
+ ]
40
+
41
+ [ mf:name "bad-06" ;
42
+ rdfs:comment "is and of not allowed in Turtle" ;
43
+ mf:action [ qt:data <bad-06.ttl> ] ;
44
+ ]
45
+
46
+ [ mf:name "bad-07" ;
47
+ rdfs:comment "paths not allowed in Turtle" ;
48
+ mf:action [ qt:data <bad-07.ttl> ] ;
49
+ ]
50
+
51
+ [ mf:name "bad-08" ;
52
+ rdfs:comment "@keywords not allowed in Turtle" ;
53
+ mf:action [ qt:data <bad-08.ttl> ] ;
54
+ ]
55
+
56
+ [ mf:name "bad-09" ;
57
+ rdfs:comment "=> not allowed in Turtle" ;
58
+ mf:action [ qt:data <bad-09.ttl> ] ;
59
+ ]
60
+
61
+ [ mf:name "bad-10" ;
62
+ rdfs:comment "= not allowed in Turtle" ;
63
+ mf:action [ qt:data <bad-10.ttl> ] ;
64
+ ]
65
+
66
+ [ mf:name "bad-11" ;
67
+ rdfs:comment "@forAll not allowed in Turtle" ;
68
+ mf:action [ qt:data <bad-11.ttl> ] ;
69
+ ]
70
+
71
+ [ mf:name "bad-12" ;
72
+ rdfs:comment "@forSome not allowed in Turtle" ;
73
+ mf:action [ qt:data <bad-12.ttl> ] ;
74
+ ]
75
+
76
+ [ mf:name "bad-13" ;
77
+ rdfs:comment "<= not allowed in Turtle" ;
78
+ mf:action [ qt:data <bad-13.ttl> ] ;
79
+ ]
80
+
81
+ [ mf:name "bad-14" ;
82
+ rdfs:comment "long literal with missing end" ;
83
+ mf:action [ qt:data <bad-14.ttl> ] ;
84
+ ]
85
+
86
+
87
+ # End of tests
88
+ ).