[isidorus-cvs] r161 - in trunk/src: unit_tests xml/rdf
Lukas Giessmann
lgiessmann at common-lisp.net
Fri Dec 4 16:06:22 UTC 2009
Author: lgiessmann
Date: Fri Dec 4 11:06:21 2009
New Revision: 161
Log:
added some unit-tests for the rdf-module
Modified:
trunk/src/unit_tests/reification.rdf
trunk/src/unit_tests/reification_test.lisp
trunk/src/xml/rdf/map_to_tm.lisp
Modified: trunk/src/unit_tests/reification.rdf
==============================================================================
--- trunk/src/unit_tests/reification.rdf (original)
+++ trunk/src/unit_tests/reification.rdf Fri Dec 4 11:06:21 2009
@@ -32,6 +32,7 @@
<!-- reification in Topic-Maps-mapped-RDF -->
<rdf:Description rdf:about="http://simpsons.tv/lisa">
+ <rdf:type rdf:resource="http://isidorus/tm2rdf_mapping/types/Topic"/>
<isi:name>
<rdf:Description>
<rdf:type rdf:resource="http://isidorus/tm2rdf_mapping/types/Name"/>
Modified: trunk/src/unit_tests/reification_test.lisp
==============================================================================
--- trunk/src/unit_tests/reification_test.lisp (original)
+++ trunk/src/unit_tests/reification_test.lisp Fri Dec 4 11:06:21 2009
@@ -38,7 +38,8 @@
:test-xtm1.0-reification-exporter
:test-xtm2.0-reification-exporter
:test-rdf-importer-reification
- :test-rdf-importer-reification-2))
+ :test-rdf-importer-reification-2
+ :test-rdf-importer-reification-3))
(in-package :reification-test)
@@ -550,6 +551,7 @@
"<arcs:arc4 rdf:resource=\"fifth-node\" />"
"</rdf:Description>"
"</rdf:RDF>")))
+ (clean-out-db db-dir)
(let ((dom-1 (cxml:parse doc-1 (cxml-dom:make-dom-builder))))
(is-true dom-1)
(is (= (length (dom:child-nodes dom-1)) 1))
@@ -634,11 +636,67 @@
(tm-id "http://test-tm/")
(revision-1 100)
(document-id "doc-id"))
+ (clean-out-db db-dir)
(rdf-importer:rdf-importer
*reification.rdf* db-dir :tm-id tm-id
:document-id document-id :start-revision revision-1)
+ (elephant:open-store (xml-importer:get-store-spec db-dir))
+ (let ((homer (get-item-by-id "http://simpsons.tv/homer" :xtm-id document-id))
+ (bart (get-item-by-id "http://simpsons.tv/bart" :xtm-id document-id))
+ (married (get-item-by-id "http://simpsons.tv/arcs/married" :xtm-id document-id)))
+ (is-true homer)
+ (is-true bart)
+ (is-true married)
+ (is (= (length (used-as-type married)) 1))
+ (is-true (reifier (first (used-as-type married))))
+ (is-true (reified (reifier (first (used-as-type married)))))
+ (is (= (length (psis (reifier (first (used-as-type married))))) 1))
+ (is (string= (uri (first (psis (reifier (first (used-as-type married))))))
+ "http://test-tm#married-arc"))
+ (is (= (length (occurrences bart)) 1))
+ (is-true (reifier (first (occurrences bart))))
+ (is-true (reified (reifier (first (occurrences bart)))))
+ (is (string= (uri (first (psis (reifier (first (occurrences bart))))))
+ "http://test-tm#lastName-arc"))))
+ (elephant:close-store))
- ))
+
+(test test-rdf-importer-reification-3
+ "Tests the rdf-importer, especially some reification cases of
+ the tm2rdf mapping."
+ (let ((db-dir "data_base")
+ (tm-id "http://test-tm/")
+ (revision-1 100)
+ (document-id "doc-id"))
+ (clean-out-db db-dir)
+ (rdf-importer:rdf-importer
+ *reification.rdf* db-dir :tm-id tm-id
+ :document-id document-id :start-revision revision-1)
+ (elephant:open-store (xml-importer:get-store-spec db-dir))
+ (let ((lisa (get-item-by-id "http://simpsons.tv/lisa" :xtm-id document-id)))
+ (is-true lisa)
+ (is (= (length (names lisa)) 1))
+ (is (= (length (occurrences lisa)) 1))
+ (let ((name (first (names lisa)))
+ (occurrence (first (occurrences lisa))))
+ (is (= (length (variants name)) 1))
+ (let ((variant (first (variants name))))
+ (is-true (reifier name))
+ (is-true (reified (reifier name)))
+ (is (= (length (psis (reifier name))) 1))
+ (is (string= (uri (first (psis (reifier name))))
+ (concatenate 'string tm-id "lisa-name")))
+ (is-true (reifier variant))
+ (is-true (reified (reifier variant)))
+ (is (= (length (psis (reifier variant))) 1))
+ (is (string= (uri (first (psis (reifier variant))))
+ (concatenate 'string tm-id "lisa-name-variant")))
+ (is-true (reifier occurrence))
+ (is-true (reified (reifier occurrence)))
+ (is (= (length (psis (reifier occurrence))) 1))
+ (is (string= (uri (first (psis (reifier occurrence))))
+ (concatenate 'string tm-id "lisa-occurrence")))))))
+ (elephant:close-store))
@@ -647,6 +705,7 @@
;;TODO: check merge-reifier-topics (--> versioning)
;;TODO: check fragment exporter
;;TODO: extend the fragment-importer in the RESTful-interface
+;;TODO: Delete the tm2rdf-mapping-constructs --> maybe there is a bug in the map-to-tm-file???
;;TODO: DOKU
@@ -657,4 +716,5 @@
(it.bese.fiveam:run! 'test-xtm1.0-reification-exporter)
(it.bese.fiveam:run! 'test-xtm2.0-reification-exporter)
(it.bese.fiveam:run! 'test-rdf-importer-reification)
- (it.bese.fiveam:run! 'test-rdf-importer-reification-2))
\ No newline at end of file
+ (it.bese.fiveam:run! 'test-rdf-importer-reification-2)
+ (it.bese.fiveam:run! 'test-rdf-importer-reification-3))
\ No newline at end of file
Modified: trunk/src/xml/rdf/map_to_tm.lisp
==============================================================================
--- trunk/src/xml/rdf/map_to_tm.lisp (original)
+++ trunk/src/xml/rdf/map_to_tm.lisp Fri Dec 4 11:06:21 2009
@@ -45,7 +45,7 @@
*tm2rdf-occurrence-property* *tm2rdf-roletype-property*
*tm2rdf-variant-property* *tm2rdf-occurrencetype-property*
*tm2rdf-name-property* *tm2rdf-associationtype-property*
- *tm2rdf-scope-property*)))
+ *tm2rdf-scope-property* *tm2rdf-reifier-property*)))
(dolist (uri psi-uris)
(delete-topic-if-not-referenced uri start-revision))))
More information about the Isidorus-cvs
mailing list