rdf-rdfxml 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) hide show
  1. data/.gitignore +2 -0
  2. data/.yardopts +2 -1
  3. data/CONTRIBUTORS +1 -0
  4. data/History.txt +7 -0
  5. data/README.rdoc +19 -2
  6. data/Rakefile +14 -0
  7. data/VERSION +1 -1
  8. data/example.rb +0 -1
  9. data/lib/rdf/rdfxml.rb +14 -6
  10. data/lib/rdf/rdfxml/format.rb +6 -5
  11. data/lib/rdf/rdfxml/patches/array_hacks.rb +53 -0
  12. data/lib/rdf/rdfxml/patches/nokogiri_hacks.rb +8 -0
  13. data/lib/rdf/rdfxml/patches/rdf_escape.rb +131 -0
  14. data/lib/rdf/rdfxml/reader.rb +90 -57
  15. data/lib/rdf/rdfxml/version.rb +1 -1
  16. data/lib/rdf/rdfxml/vocab.rb +3 -0
  17. data/lib/rdf/rdfxml/writer.rb +399 -0
  18. data/rdf-rdfxml.gemspec +448 -0
  19. data/script/console +10 -0
  20. data/spec/format_spec.rb +22 -0
  21. data/spec/matchers.rb +121 -0
  22. data/spec/rdf_helper.rb +176 -0
  23. data/spec/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.nt +24 -0
  24. data/spec/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.rdf +46 -0
  25. data/spec/rdf_tests/tm_001.nt +1 -0
  26. data/spec/rdf_tests/tm_001.rdf +7 -0
  27. data/spec/rdf_tests/xml-literal-mixed.nt +6 -0
  28. data/spec/rdf_tests/xml-literal-mixed.rdf +15 -0
  29. data/spec/rdfcore/Manifest.rdf +5395 -0
  30. data/spec/rdfcore/Manifest.yml +1970 -0
  31. data/spec/rdfcore/amp-in-url/test001.nt +16 -0
  32. data/spec/rdfcore/amp-in-url/test001.rdf +40 -0
  33. data/spec/rdfcore/datatypes-intensional/test001.nt +18 -0
  34. data/spec/rdfcore/datatypes-intensional/test002.nt +18 -0
  35. data/spec/rdfcore/datatypes/test001.nt +15 -0
  36. data/spec/rdfcore/datatypes/test001.rdf +29 -0
  37. data/spec/rdfcore/datatypes/test002.nt +14 -0
  38. data/spec/rdfcore/datatypes/test002.rdf +27 -0
  39. data/spec/rdfcore/datatypes/test002b.nt +17 -0
  40. data/spec/rdfcore/datatypes/test003a.nt +16 -0
  41. data/spec/rdfcore/datatypes/test003b.nt +16 -0
  42. data/spec/rdfcore/datatypes/test005a.nt +16 -0
  43. data/spec/rdfcore/datatypes/test005b.nt +16 -0
  44. data/spec/rdfcore/datatypes/test006.nt +17 -0
  45. data/spec/rdfcore/datatypes/test008a.nt +15 -0
  46. data/spec/rdfcore/datatypes/test008b.nt +15 -0
  47. data/spec/rdfcore/datatypes/test009a.nt +15 -0
  48. data/spec/rdfcore/datatypes/test009b.nt +15 -0
  49. data/spec/rdfcore/datatypes/test010.nt +17 -0
  50. data/spec/rdfcore/datatypes/test011a.nt +17 -0
  51. data/spec/rdfcore/datatypes/test011b.nt +17 -0
  52. data/spec/rdfcore/horst-01/test001.rdf +38 -0
  53. data/spec/rdfcore/horst-01/test002.rdf +39 -0
  54. data/spec/rdfcore/horst-01/test003.rdf +40 -0
  55. data/spec/rdfcore/horst-01/test004.rdf +42 -0
  56. data/spec/rdfcore/pfps-10/test001a.nt +14 -0
  57. data/spec/rdfcore/pfps-10/test001b.nt +15 -0
  58. data/spec/rdfcore/rdf-charmod-literals/test001.nt +15 -0
  59. data/spec/rdfcore/rdf-charmod-literals/test001.rdf +34 -0
  60. data/spec/rdfcore/rdf-charmod-uris/test001.nt +14 -0
  61. data/spec/rdfcore/rdf-charmod-uris/test001.rdf +34 -0
  62. data/spec/rdfcore/rdf-charmod-uris/test002.nt +15 -0
  63. data/spec/rdfcore/rdf-charmod-uris/test002.rdf +33 -0
  64. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error001.rdf +27 -0
  65. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error002.rdf +34 -0
  66. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.nt +17 -0
  67. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.rdf +27 -0
  68. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.nt +19 -0
  69. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.rdf +37 -0
  70. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.nt +18 -0
  71. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.rdf +29 -0
  72. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.nt +29 -0
  73. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.rdf +33 -0
  74. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.nt +40 -0
  75. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.rdf +28 -0
  76. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.nt +20 -0
  77. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.rdf +32 -0
  78. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.nt +15 -0
  79. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.rdf +28 -0
  80. data/spec/rdfcore/rdf-element-not-mandatory/test001.nt +10 -0
  81. data/spec/rdfcore/rdf-element-not-mandatory/test001.rdf +14 -0
  82. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.nt +14 -0
  83. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.rdf +35 -0
  84. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.nt +14 -0
  85. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.rdf +35 -0
  86. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.nt +14 -0
  87. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.rdf +34 -0
  88. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.nt +15 -0
  89. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.rdf +40 -0
  90. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.nt +14 -0
  91. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.rdf +32 -0
  92. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.nt +14 -0
  93. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.rdf +32 -0
  94. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.nt +14 -0
  95. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.rdf +38 -0
  96. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.nt +15 -0
  97. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.rdf +40 -0
  98. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.nt +15 -0
  99. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.rdf +40 -0
  100. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.nt +15 -0
  101. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.rdf +40 -0
  102. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.nt +15 -0
  103. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.rdf +42 -0
  104. data/spec/rdfcore/rdfms-abouteach/error001.rdf +35 -0
  105. data/spec/rdfcore/rdfms-abouteach/error002.rdf +35 -0
  106. data/spec/rdfcore/rdfms-difference-between-ID-and-about/error1.rdf +25 -0
  107. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.nt +14 -0
  108. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.rdf +22 -0
  109. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.nt +14 -0
  110. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.rdf +22 -0
  111. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.nt +14 -0
  112. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.rdf +22 -0
  113. data/spec/rdfcore/rdfms-duplicate-member-props/test001.nt +17 -0
  114. data/spec/rdfcore/rdfms-duplicate-member-props/test001.rdf +30 -0
  115. data/spec/rdfcore/rdfms-empty-property-elements/error001.rdf +33 -0
  116. data/spec/rdfcore/rdfms-empty-property-elements/error002.rdf +33 -0
  117. data/spec/rdfcore/rdfms-empty-property-elements/error003.rdf +39 -0
  118. data/spec/rdfcore/rdfms-empty-property-elements/test001.nt +14 -0
  119. data/spec/rdfcore/rdfms-empty-property-elements/test001.rdf +33 -0
  120. data/spec/rdfcore/rdfms-empty-property-elements/test002.nt +14 -0
  121. data/spec/rdfcore/rdfms-empty-property-elements/test002.rdf +31 -0
  122. data/spec/rdfcore/rdfms-empty-property-elements/test003.nt +14 -0
  123. data/spec/rdfcore/rdfms-empty-property-elements/test003.rdf +32 -0
  124. data/spec/rdfcore/rdfms-empty-property-elements/test004.nt +14 -0
  125. data/spec/rdfcore/rdfms-empty-property-elements/test004.rdf +32 -0
  126. data/spec/rdfcore/rdfms-empty-property-elements/test005.nt +18 -0
  127. data/spec/rdfcore/rdfms-empty-property-elements/test005.rdf +32 -0
  128. data/spec/rdfcore/rdfms-empty-property-elements/test006.nt +18 -0
  129. data/spec/rdfcore/rdfms-empty-property-elements/test006.rdf +32 -0
  130. data/spec/rdfcore/rdfms-empty-property-elements/test007.nt +14 -0
  131. data/spec/rdfcore/rdfms-empty-property-elements/test007.rdf +32 -0
  132. data/spec/rdfcore/rdfms-empty-property-elements/test008.nt +14 -0
  133. data/spec/rdfcore/rdfms-empty-property-elements/test008.rdf +31 -0
  134. data/spec/rdfcore/rdfms-empty-property-elements/test009.nt +14 -0
  135. data/spec/rdfcore/rdfms-empty-property-elements/test009.rdf +32 -0
  136. data/spec/rdfcore/rdfms-empty-property-elements/test010.nt +14 -0
  137. data/spec/rdfcore/rdfms-empty-property-elements/test010.rdf +31 -0
  138. data/spec/rdfcore/rdfms-empty-property-elements/test011.nt +18 -0
  139. data/spec/rdfcore/rdfms-empty-property-elements/test011.rdf +30 -0
  140. data/spec/rdfcore/rdfms-empty-property-elements/test012.nt +18 -0
  141. data/spec/rdfcore/rdfms-empty-property-elements/test012.rdf +30 -0
  142. data/spec/rdfcore/rdfms-empty-property-elements/test013.nt +15 -0
  143. data/spec/rdfcore/rdfms-empty-property-elements/test013.rdf +35 -0
  144. data/spec/rdfcore/rdfms-empty-property-elements/test014.nt +15 -0
  145. data/spec/rdfcore/rdfms-empty-property-elements/test014.rdf +34 -0
  146. data/spec/rdfcore/rdfms-empty-property-elements/test015.nt +15 -0
  147. data/spec/rdfcore/rdfms-empty-property-elements/test015.rdf +38 -0
  148. data/spec/rdfcore/rdfms-empty-property-elements/test016.nt +14 -0
  149. data/spec/rdfcore/rdfms-empty-property-elements/test016.rdf +31 -0
  150. data/spec/rdfcore/rdfms-empty-property-elements/test017.nt +14 -0
  151. data/spec/rdfcore/rdfms-empty-property-elements/test017.rdf +38 -0
  152. data/spec/rdfcore/rdfms-identity-anon-resources/test001.nt +14 -0
  153. data/spec/rdfcore/rdfms-identity-anon-resources/test001.rdf +33 -0
  154. data/spec/rdfcore/rdfms-identity-anon-resources/test002.nt +15 -0
  155. data/spec/rdfcore/rdfms-identity-anon-resources/test002.rdf +33 -0
  156. data/spec/rdfcore/rdfms-identity-anon-resources/test003.nt +14 -0
  157. data/spec/rdfcore/rdfms-identity-anon-resources/test003.rdf +31 -0
  158. data/spec/rdfcore/rdfms-identity-anon-resources/test004.nt +15 -0
  159. data/spec/rdfcore/rdfms-identity-anon-resources/test004.rdf +33 -0
  160. data/spec/rdfcore/rdfms-identity-anon-resources/test005.nt +14 -0
  161. data/spec/rdfcore/rdfms-identity-anon-resources/test005.rdf +31 -0
  162. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.nt +19 -0
  163. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.rdf +29 -0
  164. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.nt +15 -0
  165. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.rdf +29 -0
  166. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.nt +18 -0
  167. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.rdf +29 -0
  168. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.nt +19 -0
  169. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.rdf +29 -0
  170. data/spec/rdfcore/rdfms-para196/test001.nt +17 -0
  171. data/spec/rdfcore/rdfms-para196/test001.rdf +35 -0
  172. data/spec/rdfcore/rdfms-rdf-id/error001.rdf +26 -0
  173. data/spec/rdfcore/rdfms-rdf-id/error002.rdf +26 -0
  174. data/spec/rdfcore/rdfms-rdf-id/error003.rdf +29 -0
  175. data/spec/rdfcore/rdfms-rdf-id/error004.rdf +27 -0
  176. data/spec/rdfcore/rdfms-rdf-id/error005.rdf +31 -0
  177. data/spec/rdfcore/rdfms-rdf-id/error006.rdf +26 -0
  178. data/spec/rdfcore/rdfms-rdf-id/error007.rdf +29 -0
  179. data/spec/rdfcore/rdfms-rdf-names-use/error-001.rdf +23 -0
  180. data/spec/rdfcore/rdfms-rdf-names-use/error-002.rdf +23 -0
  181. data/spec/rdfcore/rdfms-rdf-names-use/error-003.rdf +23 -0
  182. data/spec/rdfcore/rdfms-rdf-names-use/error-004.rdf +23 -0
  183. data/spec/rdfcore/rdfms-rdf-names-use/error-005.rdf +23 -0
  184. data/spec/rdfcore/rdfms-rdf-names-use/error-006.rdf +23 -0
  185. data/spec/rdfcore/rdfms-rdf-names-use/error-007.rdf +23 -0
  186. data/spec/rdfcore/rdfms-rdf-names-use/error-008.rdf +23 -0
  187. data/spec/rdfcore/rdfms-rdf-names-use/error-009.rdf +23 -0
  188. data/spec/rdfcore/rdfms-rdf-names-use/error-010.rdf +23 -0
  189. data/spec/rdfcore/rdfms-rdf-names-use/error-011.rdf +25 -0
  190. data/spec/rdfcore/rdfms-rdf-names-use/error-012.rdf +25 -0
  191. data/spec/rdfcore/rdfms-rdf-names-use/error-013.rdf +25 -0
  192. data/spec/rdfcore/rdfms-rdf-names-use/error-014.rdf +25 -0
  193. data/spec/rdfcore/rdfms-rdf-names-use/error-015.rdf +25 -0
  194. data/spec/rdfcore/rdfms-rdf-names-use/error-016.rdf +25 -0
  195. data/spec/rdfcore/rdfms-rdf-names-use/error-017.rdf +25 -0
  196. data/spec/rdfcore/rdfms-rdf-names-use/error-018.rdf +25 -0
  197. data/spec/rdfcore/rdfms-rdf-names-use/error-019.rdf +25 -0
  198. data/spec/rdfcore/rdfms-rdf-names-use/error-020.rdf +25 -0
  199. data/spec/rdfcore/rdfms-rdf-names-use/test-001.nt +1 -0
  200. data/spec/rdfcore/rdfms-rdf-names-use/test-001.rdf +23 -0
  201. data/spec/rdfcore/rdfms-rdf-names-use/test-002.nt +1 -0
  202. data/spec/rdfcore/rdfms-rdf-names-use/test-002.rdf +23 -0
  203. data/spec/rdfcore/rdfms-rdf-names-use/test-003.nt +1 -0
  204. data/spec/rdfcore/rdfms-rdf-names-use/test-003.rdf +23 -0
  205. data/spec/rdfcore/rdfms-rdf-names-use/test-004.nt +1 -0
  206. data/spec/rdfcore/rdfms-rdf-names-use/test-004.rdf +23 -0
  207. data/spec/rdfcore/rdfms-rdf-names-use/test-005.nt +1 -0
  208. data/spec/rdfcore/rdfms-rdf-names-use/test-005.rdf +23 -0
  209. data/spec/rdfcore/rdfms-rdf-names-use/test-006.nt +1 -0
  210. data/spec/rdfcore/rdfms-rdf-names-use/test-006.rdf +23 -0
  211. data/spec/rdfcore/rdfms-rdf-names-use/test-007.nt +1 -0
  212. data/spec/rdfcore/rdfms-rdf-names-use/test-007.rdf +23 -0
  213. data/spec/rdfcore/rdfms-rdf-names-use/test-008.nt +1 -0
  214. data/spec/rdfcore/rdfms-rdf-names-use/test-008.rdf +23 -0
  215. data/spec/rdfcore/rdfms-rdf-names-use/test-009.nt +1 -0
  216. data/spec/rdfcore/rdfms-rdf-names-use/test-009.rdf +23 -0
  217. data/spec/rdfcore/rdfms-rdf-names-use/test-010.nt +1 -0
  218. data/spec/rdfcore/rdfms-rdf-names-use/test-010.rdf +23 -0
  219. data/spec/rdfcore/rdfms-rdf-names-use/test-011.nt +1 -0
  220. data/spec/rdfcore/rdfms-rdf-names-use/test-011.rdf +23 -0
  221. data/spec/rdfcore/rdfms-rdf-names-use/test-012.nt +1 -0
  222. data/spec/rdfcore/rdfms-rdf-names-use/test-012.rdf +23 -0
  223. data/spec/rdfcore/rdfms-rdf-names-use/test-013.nt +1 -0
  224. data/spec/rdfcore/rdfms-rdf-names-use/test-013.rdf +23 -0
  225. data/spec/rdfcore/rdfms-rdf-names-use/test-014.nt +1 -0
  226. data/spec/rdfcore/rdfms-rdf-names-use/test-014.rdf +23 -0
  227. data/spec/rdfcore/rdfms-rdf-names-use/test-015.nt +1 -0
  228. data/spec/rdfcore/rdfms-rdf-names-use/test-015.rdf +23 -0
  229. data/spec/rdfcore/rdfms-rdf-names-use/test-016.nt +1 -0
  230. data/spec/rdfcore/rdfms-rdf-names-use/test-016.rdf +23 -0
  231. data/spec/rdfcore/rdfms-rdf-names-use/test-017.nt +1 -0
  232. data/spec/rdfcore/rdfms-rdf-names-use/test-017.rdf +25 -0
  233. data/spec/rdfcore/rdfms-rdf-names-use/test-018.nt +1 -0
  234. data/spec/rdfcore/rdfms-rdf-names-use/test-018.rdf +25 -0
  235. data/spec/rdfcore/rdfms-rdf-names-use/test-019.nt +1 -0
  236. data/spec/rdfcore/rdfms-rdf-names-use/test-019.rdf +25 -0
  237. data/spec/rdfcore/rdfms-rdf-names-use/test-020.nt +1 -0
  238. data/spec/rdfcore/rdfms-rdf-names-use/test-020.rdf +25 -0
  239. data/spec/rdfcore/rdfms-rdf-names-use/test-021.nt +1 -0
  240. data/spec/rdfcore/rdfms-rdf-names-use/test-021.rdf +25 -0
  241. data/spec/rdfcore/rdfms-rdf-names-use/test-022.nt +1 -0
  242. data/spec/rdfcore/rdfms-rdf-names-use/test-022.rdf +25 -0
  243. data/spec/rdfcore/rdfms-rdf-names-use/test-023.nt +1 -0
  244. data/spec/rdfcore/rdfms-rdf-names-use/test-023.rdf +25 -0
  245. data/spec/rdfcore/rdfms-rdf-names-use/test-024.nt +1 -0
  246. data/spec/rdfcore/rdfms-rdf-names-use/test-024.rdf +25 -0
  247. data/spec/rdfcore/rdfms-rdf-names-use/test-025.nt +1 -0
  248. data/spec/rdfcore/rdfms-rdf-names-use/test-025.rdf +25 -0
  249. data/spec/rdfcore/rdfms-rdf-names-use/test-026.nt +1 -0
  250. data/spec/rdfcore/rdfms-rdf-names-use/test-026.rdf +25 -0
  251. data/spec/rdfcore/rdfms-rdf-names-use/test-027.nt +1 -0
  252. data/spec/rdfcore/rdfms-rdf-names-use/test-027.rdf +25 -0
  253. data/spec/rdfcore/rdfms-rdf-names-use/test-028.nt +1 -0
  254. data/spec/rdfcore/rdfms-rdf-names-use/test-028.rdf +25 -0
  255. data/spec/rdfcore/rdfms-rdf-names-use/test-029.nt +1 -0
  256. data/spec/rdfcore/rdfms-rdf-names-use/test-029.rdf +25 -0
  257. data/spec/rdfcore/rdfms-rdf-names-use/test-030.nt +1 -0
  258. data/spec/rdfcore/rdfms-rdf-names-use/test-030.rdf +25 -0
  259. data/spec/rdfcore/rdfms-rdf-names-use/test-031.nt +1 -0
  260. data/spec/rdfcore/rdfms-rdf-names-use/test-031.rdf +25 -0
  261. data/spec/rdfcore/rdfms-rdf-names-use/test-032.nt +1 -0
  262. data/spec/rdfcore/rdfms-rdf-names-use/test-032.rdf +24 -0
  263. data/spec/rdfcore/rdfms-rdf-names-use/test-033.nt +1 -0
  264. data/spec/rdfcore/rdfms-rdf-names-use/test-033.rdf +24 -0
  265. data/spec/rdfcore/rdfms-rdf-names-use/test-034.nt +1 -0
  266. data/spec/rdfcore/rdfms-rdf-names-use/test-034.rdf +24 -0
  267. data/spec/rdfcore/rdfms-rdf-names-use/test-035.nt +1 -0
  268. data/spec/rdfcore/rdfms-rdf-names-use/test-035.rdf +24 -0
  269. data/spec/rdfcore/rdfms-rdf-names-use/test-036.nt +1 -0
  270. data/spec/rdfcore/rdfms-rdf-names-use/test-036.rdf +24 -0
  271. data/spec/rdfcore/rdfms-rdf-names-use/test-037.nt +1 -0
  272. data/spec/rdfcore/rdfms-rdf-names-use/test-037.rdf +24 -0
  273. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.nt +1 -0
  274. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.rdf +23 -0
  275. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.nt +1 -0
  276. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.rdf +25 -0
  277. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.nt +1 -0
  278. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.rdf +24 -0
  279. data/spec/rdfcore/rdfms-reification-required/test001.nt +15 -0
  280. data/spec/rdfcore/rdfms-reification-required/test001.rdf +29 -0
  281. data/spec/rdfcore/rdfms-seq-representation/empty.nt +13 -0
  282. data/spec/rdfcore/rdfms-seq-representation/test001.nt +19 -0
  283. data/spec/rdfcore/rdfms-seq-representation/test001.rdf +33 -0
  284. data/spec/rdfcore/rdfms-seq-representation/test002.nt +14 -0
  285. data/spec/rdfcore/rdfms-seq-representation/test003a.nt +14 -0
  286. data/spec/rdfcore/rdfms-seq-representation/test003b.nt +14 -0
  287. data/spec/rdfcore/rdfms-seq-representation/test004.nt +14 -0
  288. data/spec/rdfcore/rdfms-syntax-incomplete/error001.rdf +26 -0
  289. data/spec/rdfcore/rdfms-syntax-incomplete/error002.rdf +26 -0
  290. data/spec/rdfcore/rdfms-syntax-incomplete/error003.rdf +29 -0
  291. data/spec/rdfcore/rdfms-syntax-incomplete/error004.rdf +25 -0
  292. data/spec/rdfcore/rdfms-syntax-incomplete/error005.rdf +25 -0
  293. data/spec/rdfcore/rdfms-syntax-incomplete/error006.rdf +28 -0
  294. data/spec/rdfcore/rdfms-syntax-incomplete/test001.nt +14 -0
  295. data/spec/rdfcore/rdfms-syntax-incomplete/test001.rdf +28 -0
  296. data/spec/rdfcore/rdfms-syntax-incomplete/test002.nt +19 -0
  297. data/spec/rdfcore/rdfms-syntax-incomplete/test002.rdf +38 -0
  298. data/spec/rdfcore/rdfms-syntax-incomplete/test003.nt +17 -0
  299. data/spec/rdfcore/rdfms-syntax-incomplete/test003.rdf +28 -0
  300. data/spec/rdfcore/rdfms-syntax-incomplete/test004.nt +21 -0
  301. data/spec/rdfcore/rdfms-syntax-incomplete/test004.rdf +36 -0
  302. data/spec/rdfcore/rdfms-uri-substructure/error001.nt +18 -0
  303. data/spec/rdfcore/rdfms-uri-substructure/test001.nt +17 -0
  304. data/spec/rdfcore/rdfms-uri-substructure/test001.rdf +29 -0
  305. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.nt +13 -0
  306. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.rdf +33 -0
  307. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.nt +14 -0
  308. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.rdf +47 -0
  309. data/spec/rdfcore/rdfms-xmllang/test001.nt +14 -0
  310. data/spec/rdfcore/rdfms-xmllang/test001.rdf +30 -0
  311. data/spec/rdfcore/rdfms-xmllang/test002.nt +14 -0
  312. data/spec/rdfcore/rdfms-xmllang/test002.rdf +29 -0
  313. data/spec/rdfcore/rdfms-xmllang/test003.nt +14 -0
  314. data/spec/rdfcore/rdfms-xmllang/test003.rdf +28 -0
  315. data/spec/rdfcore/rdfms-xmllang/test004.nt +14 -0
  316. data/spec/rdfcore/rdfms-xmllang/test004.rdf +28 -0
  317. data/spec/rdfcore/rdfms-xmllang/test005.nt +14 -0
  318. data/spec/rdfcore/rdfms-xmllang/test005.rdf +28 -0
  319. data/spec/rdfcore/rdfms-xmllang/test006.nt +14 -0
  320. data/spec/rdfcore/rdfms-xmllang/test006.rdf +29 -0
  321. data/spec/rdfcore/rdfms-xmllang/test007a.nt +14 -0
  322. data/spec/rdfcore/rdfms-xmllang/test007b.nt +14 -0
  323. data/spec/rdfcore/rdfms-xmllang/test007c.nt +14 -0
  324. data/spec/rdfcore/rdfs-container-membership-superProperty/not1C.rdf +13 -0
  325. data/spec/rdfcore/rdfs-container-membership-superProperty/not1P.rdf +14 -0
  326. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions005.rdf +28 -0
  327. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions006.rdf +28 -0
  328. data/spec/rdfcore/rdfs-domain-and-range/premises005.rdf +32 -0
  329. data/spec/rdfcore/rdfs-domain-and-range/premises006.rdf +32 -0
  330. data/spec/rdfcore/rdfs-domain-and-range/test001.nt +16 -0
  331. data/spec/rdfcore/rdfs-domain-and-range/test001.rdf +29 -0
  332. data/spec/rdfcore/rdfs-domain-and-range/test002.nt +16 -0
  333. data/spec/rdfcore/rdfs-domain-and-range/test002.rdf +29 -0
  334. data/spec/rdfcore/rdfs-entailment/test001.nt +16 -0
  335. data/spec/rdfcore/rdfs-entailment/test002.nt +15 -0
  336. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.nt +18 -0
  337. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.rdf +37 -0
  338. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.nt +18 -0
  339. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.rdf +40 -0
  340. data/spec/rdfcore/rdfs-subClassOf-a-Property/test001.nt +15 -0
  341. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test001.nt +24 -0
  342. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test002.nt +21 -0
  343. data/spec/rdfcore/statement-entailment/test001a.nt +12 -0
  344. data/spec/rdfcore/statement-entailment/test001b.nt +2 -0
  345. data/spec/rdfcore/statement-entailment/test002a.nt +2 -0
  346. data/spec/rdfcore/statement-entailment/test002b.nt +5 -0
  347. data/spec/rdfcore/tex-01/test001.rdf +34 -0
  348. data/spec/rdfcore/tex-01/test002.rdf +33 -0
  349. data/spec/rdfcore/unrecognised-xml-attributes/test001.nt +15 -0
  350. data/spec/rdfcore/unrecognised-xml-attributes/test001.rdf +31 -0
  351. data/spec/rdfcore/unrecognised-xml-attributes/test002.nt +14 -0
  352. data/spec/rdfcore/unrecognised-xml-attributes/test002.rdf +32 -0
  353. data/spec/rdfcore/xml-canon/test001.nt +16 -0
  354. data/spec/rdfcore/xml-canon/test001.rdf +28 -0
  355. data/spec/rdfcore/xmlbase/test001.nt +14 -0
  356. data/spec/rdfcore/xmlbase/test001.rdf +27 -0
  357. data/spec/rdfcore/xmlbase/test002.nt +14 -0
  358. data/spec/rdfcore/xmlbase/test002.rdf +28 -0
  359. data/spec/rdfcore/xmlbase/test003.nt +14 -0
  360. data/spec/rdfcore/xmlbase/test003.rdf +25 -0
  361. data/spec/rdfcore/xmlbase/test004.nt +18 -0
  362. data/spec/rdfcore/xmlbase/test004.rdf +27 -0
  363. data/spec/rdfcore/xmlbase/test006.nt +15 -0
  364. data/spec/rdfcore/xmlbase/test006.rdf +26 -0
  365. data/spec/rdfcore/xmlbase/test007.nt +14 -0
  366. data/spec/rdfcore/xmlbase/test007.rdf +25 -0
  367. data/spec/rdfcore/xmlbase/test008.nt +14 -0
  368. data/spec/rdfcore/xmlbase/test008.rdf +25 -0
  369. data/spec/rdfcore/xmlbase/test009.nt +14 -0
  370. data/spec/rdfcore/xmlbase/test009.rdf +26 -0
  371. data/spec/rdfcore/xmlbase/test010.nt +14 -0
  372. data/spec/rdfcore/xmlbase/test010.rdf +26 -0
  373. data/spec/rdfcore/xmlbase/test011.nt +14 -0
  374. data/spec/rdfcore/xmlbase/test011.rdf +27 -0
  375. data/spec/rdfcore/xmlbase/test013.nt +15 -0
  376. data/spec/rdfcore/xmlbase/test013.rdf +28 -0
  377. data/spec/rdfcore/xmlbase/test014.nt +15 -0
  378. data/spec/rdfcore/xmlbase/test014.rdf +28 -0
  379. data/spec/rdfcore/xmlsch-02/test001.rdf +34 -0
  380. data/spec/rdfcore/xmlsch-02/test002.rdf +34 -0
  381. data/spec/rdfcore/xmlsch-02/test003.rdf +37 -0
  382. data/spec/reader_spec.rb +421 -0
  383. data/spec/spec.opts +1 -0
  384. data/spec/spec_helper.rb +50 -0
  385. data/spec/xml_serializer_spec.rb +386 -0
  386. metadata +385 -6
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,50 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $:.unshift File.dirname(__FILE__)
3
+
4
+ require 'rubygems'
5
+ require 'spec'
6
+ require 'matchers'
7
+ require 'rdf/rdfxml'
8
+ require 'rdf/ntriples'
9
+ require 'rdf/spec'
10
+ require 'rdf/isomorphic'
11
+
12
+ include Matchers
13
+
14
+ module RDF
15
+ module Isomorphic
16
+ alias_method :==, :isomorphic_with?
17
+ end
18
+ class Graph
19
+ def to_ntriples
20
+ RDF::Writer.for(:ntriples).buffer do |writer|
21
+ self.each_statement do |statement|
22
+ writer << statement
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ Spec::Runner.configure do |config|
30
+ config.include(RDF::Spec::Matchers)
31
+ end
32
+
33
+ # Heuristically detect the input stream
34
+ def detect_format(stream)
35
+ # Got to look into the file to see
36
+ if stream.is_a?(IO) || stream.is_a?(StringIO)
37
+ stream.rewind
38
+ string = stream.read(1000)
39
+ stream.rewind
40
+ else
41
+ string = stream.to_s
42
+ end
43
+ case string
44
+ when /<\w+:RDF/ then RDF::RDFXML::Reader
45
+ when /<RDF/ then RDF::RDFXML::Reader
46
+ when /<html/i then RDF::RDFa::Reader
47
+ when /@prefix/i then RDF::N3::Reader
48
+ else RDF::NTriples::Reader
49
+ end
50
+ end
@@ -0,0 +1,386 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+ include RdfContext
3
+
4
+ FOO_NS = Namespace.new("http://foo/", "foo")
5
+
6
+ describe "XML Serializer" do
7
+ before(:each) do
8
+ @graph = Graph.new
9
+ end
10
+
11
+ describe "with types" do
12
+ it "should serialize resource without type" do
13
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
14
+ check_xpaths(
15
+ serialize(:max_depth => 1, :attributes => :untyped),
16
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
17
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
18
+ )
19
+ end
20
+
21
+ it "should serialize resource with type" do
22
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
23
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
24
+ check_xpaths(
25
+ serialize(:max_depth => 1, :attributes => :untyped),
26
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
27
+ "/rdf:RDF/foo:Release/@dc:title" =>"foo",
28
+ "/rdf:RDF/foo:Release/rdf:type" => ""
29
+ )
30
+ end
31
+
32
+ it "should serialize resource with two types as attribute" do
33
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
34
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.XtraRelease)
35
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
36
+ check_xpaths(
37
+ serialize(:max_depth => 1, :attributes => :untyped),
38
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
39
+ "/rdf:RDF/foo:Release/@dc:title" => "foo",
40
+ "/rdf:RDF/foo:Release/@rdf:type" => FOO_NS.XtraRelease.to_s
41
+ )
42
+ end
43
+
44
+ it "should serialize resource with two types as element" do
45
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
46
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.XtraRelease)
47
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
48
+ check_xpaths(
49
+ serialize(:max_depth => 1, :attributes => :none),
50
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
51
+ "/rdf:RDF/foo:Release/dc:title" => true,
52
+ "/rdf:RDF/foo:Release/rdf:type" => %(<rdf:type rdf:resource="#{FOO_NS.XtraRelease}"/>)
53
+ )
54
+ end
55
+
56
+ it "should serialize resource with three types as element" do
57
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
58
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.XtraRelease)
59
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.XXtraRelease)
60
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
61
+ check_xpaths(
62
+ serialize(:max_depth => 1, :attributes => :typed),
63
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
64
+ "/rdf:RDF/foo:Release/@dc:title" => true,
65
+ %(/rdf:RDF/foo:Release/rdf:type[@rdf:resource="#{FOO_NS.XtraRelease}"]) => true,
66
+ %(/rdf:RDF/foo:Release/rdf:type[@rdf:resource="#{FOO_NS.XXtraRelease}"]) => true
67
+ )
68
+ end
69
+ end
70
+
71
+ describe "with children" do
72
+ it "should serialize referenced resource by ref" do
73
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
74
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
75
+ @graph.add_triple("http://release/contributor", RDF_TYPE, FOO_NS.Contributor)
76
+ @graph.add_triple("http://release/contributor", DC_NS.title, "bar")
77
+ @graph.add_triple("http://release/", FOO_NS.releaseContributor, "http://release/contributor")
78
+ check_xpaths(
79
+ serialize(:max_depth => 1, :attributes => :untyped),
80
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
81
+ "/rdf:RDF/foo:Release/@dc:title" => "foo",
82
+ "/rdf:RDF/foo:Release/foo:releaseContributor/@rdf:resource" => "http://release/contributor",
83
+ "/rdf:RDF/foo:Contributor/@rdf:about" => "http://release/contributor",
84
+ "/rdf:RDF/foo:Contributor/@dc:title" => "bar"
85
+ )
86
+ end
87
+
88
+ it "should serialize referenced resource by inclusion" do
89
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
90
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
91
+ @graph.add_triple("http://release/contributor", RDF_TYPE, FOO_NS.Contributor)
92
+ @graph.add_triple("http://release/contributor", DC_NS.title, "bar")
93
+ @graph.add_triple("http://release/", FOO_NS.releaseContributor, "http://release/contributor")
94
+ check_xpaths(
95
+ serialize(:max_depth => 3, :attributes => :untyped),
96
+ "/rdf:RDF/foo:Release/@rdf:about" => "http://release/",
97
+ "/rdf:RDF/foo:Release/@dc:title" => "foo",
98
+ "/rdf:RDF/foo:Release/foo:releaseContributor/foo:Contributor/@rdf:about" => "http://release/contributor"
99
+ )
100
+ end
101
+ end
102
+
103
+ describe "with sequences" do
104
+ it "should serialize rdf:Seq with rdf:li" do
105
+ @graph.add_triple("http://example/seq", RDF_TYPE, RDF_NS.Seq)
106
+ @graph.add_triple("http://example/seq", RDF_NS._1, "http://example/first")
107
+ @graph.add_triple("http://example/seq", RDF_NS._2, "http://example/second")
108
+ check_xpaths(
109
+ serialize(:max_depth => 1, :attributes => :untyped),
110
+ "/rdf:RDF/rdf:Seq/@rdf:about" => "http://example/seq",
111
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/first"]) => true,
112
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/second"]) => true
113
+ )
114
+ end
115
+
116
+ it "should serialize rdf:Seq with multiple rdf:li in proper sequence" do
117
+ @graph.add_triple("http://example/seq", RDF_TYPE, RDF_NS.Seq)
118
+ @graph.add_triple("http://example/seq", RDF_NS._2, "http://example/second")
119
+ @graph.add_triple("http://example/seq", RDF_NS._1, "http://example/first")
120
+ check_xpaths(
121
+ serialize(:max_depth => 1, :attributes => :untyped),
122
+ "/rdf:RDF/rdf:Seq/@rdf:about" => "http://example/seq",
123
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/first"]) => true,
124
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/second"]) => true
125
+ )
126
+ end
127
+
128
+ it "should serialize rdf:Bag with multiple rdf:li" do
129
+ @graph.add_triple("http://example/seq", RDF_TYPE, RDF_NS.Bag)
130
+ @graph.add_triple("http://example/seq", RDF_NS._2, "http://example/second")
131
+ @graph.add_triple("http://example/seq", RDF_NS._1, "http://example/first")
132
+ check_xpaths(
133
+ serialize(:max_depth => 1, :attributes => :untyped),
134
+ "/rdf:RDF/rdf:Bag/@rdf:about" => "http://example/seq",
135
+ %(/rdf:RDF/rdf:Bag/rdf:li[@rdf:resource="http://example/first"]) => true,
136
+ %(/rdf:RDF/rdf:Bag/rdf:li[@rdf:resource="http://example/second"]) => true
137
+ )
138
+ end
139
+
140
+ it "should serialize rdf:Alt with multiple rdf:li" do
141
+ @graph.add_triple("http://example/seq", RDF_TYPE, RDF_NS.Alt)
142
+ @graph.add_triple("http://example/seq", RDF_NS._2, "http://example/second")
143
+ @graph.add_triple("http://example/seq", RDF_NS._1, "http://example/first")
144
+ check_xpaths(
145
+ serialize(:max_depth => 1, :attributes => :untyped),
146
+ "/rdf:RDF/rdf:Alt/@rdf:about" => "http://example/seq",
147
+ %(/rdf:RDF/rdf:Alt/rdf:li[@rdf:resource="http://example/first"]) => true,
148
+ %(/rdf:RDF/rdf:Alt/rdf:li[@rdf:resource="http://example/second"]) => true
149
+ )
150
+ end
151
+ end
152
+
153
+ describe "with lists" do
154
+ it "should serialize List rdf:first/rdf:rest" do
155
+ @graph.parse(%(@prefix foo: <http://foo/> . foo:author foo:is (Gregg Barnum Kellogg).), "http://foo/", :type => :ttl)
156
+ check_xpaths(
157
+ serialize({}),
158
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://foo/author",
159
+ "/rdf:RDF/rdf:Description/foo:is/@rdf:parseType" => "Collection",
160
+ %(/rdf:RDF/rdf:Description/foo:is/rdf:Description[@rdf:about="http://foo/#Gregg"]) => true,
161
+ %(/rdf:RDF/rdf:Description/foo:is/rdf:Description[@rdf:about="http://foo/#Barnum"]) => true,
162
+ %(/rdf:RDF/rdf:Description/foo:is/rdf:Description[@rdf:about="http://foo/#Kellogg"]) => true,
163
+ %(//rdf:first) => false
164
+ )
165
+ end
166
+
167
+ it "should serialize resource with multiple rdf:li in proper sequence" do
168
+ @graph.add_triple("http://example/seq", RDF_TYPE, RDF_NS.Seq)
169
+ @graph.add_triple("http://example/seq", RDF_NS._2, "http://example/second")
170
+ @graph.add_triple("http://example/seq", RDF_NS._1, "http://example/first")
171
+ check_xpaths(
172
+ serialize(:max_depth => 1, :attributes => :untyped),
173
+ "/rdf:RDF/rdf:Seq/@rdf:about" => "http://example/seq",
174
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/first"]) => true,
175
+ %(/rdf:RDF/rdf:Seq/rdf:li[@rdf:resource="http://example/second"]) => true
176
+ )
177
+ end
178
+ end
179
+
180
+ describe "with untyped literals" do
181
+ it "should seralize as element if :attributes == :none" do
182
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
183
+ check_xpaths(
184
+ serialize(:attributes => :none),
185
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
186
+ "/rdf:RDF/rdf:Description/dc:title" => "<dc:title>foo</dc:title>"
187
+ )
188
+ end
189
+
190
+ it "should seralize as attribute if :attributes == :untyped or :typed" do
191
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
192
+ check_xpaths(
193
+ serialize(:attributes => :untyped),
194
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
195
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
196
+ )
197
+ check_xpaths(
198
+ serialize(:attributes => :typed),
199
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
200
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
201
+ )
202
+ end
203
+
204
+ it "should output untyped without lang as attribute lang set" do
205
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
206
+ check_xpaths(
207
+ serialize(:attributes => :untyped, :lang => "de"),
208
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
209
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
210
+ )
211
+ end
212
+
213
+ describe "with language" do
214
+ it "should output property for title with language" do
215
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "en-us"))
216
+ check_xpaths(
217
+ serialize(:attributes => :untyped, :lang => "de"),
218
+ "/rdf:RDF/@xml:lang" => "de",
219
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
220
+ "/rdf:RDF/rdf:Description/dc:title" => %(<dc:title xml:lang="en-us">foo</dc:title>)
221
+ )
222
+ end
223
+ end
224
+
225
+ it "should output untyped as attribute if lang is default" do
226
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "de"))
227
+ check_xpaths(
228
+ serialize(:attributes => :untyped, :lang => "de"),
229
+ "/rdf:RDF/@xml:lang" => "de",
230
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
231
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
232
+ )
233
+ end
234
+
235
+ it "should output untyped as property if lang set and no default" do
236
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "de"))
237
+ check_xpaths(
238
+ serialize(:attributes => :untyped),
239
+ "/rdf:RDF/@xml:lang" => false,
240
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
241
+ "/rdf:RDF/rdf:Description/dc:title" => %(<dc:title xml:lang="de">foo</dc:title>)
242
+ )
243
+ end
244
+
245
+ it "should output untyped as property if lang set and not default" do
246
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "de"))
247
+ check_xpaths(
248
+ serialize(:attributes => :untyped, :lang => "en-us"),
249
+ "/rdf:RDF/@xml:lang" => "en-us",
250
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
251
+ "/rdf:RDF/rdf:Description/dc:title" => %(<dc:title xml:lang="de">foo</dc:title>)
252
+ )
253
+ end
254
+
255
+ it "should output multiple untyped attributes values through properties" do
256
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "de"))
257
+ @graph.add_triple("http://release/", DC_NS.title, Literal.untyped("foo", "en-us"))
258
+ check_xpaths(
259
+ serialize(:attributes => :untyped, :lang => "en-us"),
260
+ "/rdf:RDF/@xml:lang" => "en-us",
261
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
262
+ "/rdf:RDF/rdf:Description/dc:title[lang('de')]" => %(<dc:title xml:lang="de">foo</dc:title>),
263
+ "/rdf:RDF/rdf:Description/dc:title[lang('en-us')]" => %(<dc:title>foo</dc:title>)
264
+ )
265
+ end
266
+
267
+ it "should output typed node as attribute" do
268
+ @graph.add_triple("http://release/", DC_NS.title, Literal.typed("foo", XSD_NS.string))
269
+ check_xpaths(
270
+ serialize(:attributes => :untyped),
271
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
272
+ "/rdf:RDF/rdf:Description/dc:title" => %(<dc:title rdf:datatype="#{XSD_NS.string}">foo</dc:title>)
273
+ )
274
+ check_xpaths(
275
+ serialize(:attributes => :typed),
276
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
277
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo"
278
+ )
279
+ end
280
+
281
+ it "should output multiple typed values through properties" do
282
+ @graph.add_triple("http://release/", DC_NS.title, Literal.typed("foo", XSD_NS.string))
283
+ @graph.add_triple("http://release/", DC_NS.title, Literal.typed("bar", XSD_NS.string))
284
+ check_xpaths(
285
+ serialize(:attributes => :untyped),
286
+ "/rdf:RDF/rdf:Description/@rdf:about" => "http://release/",
287
+ "/rdf:RDF/rdf:Description/dc:title[contains(., 'foo')]" => %(<dc:title rdf:datatype="#{XSD_NS.string}">foo</dc:title>),
288
+ "/rdf:RDF/rdf:Description/dc:title[contains(., 'bar')]" => %(<dc:title rdf:datatype="#{XSD_NS.string}">bar</dc:title>)
289
+ )
290
+ end
291
+ end
292
+
293
+ describe "with default namespace" do
294
+ it "should serialize with default namespace" do
295
+ @graph.add_triple("http://release/", RDF_TYPE, FOO_NS.Release)
296
+ @graph.add_triple("http://release/", DC_NS.title, "foo")
297
+ @graph.add_triple("http://release/", FOO_NS.pred, FOO_NS.obj)
298
+ @graph.bind(Namespace.new(FOO_NS.uri, ""))
299
+
300
+ #$DEBUG = true
301
+ xml = serialize(:max_depth => 1, :attributes => :untyped)
302
+ #puts xml
303
+ xml.should =~ /<Release/
304
+ xml.should =~ /<pred/
305
+ doc = Nokogiri::XML.parse(xml)
306
+ doc.at_xpath("/rdf:RDF/#{FOO_NS.prefix}:Release/#{FOO_NS.prefix}:pred/@rdf:resource", doc.namespaces).to_s.should == FOO_NS.obj.to_s
307
+ end
308
+ end
309
+
310
+ describe "with base" do
311
+ it "should generate relative about URI" do
312
+ @graph.add_triple("http://release/a", FOO_NS.ref, "http://release/b")
313
+ check_xpaths(
314
+ serialize(:attributes => :untyped, :base => "http://release/"),
315
+ "/rdf:RDF/rdf:Description/@rdf:about" => "a",
316
+ "/rdf:RDF/rdf:Description/foo:ref/@rdf:resource" => "b"
317
+ )
318
+ end
319
+ end
320
+
321
+ describe "with bnodes" do
322
+ it "should not generate nodeID attribute unless node is referenced as an object" do
323
+ @graph.add_triple(BNode.new("a"), DC_NS.title, "foo")
324
+ check_xpaths(
325
+ serialize(:attributes => :untyped, :base => "http://release/"),
326
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo",
327
+ "/rdf:RDF/rdf:Description/@rdf:nodeID" => false
328
+ )
329
+ end
330
+
331
+ it "should generate a nodeID attribute if node is referenced as an object" do
332
+ bn = BNode.new("a")
333
+ @graph.add_triple(bn, DC_NS.title, "foo")
334
+ @graph.add_triple(bn, OWL_NS.equals, bn)
335
+ check_xpaths(
336
+ serialize(:attributes => :untyped, :base => "http://release/"),
337
+ "/rdf:RDF/rdf:Description/@dc:title" => "foo",
338
+ "/rdf:RDF/rdf:Description/@rdf:nodeID" => /Na$/,
339
+ "/rdf:RDF/rdf:Description/owl:equals/@rdf:nodeID" => /Na$/
340
+ )
341
+ end
342
+
343
+ it "should replicate rdfcore/rdfms-seq-representation" do
344
+ @graph.parse(%(
345
+ <http://example.org/eg#eric> a [ <http://example.org/eg#intersectionOf> (<http://example.org/eg#Person> <http://example.org/eg#Male>)] .
346
+ ))
347
+ graph2 = Graph.new
348
+ graph2.parse(serialize(:format => :xml)).should be_equivalent_graph(@graph)
349
+ end
350
+ end
351
+
352
+ def check_xpaths(doc, paths)
353
+ puts doc if $DEBUG || $verbose
354
+ doc = Nokogiri::XML.parse(doc)
355
+ #puts "doc: #{doc.to_s}"
356
+ doc.should be_a(Nokogiri::XML::Document)
357
+ paths.each_pair do |path, value|
358
+ puts "xpath: #{path.inspect}" if $DEBUG
359
+ puts doc.root.at_xpath(path, @namespaces).inspect if $DEBUG
360
+ case value
361
+ when false
362
+ doc.root.at_xpath(path, doc.namespaces).should be_nil
363
+ when true
364
+ doc.root.at_xpath(path, doc.namespaces).should_not be_nil
365
+ when Array
366
+ doc.root.at_xpath(path, doc.namespaces).to_s.split(" ").should include(*value)
367
+ when Regexp
368
+ doc.root.at_xpath(path, doc.namespaces).to_s.should =~ value
369
+ else
370
+ doc.root.at_xpath(path, doc.namespaces).to_s.should == value
371
+ end
372
+ end
373
+
374
+ # Parse generated graph and compare to source
375
+ Graph.new.parse(doc, "http://release/", :format => :xml).should
376
+ be_equivalent_graph(@graph, :about => "http://release/")
377
+ end
378
+
379
+ # Serialize ntstr to a string and compare against regexps
380
+ def serialize(options)
381
+ #$DEBUG = true
382
+ result = @graph.serialize(options.merge(:format => :xml))
383
+ #$DEBUG = false
384
+ result
385
+ end
386
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-rdfxml
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gregg Kellogg
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-03 00:00:00 -07:00
18
+ date: 2010-06-07 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -105,8 +105,10 @@ extra_rdoc_files:
105
105
  - History.txt
