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 @@
1
+ <http://example.org/ex#a> <http://example.org/ex#b> "a long\n\tliteral\nwith\nnewlines" .
@@ -0,0 +1,6 @@
1
+ # Test long literal
2
+ @prefix : <http://example.org/ex#> .
3
+ :a :b """a long
4
+ literal
5
+ with
6
+ newlines""" .
@@ -0,0 +1,2 @@
1
+ <http://example.org/foo#a> <http://example.org/foo#b> "\nthis \ris a \U00015678long\t\nliteral\uABCD\n" .
2
+ <http://example.org/foo#d> <http://example.org/foo#e> "\tThis \uABCDis\r \U00015678another\n\none\n" .
@@ -0,0 +1,9 @@
1
+ @prefix : <http://example.org/foo#> .
2
+
3
+ :a :b """\nthis \ris a \U00015678long\t
4
+ literal\uABCD
5
+ """ .
6
+
7
+ :d :e """\tThis \uABCDis\r \U00015678another\n
8
+ one
9
+ """ .
@@ -0,0 +1 @@
1
+ <http://example.org/#a> <http://example.org/#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
@@ -0,0 +1,4 @@
1
+ @prefix : <http://example.org/#> .
2
+
3
+ :a :b 1.0 .
4
+
@@ -0,0 +1,2 @@
1
+ <http://example.org/#a> <http://example.org/#b> "" .
2
+ <http://example.org/#c> <http://example.org/#d> "" .
@@ -0,0 +1,6 @@
1
+ @prefix : <http://example.org/#> .
2
+
3
+ :a :b "" .
4
+
5
+ :c :d """""" .
6
+
@@ -0,0 +1,3 @@
1
+ <http://example.org#a> <http://example.org#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
2
+ <http://example.org#c> <http://example.org#d> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
3
+ <http://example.org#e> <http://example.org#f> "1.0E0"^^<http://www.w3.org/2001/XMLSchema#double> .
@@ -0,0 +1,4 @@
1
+ @prefix : <http://example.org#> .
2
+ :a :b 1.0 .
3
+ :c :d 1 .
4
+ :e :f 1.0e0 .
@@ -0,0 +1,3 @@
1
+ <http://example.org#a> <http://example.org#b> "-1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
2
+ <http://example.org#c> <http://example.org#d> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
3
+ <http://example.org#e> <http://example.org#f> "-1.0E0"^^<http://www.w3.org/2001/XMLSchema#double> .
@@ -0,0 +1,4 @@
1
+ @prefix : <http://example.org#> .
2
+ :a :b -1.0 .
3
+ :c :d -1 .
4
+ :e :f -1.0e0 .
@@ -0,0 +1 @@
1
+ <http://example.org/ex#a> <http://example.org/ex#b> "John said: \"Hello World!\"" .
@@ -0,0 +1,3 @@
1
+ # Test long literal
2
+ @prefix : <http://example.org/ex#> .
3
+ :a :b """John said: "Hello World!\"""" .
@@ -0,0 +1,2 @@
1
+ <http://example.org#a> <http://example.org#b> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
2
+ <http://example.org#c> <http://example.org#d> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
@@ -0,0 +1,3 @@
1
+ @prefix : <http://example.org#> .
2
+ :a :b true .
3
+ :c :d false .
@@ -0,0 +1,7 @@
1
+ <http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
2
+ <http://example.org/#d> <http://example.org/#e> <http://example.org/#f> .
3
+ <http://example.org/#g> <http://example.org/#h> <http://example.org/#i> .
4
+ <http://example.org/#g> <http://example.org/#h> <http://example.org/#j> .
5
+ <http://example.org/#k> <http://example.org/#l> <http://example.org/#m> .
6
+ <http://example.org/#k> <http://example.org/#n> <http://example.org/#o> .
7
+ <http://example.org/#k> <http://example.org/#p> <http://example.org/#q> .
@@ -0,0 +1,14 @@
1
+ # comment test
2
+ @prefix : <http://example.org/#> .
3
+ :a :b :c . # end of line comment
4
+ :d # ignore me
5
+ :e # and me
6
+ :f # and me
7
+ .
8
+ :g :h #ignore me
9
+ :i, # and me
10
+ :j . # and me
11
+
12
+ :k :l :m ; #ignore me
13
+ :n :o ; # and me
14
+ :p :q . # and me
@@ -0,0 +1 @@
1
+ <http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
@@ -0,0 +1,4 @@
1
+ # comment line with no final newline test
2
+ @prefix : <http://example.org/#> .
3
+ :a :b :c .
4
+ #foo
@@ -0,0 +1 @@
1
+ <http://example.org/bar#blah> <http://example.org/bar#blah> <http://example.org/bar#blah> .
@@ -0,0 +1,5 @@
1
+ @prefix foo: <http://example.org/foo#> .
2
+ @prefix foo: <http://example.org/bar#> .
3
+
4
+ foo:blah foo:blah foo:blah .
5
+
@@ -0,0 +1,6 @@
1
+ @base <http://www.w3.org/2001/sw/DataAccess/df1/tests/test-28.ttl> .
2
+ @prefix rdf: <../../../../../1999/02/22-rdf-syntax-ns#> .
3
+
4
+ <http://example.org/foo>
5
+ <http://example.org/bar> 2.345, 1, 1.0, 1., 1.000000000, 2.3, 2.234000005, 2.2340000005, 2.23400000005, 2.234000000005, 2.2340000000005, 2.23400000000005, 2.234000000000005, 2.2340000000000005, 2.23400000000000005, 2.234000000000000005, 2.2340000000000000005, 2.23400000000000000005, 2.234000000000000000005, 2.2340000000000000000005, 2.23400000000000000000005, 1.2345678901234567890123457890 .
6
+
@@ -0,0 +1,22 @@
1
+ <http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
2
+ <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
3
+ <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
4
+ <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
5
+ <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
6
+ <http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
7
+ <http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
8
+ <http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
9
+ <http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
10
+ <http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
11
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
12
+ <http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
13
+ <http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
14
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
15
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
16
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
17
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
18
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
19
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
20
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
21
+ <http://example.org/foo> <http://example.org/bar> "2.234"^^<http://www.w3.org/2001/XMLSchema#decimal> .
22
+ <http://example.org/foo> <http://example.org/bar> "1.2345678901234567"^^<http://www.w3.org/2001/XMLSchema#decimal> .
@@ -0,0 +1,22 @@
1
+ <http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
2
+ <http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
3
+ <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
4
+ <http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
5
+ <http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
6
+ <http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
7
+ <http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
8
+ <http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
9
+ <http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
10
+ <http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
11
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
12
+ <http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
13
+ <http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
14
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
15
+ <http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
16
+ <http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
17
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
18
+ <http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
19
+ <http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
20
+ <http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
21
+ <http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
22
+ <http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .
@@ -0,0 +1 @@
1
+ <http://example.org/node> <http://example.org/prop> <scheme:\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\n\u000B\u000C\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F !"#$%&'()*+,-./0123456789:/<=\u003E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F> .
@@ -0,0 +1 @@
1
+ <http://example.org/node> <http://example.org/prop> <scheme:\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\n\u000B\u000C\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F !"#$%&'()*+,-./0123456789:/<=\u003E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F> .
@@ -0,0 +1,5 @@
1
+ <http://www.w3.org/2001/sw/DataAccess/df1/tests/a1> <http://www.w3.org/2001/sw/DataAccess/df1/tests/b1> <http://www.w3.org/2001/sw/DataAccess/df1/tests/c1> .
2
+ <http://example.org/ns/a2> <http://example.org/ns/b2> <http://example.org/ns/c2> .
3
+ <http://example.org/ns/foo/a3> <http://example.org/ns/foo/b3> <http://example.org/ns/foo/c3> .
4
+ <http://example.org/ns/foo/bar#a4> <http://example.org/ns/foo/bar#b4> <http://example.org/ns/foo/bar#c4> .
5
+ <http://example.org/ns2#a5> <http://example.org/ns2#b5> <http://example.org/ns2#c5> .
@@ -0,0 +1,12 @@
1
+ # In-scope base URI is http://www.w3.org/2001/sw/DataAccess/df1/tests/ at this point
2
+ <a1> <b1> <c1> .
3
+ @base <http://example.org/ns/> .
4
+ # In-scope base URI is http://example.org/ns/ at this point
5
+ <a2> <http://example.org/ns/b2> <c2> .
6
+ @base <foo/> .
7
+ # In-scope base URI is http://example.org/ns/foo/ at this point
8
+ <a3> <b3> <c3> .
9
+ @prefix : <bar#> .
10
+ :a4 :b4 :c4 .
11
+ @prefix : <http://example.org/ns2#> .
12
+ :a5 :b5 :c5 .
@@ -0,0 +1,226 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+ include RdfContext
3
+
4
+ describe "Turtle Serializer" do
5
+ describe "simple tests" do
6
+ it "should use full URIs without base" do
7
+ input = %(<http://a/b> <http://a/c> <http://a/d> .)
8
+ serialize(input, nil, %r(^<http://a/b> <http://a/c> <http://a/d> \.$))
9
+ end
10
+
11
+ it "should use relative URIs with base" do
12
+ input = %(<http://a/b> <http://a/c> <http://a/d> .)
13
+ serialize(input, "http://a/",
14
+ %r(^@base <http://a/> \.$),
15
+ %r(^<b> <c> <d> \.$)
16
+ )
17
+ end
18
+
19
+ it "should use qname URIs with prefix" do
20
+ input = %(@prefix a: <http://a/> . <http://a/b> <http://a/c> <http://a/d> .)
21
+ serialize(input, nil,
22
+ %r(^@prefix a: <http://a/> \.$),
23
+ %r(^a:b a:c a:d \.$)
24
+ )
25
+ end
26
+
27
+ it "should use qname URIs with empty prefix" do
28
+ input = %(@prefix : <http://a/> . <http://a/b> <http://a/c> <http://a/d> .)
29
+ serialize(input, nil,
30
+ %r(^@prefix : <http://a/> \.$),
31
+ %r(^:b :c :d \.$)
32
+ )
33
+ end
34
+
35
+ it "should order properties" do
36
+ input = %(
37
+ @prefix : <http://a/> .
38
+ @prefix dc: <http://purl.org/dc/elements/1.1/> .
39
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
40
+ :b :c :d .
41
+ :b dc:title "title" .
42
+ :b a :class .
43
+ :b rdfs:label "label" .
44
+ )
45
+ serialize(input, nil,
46
+ %r(^:b a :class;$),
47
+ %r(^\s+rdfs:label "label"),
48
+ %r(^\s+dc:title \"title\"),
49
+ %r(^\s+:c :d)
50
+ )
51
+ end
52
+
53
+ it "should generate object list" do
54
+ input = %(@prefix : <http://a/> . :b :c :d, :e .)
55
+ serialize(input, nil,
56
+ %r(^@prefix : <http://a/> \.$),
57
+ %r(^:b :c :d,$),
58
+ %r(^\s+:e \.$)
59
+ )
60
+ end
61
+
62
+ it "should generate property list" do
63
+ input = %(@prefix : <http://a/> . :b :c :d; :e :f .)
64
+ serialize(input, nil,
65
+ %r(^@prefix : <http://a/> \.$),
66
+ %r(^:b :c :d;$),
67
+ %r(^\s+:e :f \.$)
68
+ )
69
+ end
70
+ end
71
+
72
+ describe "anons" do
73
+ it "should generate bare anon" do
74
+ input = %(@prefix : <http://a/> . [:a :b] .)
75
+ serialize(input, nil,
76
+ %r(^\s*\[ :a :b\] \.$)
77
+ )
78
+ end
79
+
80
+ it "should generate anon as subject" do
81
+ input = %(@prefix : <http://a/> . [:a :b] :c :d .)
82
+ serialize(input, nil,
83
+ %r(^\s*\[ :a :b;$),
84
+ %r(^\s+:c :d\] \.$)
85
+ )
86
+ end
87
+
88
+ it "should generate anon as object" do
89
+ input = %(@prefix : <http://a/> . :a :b [:c :d] .)
90
+ serialize(input, nil,
91
+ %r(^\s*\:a :b \[ :c :d\] \.$)
92
+ )
93
+ end
94
+ end
95
+
96
+ describe "lists" do
97
+ it "should generate bare list" do
98
+ input = %(@prefix : <http://a/> . (:a :b) .)
99
+ serialize(input, nil,
100
+ %r(^\(:a :b\) \.$)
101
+ )
102
+ end
103
+
104
+ it "should generate literal list" do
105
+ input = %(@prefix : <http://a/> . :a :b ( "apple" "banana" ) .)
106
+ serialize(input, nil,
107
+ %r(^:a :b \("apple" "banana"\) \.$)
108
+ )
109
+ end
110
+
111
+ it "should generate empty list" do
112
+ input = %(@prefix : <http://a/> . :a :b () .)
113
+ serialize(input, nil,
114
+ %r(^:a :b \(\) \.$)
115
+ )
116
+ end
117
+
118
+ it "should generate empty list(2)" do
119
+ input = %(@prefix : <http://a/> . :emptyList = () .)
120
+ serialize(input, nil,
121
+ %r(^:emptyList (<.*sameAs>|owl:sameAs) \(\) \.$)
122
+ )
123
+ end
124
+
125
+ it "should generate empty list as subject" do
126
+ input = %(@prefix : <http://a/> . () :a :b .)
127
+ serialize(input, nil,
128
+ %r(^\(\) :a :b \.$)
129
+ )
130
+ end
131
+
132
+ it "should generate list as subject" do
133
+ input = %(@prefix : <http://a/> . (:a) :b :c .)
134
+ serialize(input, nil,
135
+ %r(^\(:a\) :b :c \.$)
136
+ )
137
+ end
138
+
139
+ it "should generate list of empties" do
140
+ input = %(@prefix : <http://a/> . :listOf2Empties = (() ()) .)
141
+ serialize(input, nil,
142
+ %r(^:listOf2Empties (<.*sameAs>|owl:sameAs) \(\(\) \(\)\) \.$)
143
+ )
144
+ end
145
+
146
+ it "should generate list anon" do
147
+ input = %(@prefix : <http://a/> . :twoAnons = ([a :mother] [a :father]) .)
148
+ serialize(input, nil,
149
+ %r(^:twoAnons (<.*sameAs>|owl:sameAs) \(\[\s*a :mother\] \[\s*a :father\]\) \.$)
150
+ )
151
+ end
152
+
153
+ it "should generate owl:unionOf list" do
154
+ input = %(
155
+ @prefix : <http://a/> .
156
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
157
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
158
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
159
+ :a rdfs:domain [
160
+ a owl:Class;
161
+ owl:unionOf [
162
+ a owl:Class;
163
+ rdf:first :b;
164
+ rdf:rest [
165
+ a owl:Class;
166
+ rdf:first :c;
167
+ rdf:rest rdf:nil
168
+ ]
169
+ ]
170
+ ] .
171
+ )
172
+ serialize(input, nil,
173
+ %r(:a rdfs:domain \[\s*a owl:Class;\s+owl:unionOf\s+\(:b\s+:c\)\]\s*\.$)m
174
+ )
175
+ end
176
+ end
177
+
178
+ # W3C Turtle Test suite from http://www.w3.org/2000/10/swap/test/regression.n3
179
+ describe "w3c turtle tests" do
180
+ require 'rdf_helper'
181
+
182
+ def self.positive_tests
183
+ RdfHelper::TestCase.test_cases(TURTLE_TEST, TURTLE_DIR) rescue []
184
+ end
185
+
186
+ positive_tests.each do |t|
187
+ #puts t.inspect
188
+ #next unless t.name == "test-04"
189
+
190
+ specify "#{t.name}: " + (t.description || "#{t.inputDocument}") do
191
+ # Skip tests for very long files, too long
192
+ if %w(test-14 test-15 test-16 rdfq-results).include?(t.name)
193
+ pending("Skip very long input file")
194
+ elsif !defined?(::Encoding) && %w(test-18).include?(t.name)
195
+ pending("Not supported in Ruby 1.8")
196
+ elsif %w(test-29).include?(t.name)
197
+ pending("Silly test")
198
+ else
199
+ begin
200
+ t.run_test do |rdf_string, parser|
201
+ parser.parse(rdf_string, t.about.uri.to_s, :strict => true, :debug => [])
202
+ parser.graph.serialize(:format => :ttl, :base => t.about.uri.to_s)
203
+ t.compare = :none
204
+ end
205
+ #rescue #Spec::Expectations::ExpectationNotMetError => e
206
+ # pending() { raise }
207
+ end
208
+ end
209
+ end
210
+ end
211
+ end
212
+
213
+ # Serialize ntstr to a string and compare against regexps
214
+ def serialize(ntstr, base = nil, *regexps)
215
+ g = Graph.new
216
+ g.parse(ntstr, base)
217
+ result = g.serialize(:format => :ttl, :base => base)
218
+ puts result if $verbose
219
+
220
+ regexps.each do |re|
221
+ result.should =~ re
222
+ end
223
+
224
+ result
225
+ end
226
+ end