[isidorus-cvs] r166 - in trunk/src: model unit_tests
Lukas Giessmann
lgiessmann at common-lisp.net
Tue Dec 8 15:46:53 UTC 2009
Author: lgiessmann
Date: Tue Dec 8 10:46:52 2009
New Revision: 166
Log:
all reifiers of a fragment\'s topic are collected now as referenced-topics
Modified:
trunk/src/model/changes.lisp
trunk/src/unit_tests/reification_test.lisp
Modified: trunk/src/model/changes.lisp
==============================================================================
--- trunk/src/model/changes.lisp (original)
+++ trunk/src/model/changes.lisp Tue Dec 8 10:46:52 2009
@@ -57,6 +57,8 @@
(defmethod find-referenced-topics ((characteristic CharacteristicC))
"characteristics are scopable + typable"
(append
+ (when (reifier characteristic)
+ (list (reifier characteristic)))
(themes characteristic)
(when (instance-of-p characteristic)
(list (instance-of characteristic)))
@@ -68,12 +70,16 @@
(defmethod find-referenced-topics ((role RoleC))
(append
+ (when (reifier role)
+ (list (reifier role)))
(list (instance-of role))
(list (player role))))
(defmethod find-referenced-topics ((association AssociationC))
"associations are scopable + typable"
(append
+ (when (reifier association)
+ (list (reifier association)))
(list (instance-of association))
(themes association)
(mapcan #'find-referenced-topics (roles association))))
Modified: trunk/src/unit_tests/reification_test.lisp
==============================================================================
--- trunk/src/unit_tests/reification_test.lisp (original)
+++ trunk/src/unit_tests/reification_test.lisp Tue Dec 8 10:46:52 2009
@@ -44,7 +44,8 @@
:test-rdf-exporter-reification
:test-rdf-exporter-reification-2
:test-rdf-exporter-reification-3
- :test-rdf-exporter-reification-4))
+ :test-rdf-exporter-reification-4
+ :test-fragment-reification))
(in-package :reification-test)
@@ -969,8 +970,42 @@
(elephant:close-store))
+(test test-fragment-reification
+ "Tests the reification in the rdf-exporter."
+ (let
+ ((dir "data_base")
+ (output-file "__out__.rdf")
+ (tm-id "http://simpsons.tv"))
+ (handler-case (delete-file output-file)
+ (error () )) ;do nothing
+ (clean-out-db dir)
+ (rdf-importer:rdf-importer *reification.rdf* dir
+ :tm-id tm-id
+ :document-id "reification-xtm")
+ (elephant:open-store (xml-importer:get-store-spec dir))
+ (let ((fragment (d:create-latest-fragment-of-topic "http://simpsons.tv/lisa")))
+ (is-true fragment)
+ (is (= (length (union (referenced-topics fragment)
+ (list (d:get-item-by-psi "http://simpsons.tv/lastName")
+ (d:get-item-by-psi "http://simpsons.tv/sortName")
+ (d:get-item-by-psi "http://simpsons.tv/profession")
+ (d:get-item-by-psi "http://simpsons.tv/lisa-name")
+ (d:get-item-by-psi "http://simpsons.tv/lisa-name-variant")
+ (d:get-item-by-psi "http://simpsons.tv/lisa-occurrence"))))
+ 6)))
+ (let ((fragment (d:create-latest-fragment-of-topic "http://simpsons.tv/carl")))
+ (is-true fragment)
+ (is (= (length (union (referenced-topics fragment)
+ (list (d:get-item-by-psi "http://simpsons.tv/friendship")
+ (d:get-item-by-psi "http://simpsons.tv/friendship-association")
+ (d:get-item-by-psi "http://simpsons.tv/friend")
+ (d:get-item-by-psi "http://simpsons.tv/lenny")
+ (d:get-item-by-psi "http://simpsons.tv/friend-role"))))
+ 5))))
+ (elephant:close-store))
+
+
;;TODO: check merge-reifier-topics (--> versioning)
-;;TODO: check fragment exporter
;;TODO: extend the fragment-importer in the RESTful-interface
;;TODO: DOKU
@@ -988,4 +1023,5 @@
(it.bese.fiveam:run! 'test-rdf-exporter-reification)
(it.bese.fiveam:run! 'test-rdf-exporter-reification-2)
(it.bese.fiveam:run! 'test-rdf-exporter-reification-3)
- (it.bese.fiveam:run! 'test-rdf-exporter-reification-4))
\ No newline at end of file
+ (it.bese.fiveam:run! 'test-rdf-exporter-reification-4)
+ (it.bese.fiveam:run! 'test-fragment-reification))
\ No newline at end of file
More information about the Isidorus-cvs
mailing list