106
106
  - README.rdoc
107
107
  files:
108
+ - .gitignore
108
109
  - .yardopts
109
110
  - AUTHORS
111
+ - CONTRIBUTORS
110
112
  - History.txt
111
113
  - README.rdoc
112
114
  - Rakefile
@@ -114,9 +116,381 @@ files:
114
116
  - example.rb
115
117
  - lib/rdf/rdfxml.rb
116
118
  - lib/rdf/rdfxml/format.rb
119
+ - lib/rdf/rdfxml/patches/array_hacks.rb
120
+ - lib/rdf/rdfxml/patches/nokogiri_hacks.rb
121
+ - lib/rdf/rdfxml/patches/rdf_escape.rb
117
122
  - lib/rdf/rdfxml/reader.rb
118
123
  - lib/rdf/rdfxml/version.rb
124
+ - lib/rdf/rdfxml/vocab.rb
119
125
  - lib/rdf/rdfxml/writer.rb
126
+ - rdf-rdfxml.gemspec
127
+ - script/console
128
+ - spec/format_spec.rb
129
+ - spec/matchers.rb
130
+ - spec/rdf_helper.rb
131
+ - spec/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.nt
132
+ - spec/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.rdf
133
+ - spec/rdf_tests/tm_001.nt
134
+ - spec/rdf_tests/tm_001.rdf
135
+ - spec/rdf_tests/xml-literal-mixed.nt
136
+ - spec/rdf_tests/xml-literal-mixed.rdf
137
+ - spec/rdfcore/Manifest.rdf
138
+ - spec/rdfcore/Manifest.yml
139
+ - spec/rdfcore/amp-in-url/test001.nt
140
+ - spec/rdfcore/amp-in-url/test001.rdf
141
+ - spec/rdfcore/datatypes-intensional/test001.nt
142
+ - spec/rdfcore/datatypes-intensional/test002.nt
143
+ - spec/rdfcore/datatypes/test001.nt
144
+ - spec/rdfcore/datatypes/test001.rdf
145
+ - spec/rdfcore/datatypes/test002.nt
146
+ - spec/rdfcore/datatypes/test002.rdf
147
+ - spec/rdfcore/datatypes/test002b.nt
148
+ - spec/rdfcore/datatypes/test003a.nt
149
+ - spec/rdfcore/datatypes/test003b.nt
150
+ - spec/rdfcore/datatypes/test005a.nt
151
+ - spec/rdfcore/datatypes/test005b.nt
152
+ - spec/rdfcore/datatypes/test006.nt
153
+ - spec/rdfcore/datatypes/test008a.nt
154
+ - spec/rdfcore/datatypes/test008b.nt
155
+ - spec/rdfcore/datatypes/test009a.nt
156
+ - spec/rdfcore/datatypes/test009b.nt
157
+ - spec/rdfcore/datatypes/test010.nt
158
+ - spec/rdfcore/datatypes/test011a.nt
159
+ - spec/rdfcore/datatypes/test011b.nt
160
+ - spec/rdfcore/horst-01/test001.rdf
161
+ - spec/rdfcore/horst-01/test002.rdf
162
+ - spec/rdfcore/horst-01/test003.rdf
163
+ - spec/rdfcore/horst-01/test004.rdf
164
+ - spec/rdfcore/pfps-10/test001a.nt
165
+ - spec/rdfcore/pfps-10/test001b.nt
166
+ - spec/rdfcore/rdf-charmod-literals/test001.nt
167
+ - spec/rdfcore/rdf-charmod-literals/test001.rdf
168
+ - spec/rdfcore/rdf-charmod-uris/test001.nt
169
+ - spec/rdfcore/rdf-charmod-uris/test001.rdf
170
+ - spec/rdfcore/rdf-charmod-uris/test002.nt
171
+ - spec/rdfcore/rdf-charmod-uris/test002.rdf
172
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/error001.rdf
173
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/error002.rdf
174
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test001.nt
175
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test001.rdf
176
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test002.nt
177
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test002.rdf
178
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test003.nt
179
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test003.rdf
180
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test004.nt
181
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test004.rdf
182
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test006.nt
183
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test006.rdf
184
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test007.nt
185
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test007.rdf
186
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test008.nt
187
+ - spec/rdfcore/rdf-containers-syntax-vs-schema/test008.rdf
188
+ - spec/rdfcore/rdf-element-not-mandatory/test001.nt
189
+ - spec/rdfcore/rdf-element-not-mandatory/test001.rdf
190
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0001.nt
191
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0001.rdf
192
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0003.nt
193
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0003.rdf
194
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0004.nt
195
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0004.rdf
196
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0005.nt
197
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0005.rdf
198
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0006.nt
199
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0006.rdf
200
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0009.nt
201
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0009.rdf
202
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0010.nt
203
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0010.rdf
204
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0011.nt
205
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0011.rdf
206
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0012.nt
207
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0012.rdf
208
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0013.nt
209
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0013.rdf
210
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0014.nt
211
+ - spec/rdfcore/rdf-ns-prefix-confusion/test0014.rdf
212
+ - spec/rdfcore/rdfms-abouteach/error001.rdf
213
+ - spec/rdfcore/rdfms-abouteach/error002.rdf
214
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/error1.rdf
215
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test1.nt
216
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test1.rdf
217
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test2.nt
218
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test2.rdf
219
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test3.nt
220
+ - spec/rdfcore/rdfms-difference-between-ID-and-about/test3.rdf
221
+ - spec/rdfcore/rdfms-duplicate-member-props/test001.nt
222
+ - spec/rdfcore/rdfms-duplicate-member-props/test001.rdf
223
+ - spec/rdfcore/rdfms-empty-property-elements/error001.rdf
224
+ - spec/rdfcore/rdfms-empty-property-elements/error002.rdf
225
+ - spec/rdfcore/rdfms-empty-property-elements/error003.rdf
226
+ - spec/rdfcore/rdfms-empty-property-elements/test001.nt
227
+ - spec/rdfcore/rdfms-empty-property-elements/test001.rdf
228
+ - spec/rdfcore/rdfms-empty-property-elements/test002.nt
229
+ - spec/rdfcore/rdfms-empty-property-elements/test002.rdf
230
+ - spec/rdfcore/rdfms-empty-property-elements/test003.nt
231
+ - spec/rdfcore/rdfms-empty-property-elements/test003.rdf
232
+ - spec/rdfcore/rdfms-empty-property-elements/test004.nt
233
+ - spec/rdfcore/rdfms-empty-property-elements/test004.rdf
234
+ - spec/rdfcore/rdfms-empty-property-elements/test005.nt
235
+ - spec/rdfcore/rdfms-empty-property-elements/test005.rdf
236
+ - spec/rdfcore/rdfms-empty-property-elements/test006.nt
237
+ - spec/rdfcore/rdfms-empty-property-elements/test006.rdf
238
+ - spec/rdfcore/rdfms-empty-property-elements/test007.nt
239
+ - spec/rdfcore/rdfms-empty-property-elements/test007.rdf
240
+ - spec/rdfcore/rdfms-empty-property-elements/test008.nt
241
+ - spec/rdfcore/rdfms-empty-property-elements/test008.rdf
242
+ - spec/rdfcore/rdfms-empty-property-elements/test009.nt
243
+ - spec/rdfcore/rdfms-empty-property-elements/test009.rdf
244
+ - spec/rdfcore/rdfms-empty-property-elements/test010.nt
245
+ - spec/rdfcore/rdfms-empty-property-elements/test010.rdf
246
+ - spec/rdfcore/rdfms-empty-property-elements/test011.nt
247
+ - spec/rdfcore/rdfms-empty-property-elements/test011.rdf
248
+ - spec/rdfcore/rdfms-empty-property-elements/test012.nt
249
+ - spec/rdfcore/rdfms-empty-property-elements/test012.rdf
250
+ - spec/rdfcore/rdfms-empty-property-elements/test013.nt
251
+ - spec/rdfcore/rdfms-empty-property-elements/test013.rdf
252
+ - spec/rdfcore/rdfms-empty-property-elements/test014.nt
253
+ - spec/rdfcore/rdfms-empty-property-elements/test014.rdf
254
+ - spec/rdfcore/rdfms-empty-property-elements/test015.nt
255
+ - spec/rdfcore/rdfms-empty-property-elements/test015.rdf
256
+ - spec/rdfcore/rdfms-empty-property-elements/test016.nt
257
+ - spec/rdfcore/rdfms-empty-property-elements/test016.rdf
258
+ - spec/rdfcore/rdfms-empty-property-elements/test017.nt
259
+ - spec/rdfcore/rdfms-empty-property-elements/test017.rdf
260
+ - spec/rdfcore/rdfms-identity-anon-resources/test001.nt
261
+ - spec/rdfcore/rdfms-identity-anon-resources/test001.rdf
262
+ - spec/rdfcore/rdfms-identity-anon-resources/test002.nt
263
+ - spec/rdfcore/rdfms-identity-anon-resources/test002.rdf
264
+ - spec/rdfcore/rdfms-identity-anon-resources/test003.nt
265
+ - spec/rdfcore/rdfms-identity-anon-resources/test003.rdf
266
+ - spec/rdfcore/rdfms-identity-anon-resources/test004.nt
267
+ - spec/rdfcore/rdfms-identity-anon-resources/test004.rdf
268
+ - spec/rdfcore/rdfms-identity-anon-resources/test005.nt
269
+ - spec/rdfcore/rdfms-identity-anon-resources/test005.rdf
270
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test001.nt
271
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test001.rdf
272
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test002.nt
273
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test002.rdf
274
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test004.nt
275
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test004.rdf
276
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test005.nt
277
+ - spec/rdfcore/rdfms-not-id-and-resource-attr/test005.rdf
278
+ - spec/rdfcore/rdfms-para196/test001.nt
279
+ - spec/rdfcore/rdfms-para196/test001.rdf
280
+ - spec/rdfcore/rdfms-rdf-id/error001.rdf
281
+ - spec/rdfcore/rdfms-rdf-id/error002.rdf
282
+ - spec/rdfcore/rdfms-rdf-id/error003.rdf
283
+ - spec/rdfcore/rdfms-rdf-id/error004.rdf
284
+ - spec/rdfcore/rdfms-rdf-id/error005.rdf
285
+ - spec/rdfcore/rdfms-rdf-id/error006.rdf
286
+ - spec/rdfcore/rdfms-rdf-id/error007.rdf
287
+ - spec/rdfcore/rdfms-rdf-names-use/error-001.rdf
288
+ - spec/rdfcore/rdfms-rdf-names-use/error-002.rdf
289
+ - spec/rdfcore/rdfms-rdf-names-use/error-003.rdf
290
+ - spec/rdfcore/rdfms-rdf-names-use/error-004.rdf
291
+ - spec/rdfcore/rdfms-rdf-names-use/error-005.rdf
292
+ - spec/rdfcore/rdfms-rdf-names-use/error-006.rdf
293
+ - spec/rdfcore/rdfms-rdf-names-use/error-007.rdf
294
+ - spec/rdfcore/rdfms-rdf-names-use/error-008.rdf
295
+ - spec/rdfcore/rdfms-rdf-names-use/error-009.rdf
296
+ - spec/rdfcore/rdfms-rdf-names-use/error-010.rdf
297
+ - spec/rdfcore/rdfms-rdf-names-use/error-011.rdf
298
+ - spec/rdfcore/rdfms-rdf-names-use/error-012.rdf
299
+ - spec/rdfcore/rdfms-rdf-names-use/error-013.rdf
300
+ - spec/rdfcore/rdfms-rdf-names-use/error-014.rdf
301
+ - spec/rdfcore/rdfms-rdf-names-use/error-015.rdf
302
+ - spec/rdfcore/rdfms-rdf-names-use/error-016.rdf
303
+ - spec/rdfcore/rdfms-rdf-names-use/error-017.rdf
304
+ - spec/rdfcore/rdfms-rdf-names-use/error-018.rdf
305
+ - spec/rdfcore/rdfms-rdf-names-use/error-019.rdf
306
+ - spec/rdfcore/rdfms-rdf-names-use/error-020.rdf
307
+ - spec/rdfcore/rdfms-rdf-names-use/test-001.nt
308
+ - spec/rdfcore/rdfms-rdf-names-use/test-001.rdf
309
+ - spec/rdfcore/rdfms-rdf-names-use/test-002.nt
310
+ - spec/rdfcore/rdfms-rdf-names-use/test-002.rdf
311
+ - spec/rdfcore/rdfms-rdf-names-use/test-003.nt
312
+ - spec/rdfcore/rdfms-rdf-names-use/test-003.rdf
313
+ - spec/rdfcore/rdfms-rdf-names-use/test-004.nt
314
+ - spec/rdfcore/rdfms-rdf-names-use/test-004.rdf
315
+ - spec/rdfcore/rdfms-rdf-names-use/test-005.nt
316
+ - spec/rdfcore/rdfms-rdf-names-use/test-005.rdf
317
+ - spec/rdfcore/rdfms-rdf-names-use/test-006.nt
318
+ - spec/rdfcore/rdfms-rdf-names-use/test-006.rdf
319
+ - spec/rdfcore/rdfms-rdf-names-use/test-007.nt
320
+ - spec/rdfcore/rdfms-rdf-names-use/test-007.rdf
321
+ - spec/rdfcore/rdfms-rdf-names-use/test-008.nt
322
+ - spec/rdfcore/rdfms-rdf-names-use/test-008.rdf
323
+ - spec/rdfcore/rdfms-rdf-names-use/test-009.nt
324
+ - spec/rdfcore/rdfms-rdf-names-use/test-009.rdf
325
+ - spec/rdfcore/rdfms-rdf-names-use/test-010.nt
326
+ - spec/rdfcore/rdfms-rdf-names-use/test-010.rdf
327
+ - spec/rdfcore/rdfms-rdf-names-use/test-011.nt
328
+ - spec/rdfcore/rdfms-rdf-names-use/test-011.rdf
329
+ - spec/rdfcore/rdfms-rdf-names-use/test-012.nt
330
+ - spec/rdfcore/rdfms-rdf-names-use/test-012.rdf
331
+ - spec/rdfcore/rdfms-rdf-names-use/test-013.nt
332
+ - spec/rdfcore/rdfms-rdf-names-use/test-013.rdf
333
+ - spec/rdfcore/rdfms-rdf-names-use/test-014.nt
334
+ - spec/rdfcore/rdfms-rdf-names-use/test-014.rdf
335
+ - spec/rdfcore/rdfms-rdf-names-use/test-015.nt
336
+ - spec/rdfcore/rdfms-rdf-names-use/test-015.rdf
337
+ - spec/rdfcore/rdfms-rdf-names-use/test-016.nt
338
+ - spec/rdfcore/rdfms-rdf-names-use/test-016.rdf
339
+ - spec/rdfcore/rdfms-rdf-names-use/test-017.nt
340
+ - spec/rdfcore/rdfms-rdf-names-use/test-017.rdf
341
+ - spec/rdfcore/rdfms-rdf-names-use/test-018.nt
342
+ - spec/rdfcore/rdfms-rdf-names-use/test-018.rdf
343
+ - spec/rdfcore/rdfms-rdf-names-use/test-019.nt
344
+ - spec/rdfcore/rdfms-rdf-names-use/test-019.rdf
345
+ - spec/rdfcore/rdfms-rdf-names-use/test-020.nt
346
+ - spec/rdfcore/rdfms-rdf-names-use/test-020.rdf
347
+ - spec/rdfcore/rdfms-rdf-names-use/test-021.nt
348
+ - spec/rdfcore/rdfms-rdf-names-use/test-021.rdf
349
+ - spec/rdfcore/rdfms-rdf-names-use/test-022.nt
350
+ - spec/rdfcore/rdfms-rdf-names-use/test-022.rdf
351
+ - spec/rdfcore/rdfms-rdf-names-use/test-023.nt
352
+ - spec/rdfcore/rdfms-rdf-names-use/test-023.rdf
353
+ - spec/rdfcore/rdfms-rdf-names-use/test-024.nt
354
+ - spec/rdfcore/rdfms-rdf-names-use/test-024.rdf
355
+ - spec/rdfcore/rdfms-rdf-names-use/test-025.nt
356
+ - spec/rdfcore/rdfms-rdf-names-use/test-025.rdf
357
+ - spec/rdfcore/rdfms-rdf-names-use/test-026.nt
358
+ - spec/rdfcore/rdfms-rdf-names-use/test-026.rdf
359
+ - spec/rdfcore/rdfms-rdf-names-use/test-027.nt
360
+ - spec/rdfcore/rdfms-rdf-names-use/test-027.rdf
361
+ - spec/rdfcore/rdfms-rdf-names-use/test-028.nt
362
+ - spec/rdfcore/rdfms-rdf-names-use/test-028.rdf
363
+ - spec/rdfcore/rdfms-rdf-names-use/test-029.nt
364
+ - spec/rdfcore/rdfms-rdf-names-use/test-029.rdf
365
+ - spec/rdfcore/rdfms-rdf-names-use/test-030.nt
366
+ - spec/rdfcore/rdfms-rdf-names-use/test-030.rdf
367
+ - spec/rdfcore/rdfms-rdf-names-use/test-031.nt
368
+ - spec/rdfcore/rdfms-rdf-names-use/test-031.rdf
369
+ - spec/rdfcore/rdfms-rdf-names-use/test-032.nt
370
+ - spec/rdfcore/rdfms-rdf-names-use/test-032.rdf
371
+ - spec/rdfcore/rdfms-rdf-names-use/test-033.nt
372
+ - spec/rdfcore/rdfms-rdf-names-use/test-033.rdf
373
+ - spec/rdfcore/rdfms-rdf-names-use/test-034.nt
374
+ - spec/rdfcore/rdfms-rdf-names-use/test-034.rdf
375
+ - spec/rdfcore/rdfms-rdf-names-use/test-035.nt
376
+ - spec/rdfcore/rdfms-rdf-names-use/test-035.rdf
377
+ - spec/rdfcore/rdfms-rdf-names-use/test-036.nt
378
+ - spec/rdfcore/rdfms-rdf-names-use/test-036.rdf
379
+ - spec/rdfcore/rdfms-rdf-names-use/test-037.nt
380
+ - spec/rdfcore/rdfms-rdf-names-use/test-037.rdf
381
+ - spec/rdfcore/rdfms-rdf-names-use/warn-001.nt
382
+ - spec/rdfcore/rdfms-rdf-names-use/warn-001.rdf
383
+ - spec/rdfcore/rdfms-rdf-names-use/warn-002.nt
384
+ - spec/rdfcore/rdfms-rdf-names-use/warn-002.rdf
385
+ - spec/rdfcore/rdfms-rdf-names-use/warn-003.nt
386
+ - spec/rdfcore/rdfms-rdf-names-use/warn-003.rdf
387
+ - spec/rdfcore/rdfms-reification-required/test001.nt
388
+ - spec/rdfcore/rdfms-reification-required/test001.rdf
389
+ - spec/rdfcore/rdfms-seq-representation/empty.nt
390
+ - spec/rdfcore/rdfms-seq-representation/test001.nt
391
+ - spec/rdfcore/rdfms-seq-representation/test001.rdf
392
+ - spec/rdfcore/rdfms-seq-representation/test002.nt
393
+ - spec/rdfcore/rdfms-seq-representation/test003a.nt
394
+ - spec/rdfcore/rdfms-seq-representation/test003b.nt
395
+ - spec/rdfcore/rdfms-seq-representation/test004.nt
396
+ - spec/rdfcore/rdfms-syntax-incomplete/error001.rdf
397
+ - spec/rdfcore/rdfms-syntax-incomplete/error002.rdf
398
+ - spec/rdfcore/rdfms-syntax-incomplete/error003.rdf
399
+ - spec/rdfcore/rdfms-syntax-incomplete/error004.rdf
400
+ - spec/rdfcore/rdfms-syntax-incomplete/error005.rdf
401
+ - spec/rdfcore/rdfms-syntax-incomplete/error006.rdf
402
+ - spec/rdfcore/rdfms-syntax-incomplete/test001.nt
403
+ - spec/rdfcore/rdfms-syntax-incomplete/test001.rdf
404
+ - spec/rdfcore/rdfms-syntax-incomplete/test002.nt
405
+ - spec/rdfcore/rdfms-syntax-incomplete/test002.rdf
406
+ - spec/rdfcore/rdfms-syntax-incomplete/test003.nt
407
+ - spec/rdfcore/rdfms-syntax-incomplete/test003.rdf
408
+ - spec/rdfcore/rdfms-syntax-incomplete/test004.nt
409
+ - spec/rdfcore/rdfms-syntax-incomplete/test004.rdf
410
+ - spec/rdfcore/rdfms-uri-substructure/error001.nt
411
+ - spec/rdfcore/rdfms-uri-substructure/test001.nt
412
+ - spec/rdfcore/rdfms-uri-substructure/test001.rdf
413
+ - spec/rdfcore/rdfms-xml-literal-namespaces/test001.nt
414
+ - spec/rdfcore/rdfms-xml-literal-namespaces/test001.rdf
415
+ - spec/rdfcore/rdfms-xml-literal-namespaces/test002.nt
416
+ - spec/rdfcore/rdfms-xml-literal-namespaces/test002.rdf
417
+ - spec/rdfcore/rdfms-xmllang/test001.nt
418
+ - spec/rdfcore/rdfms-xmllang/test001.rdf
419
+ - spec/rdfcore/rdfms-xmllang/test002.nt
420
+ - spec/rdfcore/rdfms-xmllang/test002.rdf
421
+ - spec/rdfcore/rdfms-xmllang/test003.nt
422
+ - spec/rdfcore/rdfms-xmllang/test003.rdf
423
+ - spec/rdfcore/rdfms-xmllang/test004.nt
424
+ - spec/rdfcore/rdfms-xmllang/test004.rdf
425
+ - spec/rdfcore/rdfms-xmllang/test005.nt
426
+ - spec/rdfcore/rdfms-xmllang/test005.rdf
427
+ - spec/rdfcore/rdfms-xmllang/test006.nt
428
+ - spec/rdfcore/rdfms-xmllang/test006.rdf
429
+ - spec/rdfcore/rdfms-xmllang/test007a.nt
430
+ - spec/rdfcore/rdfms-xmllang/test007b.nt
431
+ - spec/rdfcore/rdfms-xmllang/test007c.nt
432
+ - spec/rdfcore/rdfs-container-membership-superProperty/not1C.rdf
433
+ - spec/rdfcore/rdfs-container-membership-superProperty/not1P.rdf
434
+ - spec/rdfcore/rdfs-domain-and-range/nonconclusions005.rdf
435
+ - spec/rdfcore/rdfs-domain-and-range/nonconclusions006.rdf
436
+ - spec/rdfcore/rdfs-domain-and-range/premises005.rdf
437
+ - spec/rdfcore/rdfs-domain-and-range/premises006.rdf
438
+ - spec/rdfcore/rdfs-domain-and-range/test001.nt
439
+ - spec/rdfcore/rdfs-domain-and-range/test001.rdf
440
+ - spec/rdfcore/rdfs-domain-and-range/test002.nt
441
+ - spec/rdfcore/rdfs-domain-and-range/test002.rdf
442
+ - spec/rdfcore/rdfs-entailment/test001.nt
443
+ - spec/rdfcore/rdfs-entailment/test002.nt
444
+ - spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.nt
445
+ - spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.rdf
446
+ - spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.nt
447
+ - spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.rdf
448
+ - spec/rdfcore/rdfs-subClassOf-a-Property/test001.nt
449
+ - spec/rdfcore/rdfs-subPropertyOf-semantics/test001.nt
450
+ - spec/rdfcore/rdfs-subPropertyOf-semantics/test002.nt
451
+ - spec/rdfcore/statement-entailment/test001a.nt
452
+ - spec/rdfcore/statement-entailment/test001b.nt
453
+ - spec/rdfcore/statement-entailment/test002a.nt
454
+ - spec/rdfcore/statement-entailment/test002b.nt
455
+ - spec/rdfcore/tex-01/test001.rdf
456
+ - spec/rdfcore/tex-01/test002.rdf
457
+ - spec/rdfcore/unrecognised-xml-attributes/test001.nt
458
+ - spec/rdfcore/unrecognised-xml-attributes/test001.rdf
459
+ - spec/rdfcore/unrecognised-xml-attributes/test002.nt
460
+ - spec/rdfcore/unrecognised-xml-attributes/test002.rdf
461
+ - spec/rdfcore/xml-canon/test001.nt
462
+ - spec/rdfcore/xml-canon/test001.rdf
463
+ - spec/rdfcore/xmlbase/test001.nt
464
+ - spec/rdfcore/xmlbase/test001.rdf
465
+ - spec/rdfcore/xmlbase/test002.nt
466
+ - spec/rdfcore/xmlbase/test002.rdf
467
+ - spec/rdfcore/xmlbase/test003.nt
468
+ - spec/rdfcore/xmlbase/test003.rdf
469
+ - spec/rdfcore/xmlbase/test004.nt
470
+ - spec/rdfcore/xmlbase/test004.rdf
471
+ - spec/rdfcore/xmlbase/test006.nt
472
+ - spec/rdfcore/xmlbase/test006.rdf
473
+ - spec/rdfcore/xmlbase/test007.nt
474
+ - spec/rdfcore/xmlbase/test007.rdf
475
+ - spec/rdfcore/xmlbase/test008.nt
476
+ - spec/rdfcore/xmlbase/test008.rdf
477
+ - spec/rdfcore/xmlbase/test009.nt
478
+ - spec/rdfcore/xmlbase/test009.rdf
479
+ - spec/rdfcore/xmlbase/test010.nt
480
+ - spec/rdfcore/xmlbase/test010.rdf
481
+ - spec/rdfcore/xmlbase/test011.nt
482
+ - spec/rdfcore/xmlbase/test011.rdf
483
+ - spec/rdfcore/xmlbase/test013.nt
484
+ - spec/rdfcore/xmlbase/test013.rdf
485
+ - spec/rdfcore/xmlbase/test014.nt
486
+ - spec/rdfcore/xmlbase/test014.rdf
487
+ - spec/rdfcore/xmlsch-02/test001.rdf
488
+ - spec/rdfcore/xmlsch-02/test002.rdf
489
+ - spec/rdfcore/xmlsch-02/test003.rdf
490
+ - spec/reader_spec.rb
491
+ - spec/spec.opts
492
+ - spec/spec_helper.rb
493
+ - spec/xml_serializer_spec.rb
120
494
  has_rdoc: true
121
495
  homepage: http://github.com/gkellogg/rdf-rdfxml
122
496
  licenses: []
@@ -151,5 +525,10 @@ rubygems_version: 1.3.7
151
525
  signing_key:
152
526
  specification_version: 3
153
527
  summary: RDF/XML reader/writer for RDF.rb.
154
- test_files: []
155
-
528
+ test_files:
529
+ - spec/format_spec.rb
530
+ - spec/matchers.rb
531
+ - spec/rdf_helper.rb
532
+ - spec/reader_spec.rb
533
+ - spec/spec_helper.rb
534
+ - spec/xml_serializer_spec.rb