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,15 @@
1
+ #
2
+ # Copyright World Wide Web Consortium, (Massachusetts Institute of
3
+ # Technology, Institut National de Recherche en Informatique et en
4
+ # Automatique, Keio University).
5
+ #
6
+ # All Rights Reserved.
7
+ #
8
+ # Please see the full Copyright clause at
9
+ # <http://www.w3.org/Consortium/Legal/copyright-software.html>
10
+ #
11
+ # $Id: test013.nt,v 1.1 2002/03/08 12:21:41 dajobe Exp $
12
+ #
13
+ #####################################################################
14
+ <http://example.org/dir/file> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/type> .
15
+ <http://example.org/dir/file#foo> <http://example.org/value> <http://example.org/dir/relpath> .
@@ -0,0 +1,28 @@
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: With an xml:base with fragment the fragment is ignored.
14
+ Author: Jeremy Carroll (jjc@hpl.hp.com)
15
+
16
+ $Id: test013.rdf,v 1.1 2002/03/08 12:21:41 dajobe Exp $
17
+ -->
18
+
19
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
20
+ xmlns:eg="http://example.org/"
21
+ xml:base="http://example.org/dir/file#frag">
22
+
23
+ <eg:type rdf:about="" />
24
+ <rdf:Description rdf:ID="foo" >
25
+ <eg:value rdf:resource="relpath" />
26
+ </rdf:Description>
27
+
28
+ </rdf:RDF>
@@ -0,0 +1,15 @@
1
+ #
2
+ # Copyright World Wide Web Consortium, (Massachusetts Institute of
3
+ # Technology, Institut National de Recherche en Informatique et en
4
+ # Automatique, Keio University).
5
+ #
6
+ # All Rights Reserved.
7
+ #
8
+ # Please see the full Copyright clause at
9
+ # <http://www.w3.org/Consortium/Legal/copyright-software.html>
10
+ #
11
+ # $Id: test014.nt,v 1.2 2002/11/15 11:45:42 jgrant Exp $
12
+ #
13
+ #####################################################################
14
+ <http://example.org/dir/file#frag> <http://example.org/value> "v" .
15
+ <http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test014.rdf#frag> <http://example.org/value> "v" .
@@ -0,0 +1,28 @@
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: two identical rdf:ID's are allowed, as long as they
14
+ refer to different resources.
15
+ Author: Jeremy Carroll (jjc@hpl.hp.com)
16
+
17
+ $Id: test014.rdf,v 1.1 2002/03/08 12:21:41 dajobe Exp $
18
+ -->
19
+
20
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
21
+ xmlns:eg="http://example.org/"
22
+ >
23
+
24
+ <rdf:Description xml:base="http://example.org/dir/file"
25
+ rdf:ID="frag" eg:value="v" />
26
+ <rdf:Description rdf:ID="frag" eg:value="v" />
27
+
28
+ </rdf:RDF>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <!--
4
+ Copyright World Wide Web Consortium, (Massachusetts Institute of
5
+ Technology, European Research Consortium for Informatics and
6
+ Mathematics, 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: the typed literal in this file is well-formed.
14
+
15
+ Related issue:
16
+
17
+ http://www.w3.org/2001/sw/RDFCore/20030123-issues/#xmlsch-02
18
+
19
+ Author: Jeremy Carroll
20
+
21
+ $Id: test001.rdf,v 1.1 2003/05/12 20:07:01 jcarroll Exp $
22
+
23
+ -->
24
+
25
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
26
+ xmlns:eg="http://example.org/">
27
+
28
+
29
+ <rdf:Description rdf:about="http://www.example.org/a">
30
+ <eg:prop rdf:datatype="http://www.w3.org/2001/XMLSchema#int">3</eg:prop>
31
+ </rdf:Description>
32
+
33
+ </rdf:RDF>
34
+
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <!--
4
+ Copyright World Wide Web Consortium, (Massachusetts Institute of
5
+ Technology, European Research Consortium for Informatics and
6
+ Mathematics, 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: the typed literal in this file is not well-formed.
14
+
15
+ Related issue:
16
+
17
+ http://www.w3.org/2001/sw/RDFCore/20030123-issues/#xmlsch-02
18
+
19
+ Author: Jeremy Carroll
20
+
21
+ $Id: test002.rdf,v 1.3 2003/05/12 20:12:03 jcarroll Exp $
22
+
23
+ -->
24
+
25
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
26
+ xmlns:eg="http://example.org/">
27
+
28
+
29
+ <rdf:Description rdf:about="http://www.example.org/a">
30
+ <eg:prop rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 3 </eg:prop>
31
+ </rdf:Description>
32
+
33
+ </rdf:RDF>
34
+
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <!--
4
+ Copyright World Wide Web Consortium, (Massachusetts Institute of
5
+ Technology, European Research Consortium for Informatics and
6
+ Mathematics, 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: eg:prop has a literal value.
14
+
15
+ Related issue:
16
+
17
+ http://www.w3.org/2001/sw/RDFCore/20030123-issues/#xmlsch-02
18
+
19
+ Author: Jeremy Carroll
20
+
21
+ $Id: test003.rdf,v 1.1 2003/05/12 20:07:01 jcarroll Exp $
22
+
23
+ -->
24
+
25
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
26
+ xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
27
+ xmlns:eg="http://example.org/">
28
+
29
+
30
+ <rdf:Description rdf:about="http://www.example.org/a">
31
+ <eg:prop>
32
+ <rdfs:Literal/>
33
+ </eg:prop>
34
+ </rdf:Description>
35
+
36
+ </rdf:RDF>
37
+
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,11 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $:.unshift File.dirname(__FILE__)
3
+
4
+ require 'rubygems'
5
+ require 'spec'
6
+ require 'rdf/n3'
7
+ require 'rdf/spec'
8
+
9
+ Spec::Runner.configure do |config|
10
+ config.include(RDF::Spec::Matchers)
11
+ end
@@ -0,0 +1,136 @@
1
+ require 'matchers'
2
+
3
+ module SWAPHelper
4
+ # Class representing test cases in format http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#
5
+ class TestCase
6
+ include Matchers
7
+
8
+ TEST_DIR = File.join(File.dirname(__FILE__), 'swap_test')
9
+
10
+ attr_accessor :about
11
+ attr_accessor :approval
12
+ attr_accessor :conclusionDocument
13
+ attr_accessor :data
14
+ attr_accessor :description
15
+ attr_accessor :discussion
16
+ attr_accessor :document
17
+ attr_accessor :entailmentRules
18
+ attr_accessor :inputDocument
19
+ attr_accessor :issue
20
+ attr_accessor :name
21
+ attr_accessor :outputDocument
22
+ attr_accessor :premiseDocument
23
+ attr_accessor :rdf_type
24
+ attr_accessor :status
25
+ attr_accessor :warning
26
+ attr_accessor :parser
27
+
28
+ @@test_cases = []
29
+
30
+ def initialize(triples)
31
+ triples.each do |statement|
32
+ next if statement.subject.is_a?(BNode)
33
+ # self.about ||= statement.subject
34
+ # self.name ||= statement.subject.short_name
35
+
36
+ if statement.is_type?
37
+ self.rdf_type = statement.object.short_name
38
+ elsif statement.predicate.short_name =~ /Document\Z/i
39
+ #puts "#{statement.predicate.short_name}: #{statement.object.inspect}"
40
+ self.send("#{statement.predicate.short_name}=", statement.object.to_s.sub(/^.*swap\/test/, TEST_DIR))
41
+ if statement.predicate.short_name == "inputDocument"
42
+ self.about ||= statement.object
43
+ self.name ||= statement.object.short_name
44
+ end
45
+ elsif self.respond_to?("#{statement.predicate.short_name}=")
46
+ self.send("#{statement.predicate.short_name}=", statement.object.to_s)
47
+ end
48
+ end
49
+ end
50
+
51
+ def inspect
52
+ "[Test Case " + %w(
53
+ about
54
+ name
55
+ inputDocument
56
+ outputDocument
57
+ issue
58
+ status
59
+ approval
60
+ description
61
+ discussion
62
+ issue
63
+ warning
64
+ ).map {|a| v = self.send(a); "#{a}='#{v}'" if v}.compact.join(", ") +
65
+ "]"
66
+ end
67
+
68
+ def compare; :graph; end
69
+
70
+ # Read in file, and apply modifications reference either .html or .xhtml
71
+ def input
72
+ File.read(inputDocument)
73
+ end
74
+
75
+ def output
76
+ outputDocument && File.read(outputDocument)
77
+ end
78
+
79
+ # Run test case, yields input for parser to create triples
80
+ def run_test
81
+ rdf_string = input
82
+
83
+ # Run
84
+ @parser = RdfXmlParser.new
85
+ yield(rdf_string, @parser)
86
+
87
+ @parser.graph.should be_equivalent_graph(output, self) if output
88
+ end
89
+
90
+ def trace
91
+ @parser.debug.to_a.join("\n")
92
+ end
93
+
94
+ def self.parse_test_cases
95
+ return unless @@test_cases.empty?
96
+
97
+ @@positive_parser_tests = []
98
+ @@negative_parser_tests = []
99
+ @@positive_entailment_tests = []
100
+ @@negative_entailment_tests = []
101
+
102
+ manifest = File.read(File.join(TEST_DIR, "n3parser.tests"))
103
+ parser = Parser.new
104
+ begin
105
+ parser.parse(manifest, "http://www.w3.org/2000/10/swap/test/n3parser.tests")
106
+ rescue
107
+ raise "Parse error: #{$!}\n\t#{parser.debug.join("\t\n")}\n\n"
108
+ end
109
+ graph = parser.graph
110
+
111
+ # Group by subject
112
+ test_hash = graph.triples.inject({}) do |hash, st|
113
+ a = hash[st.subject] ||= []
114
+ a << st
115
+ hash
116
+ end
117
+
118
+ @@test_cases = test_hash.values.map {|statements| TestCase.new(statements)}.compact.sort_by{|t| t.about.is_a?(URIRef) ? t.about.uri.to_s : "zzz"}
119
+
120
+ @@test_cases.each do |tc|
121
+ next unless tc.status == "APPROVED"
122
+ case tc.rdf_type
123
+ when "PositiveParserTest" then @@positive_parser_tests << tc
124
+ when "NegativeParserTest" then @@negative_parser_tests << tc
125
+ when "PositiveEntailmentTest" then @@positive_entailment_tests << tc
126
+ when "NegativeEntailmentTest" then @@negative_entailment_tests << tc
127
+ end
128
+ end
129
+ end
130
+ def self.test_cases; parse_test_cases; @@test_cases; end
131
+ def self.positive_parser_tests; parse_test_cases; @@positive_parser_tests; end
132
+ def self.negative_parser_tests; parse_test_cases; @@negative_parser_tests; end
133
+ def self.positive_entailment_tests; parse_test_cases; @@positive_entailment_tests; end
134
+ def self.negative_entailment_tests; parse_test_cases; @@negative_entailment_tests; end
135
+ end
136
+ end
data/spec/swap_spec.rb ADDED
@@ -0,0 +1,77 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+ include RdfContext
3
+
4
+ describe "N3 parser" do
5
+ # W3C N3 Test suite from http://www.w3.org/2000/10/swap/test/n3parser.tests
6
+ describe "w3c swap tests" do
7
+ require 'rdf_helper'
8
+
9
+ def self.positive_tests
10
+ RdfHelper::TestCase.positive_parser_tests(SWAP_TEST, SWAP_DIR) rescue []
11
+ end
12
+
13
+ def self.negative_tests
14
+ RdfHelper::TestCase.negative_parser_tests(SWAP_TEST, SWAP_DIR) rescue []
15
+ end
16
+
17
+ # Negative parser tests should raise errors.
18
+ describe "positive parser tests" do
19
+ positive_tests.each do |t|
20
+ #next unless t.about.uri.to_s =~ /rdfms-rdf-names-use/
21
+ #next unless t.name =~ /11/
22
+ #puts t.inspect
23
+ specify "#{t.name}: #{t.about.uri.to_s} against #{t.outputDocument}" do
24
+ begin
25
+ t.run_test do |rdf_string, parser|
26
+ t.name.should_not == "n3_10012" # Too many bnodes makes graph compare unfeasable
27
+ parser.parse(rdf_string, t.about.uri.to_s, :strict => true, :debug => [])
28
+ end
29
+ rescue #Spec::Expectations::ExpectationNotMetError => e
30
+ if %w(n3_10003 n3_10004).include?(t.name)
31
+ pending("@forAll/@forEach not yet implemented")
32
+ elsif %w(n3_10007 n3_10014 n3_10015 n3_10017).include?(t.name)
33
+ pending("formulae not yet implemented")
34
+ elsif %w(n3_10012).include?(t.name)
35
+ pending("check visually, graph compare times too long")
36
+ elsif %w(n3_10010).include?(t.name)
37
+ pending("Not supported in Ruby 1.8")
38
+ else
39
+ raise
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ describe "negative parser tests" do
47
+ negative_tests.each do |t|
48
+ #next unless t.about.uri.to_s =~ /rdfms-empty-property-elements/
49
+ #next unless t.name =~ /1/
50
+ #puts t.inspect
51
+ specify "#{t.name}: #{t.about.uri.to_s}" do
52
+ t.run_test do |rdf_string, parser|
53
+ if !defined?(::Encoding) && %w(n3_10019 n3_10020).include?(t.name)
54
+ pending("Not supported in Ruby 1.8")
55
+ return
56
+ end
57
+ begin
58
+ lambda do
59
+ parser.parse(rdf_string, t.about.uri.to_s, :strict => true, :debug => [])
60
+ end.should raise_error(RdfException)
61
+ rescue Spec::Expectations::ExpectationNotMetError => e
62
+ if %w().include?(t.name)
63
+ pending("@forAll/@forEach not yet implemented")
64
+ elsif %w(n3_10019 n3_10020 n3_20005).include?(t.name.to_s)
65
+ pending("formulae not yet implemented")
66
+ elsif %w(n3_20000).include?(t.name)
67
+ pending("figure out how to tell that these are errors")
68
+ else
69
+ raise
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
Binary file
@@ -0,0 +1,17 @@
1
+ <!-- A simple RDF file for parser testing -->
2
+ <rdf:RDF
3
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
4
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
5
+ xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
6
+ xmlns="http://www.daml.org/2000/12/daml+oil#">
7
+ <rdfs:Class rdf:ID="Animal">
8
+ <rdfs:label>Animal</rdfs:label>
9
+ <restrictedBy>
10
+ <Restriction>
11
+ <onProperty rdf:resource="#parent"/>
12
+ <cardinality>2</cardinality>
13
+ </Restriction>
14
+ </restrictedBy>
15
+ </rdfs:Class>
16
+ </rdf:RDF>
17
+