[isidorus-cvs] r111 - in trunk/src: . unit_tests xml/rdf
Lukas Giessmann
lgiessmann at common-lisp.net
Fri Aug 7 15:48:42 UTC 2009
Author: lgiessmann
Date: Fri Aug 7 11:48:40 2009
New Revision: 111
Log:
finalized the unit tests for poems.rdf
Modified:
trunk/src/constants.lisp
trunk/src/unit_tests/poems.rdf
trunk/src/unit_tests/poems_light.rdf
trunk/src/unit_tests/rdf_importer_test.lisp
trunk/src/xml/rdf/importer.lisp
trunk/src/xml/rdf/rdf_tools.lisp
Modified: trunk/src/constants.lisp
==============================================================================
--- trunk/src/constants.lisp (original)
+++ trunk/src/constants.lisp Fri Aug 7 11:48:40 2009
@@ -37,7 +37,8 @@
:*rdf-rest*
:*rdf2tm-object*
:*rdf2tm-subject*
- :*rdf2tm-collection*))
+ :*rdf2tm-collection*
+ :*rdf2tm-scope-prefix*))
(in-package :constants)
(defparameter *xtm2.0-ns* "http://www.topicmaps.org/xtm/")
@@ -94,4 +95,6 @@
(defparameter *rdf2tm-subject* "http://isidorus/rdf2tm_mapping#subject")
-(defparameter *rdf2tm-collection* "http://isidorus/rdf2tm_mapping#collection")
\ No newline at end of file
+(defparameter *rdf2tm-collection* "http://isidorus/rdf2tm_mapping#collection")
+
+(defparameter *rdf2tm-scope-prefix* "http://isidorus/rdf2tm_mapping/scope#")
\ No newline at end of file
Modified: trunk/src/unit_tests/poems.rdf
==============================================================================
--- trunk/src/unit_tests/poems.rdf (original)
+++ trunk/src/unit_tests/poems.rdf Fri Aug 7 11:48:40 2009
@@ -16,7 +16,7 @@
<types:Event>
<arcs:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">28.08.1749</arcs:date>
<arcs:place>
- <rdf:Description rdf:about="/region/FrankfurtMain">
+ <rdf:Description rdf:about="/metropolis/FrankfurtMain">
<rdf:type>
<rdf:Description rdf:about="/types/Metropolis">
<rdfs:subClassOf rdf:resource="/types/Region"/>
@@ -33,7 +33,7 @@
<arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedLong">82099232</arcs:population>
<arcs:officialese rdf:resource="language/German"/>
<arcs:capital>
- <rdf:Description rdf:about="http://some.where/region/Berlin">
+ <rdf:Description rdf:about="http://some.where/metropolis/Berlin">
<rdf:type>
<rdf:Description rdf:about="http://some.where/types/Metropolis"/>
</rdf:type>
@@ -54,9 +54,9 @@
<rdf:type rdf:resource="Event"/>
<arcs:date rdf:datatype="#date" xml:base="http://www.w3.org/2001/XMLSchema">22.03.1832</arcs:date>
<arcs:place xml:base="">
- <types:City rdf:about="Weimar" arcs:fullName="Weimar">
+ <types:City rdf:about="http://some.where/city/Weimar" arcs:fullName="Weimar">
<rdfs:subClassOf rdf:resource="http://some.where/types/Region"/>
- <arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsigneLong">64720</arcs:population>
+ <arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedLong">64720</arcs:population>
<arcs:locatedIn rdf:resource="http://some.where/country/Germany"/>
</types:City>
</arcs:place>
Modified: trunk/src/unit_tests/poems_light.rdf
==============================================================================
--- trunk/src/unit_tests/poems_light.rdf (original)
+++ trunk/src/unit_tests/poems_light.rdf Fri Aug 7 11:48:40 2009
@@ -16,7 +16,7 @@
<types:Event>
<arcs:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">28.08.1749</arcs:date>
<arcs:place>
- <rdf:Description rdf:about="/region/FrankfurtMain">
+ <rdf:Description rdf:about="/metropolis/FrankfurtMain">
<rdf:type>
<rdf:Description rdf:about="/types/Metropolis">
<rdfs:subClassOf rdf:resource="/types/Region"/>
@@ -33,7 +33,7 @@
<arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedLong">82099232</arcs:population>
<arcs:officialese rdf:resource="language/German"/>
<arcs:capital>
- <rdf:Description rdf:about="http://some.where/region/Berlin">
+ <rdf:Description rdf:about="http://some.where/metropolis/Berlin">
<rdf:type>
<rdf:Description rdf:about="http://some.where/types/Metropolis"/>
</rdf:type>
@@ -54,9 +54,9 @@
<rdf:type rdf:resource="Event"/>
<arcs:date rdf:datatype="#date" xml:base="http://www.w3.org/2001/XMLSchema">22.03.1832</arcs:date>
<arcs:place xml:base="">
- <types:City rdf:about="Weimar" arcs:fullName="Weimar">
+ <types:City rdf:about="http://some.where/city/Weimar" arcs:fullName="Weimar">
<rdfs:subClassOf rdf:resource="http://some.where/types/Region"/>
- <arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsigneLong">64720</arcs:population>
+ <arcs:population rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedLong">64720</arcs:population>
<arcs:locatedIn rdf:resource="http://some.where/country/Germany"/>
</types:City>
</arcs:place>
Modified: trunk/src/unit_tests/rdf_importer_test.lisp
==============================================================================
--- trunk/src/unit_tests/rdf_importer_test.lisp (original)
+++ trunk/src/unit_tests/rdf_importer_test.lisp Fri Aug 7 11:48:40 2009
@@ -55,7 +55,9 @@
:test-import-node-reification
:test-import-dom
:test-poems-rdf-occurrences
- :test-poems-rdf-associations))
+ :test-poems-rdf-associations
+ :test-poems-rdf-typing
+ :test-poems-rdf-topics))
(declaim (optimize (debug 3) (speed 0) (safety 3) (space 0) (compilation-speed 0)))
@@ -1728,17 +1730,31 @@
(occs (elephant:get-instances-by-class 'd:OccurrenceC))
(assocs (elephant:get-instances-by-class 'd:AssociationC))
(arcs "http://some.where/relationship/")
+ (goethe "http://some.where/author/Goethe")
+ (weimar "http://some.where/city/Weimar")
+ (berlin "http://some.where/metropolis/Berlin")
+ (frankfurt "http://some.where/metropolis/FrankfurtMain")
+ (germany "http://some.where/country/Germany")
+ (zauberlehrling "http://some.where/poem/Der_Zauberlehrling")
+ (prometheus "http://some.where/poem/Prometheus")
+ (erlkoenig "http://some.where/ballad/Der_Erlkoenig")
(date "http://www.w3.org/2001/XMLSchema#date")
+ (de (d:get-item-by-id "http://isidorus/rdf2tm_mapping/scope#de"))
(long "http://www.w3.org/2001/XMLSchema#unsignedLong"))
(is (= (length topics) 65))
(is (= (length occs) 23))
(is (= (length assocs) 30))
+ (is-true de)
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "firstName"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= (length (d:themes x)) 0)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ goethe)))
occs)
1))
(is (= (count-if
@@ -1746,7 +1762,11 @@
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "lastName"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= (length (d:themes x)) 0)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ goethe)))
occs)
1))
(is (= (count-if
@@ -1754,15 +1774,61 @@
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "fullName"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= (length (d:themes x)) 0)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ weimar)))
occs)
- 2))
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "fullName"))
+ (string= *xml-string* (d:datatype x))
+ (= (length (d:themes x)) 0)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ frankfurt)))
+ occs)
+ 1))
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "nativeName"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ germany)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "title"))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ zauberlehrling)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "title"))
+ (= 0 (length (d:themes x)))
+ (string= *xml-string* (d:datatype x))
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ prometheus)))
occs)
1))
(is (= (count-if
@@ -1770,31 +1836,109 @@
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "title"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ erlkoenig)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "content"))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ zauberlehrling)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "content"))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ prometheus)))
occs)
- 3))
+ 1))
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "content"))
- (string= *xml-string* (d:datatype x))))
+ (string= *xml-string* (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ erlkoenig)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "population"))
+ (string= long (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ weimar)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "population"))
+ (string= long (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ frankfurt)))
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "population"))
+ (string= long (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ berlin)))
occs)
- 3))
+ 1))
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "population"))
- (string= long (d:datatype x))))
+ (string= long (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 1)
+ (string= (d:uri (first (d:psis (d:topic x))))
+ germany)))
occs)
- 3))
+ 1))
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "date"))
- (string= date (d:datatype x))))
+ (string= date (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 0)))
occs)
2))
(is (= (count-if
@@ -1802,26 +1946,763 @@
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "start"))
- (string= date (d:datatype x))))
+ (string= date (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 0)))
+
+ occs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "start"))
+ (string= date (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 0)))
+
+ occs)
+ 2))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "end"))
+ (string= date (d:datatype x))
+ (= 1 (length (d:themes x)))
+ (eql (first (d:themes x)) de)
+ (= (length (d:psis (d:topic x))) 0)))
occs)
- 3))
+ 1))
(is (= (count-if
#'(lambda(x)
(and (= (length (d:psis (d:instance-of x))) 1)
(string= (d:uri (first (d:psis (d:instance-of x))))
(concatenate 'string arcs "end"))
- (string= date (d:datatype x))))
+ (string= date (d:datatype x))
+ (= 0 (length (d:themes x)))
+ (= (length (d:psis (d:topic x))) 0)))
occs)
- 3)))))
+ 2)))))
(test test-poems-rdf-associations
"Tests general functionality of the rdf-importer module with the file
poems_light.rdf."
(with-fixture rdf-test-db ()
+ (let ((assocs (elephant:get-instances-by-class 'd:AssociationC))
+ (isi-object (d:get-item-by-psi constants::*rdf2tm-object*))
+ (isi-subject (d:get-item-by-psi constants::*rdf2tm-subject*))
+ (arcs "http://some.where/relationship/")
+ (goethe "http://some.where/author/Goethe")
+ (germany "http://some.where/country/Germany")
+ (berlin "http://some.where/metropolis/Berlin")
+ (german "http://some.where/language/German")
+ (frankfurt "http://some.where/metropolis/FrankfurtMain")
+ (weimar "http://some.where/city/Weimar")
+ (zauberlehrling "http://some.where/poem/Der_Zauberlehrling")
+ (prometheus "http://some.where/poem/Prometheus")
+ (erlkoenig "http://some.where/ballad/Der_Erlkoenig"))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "born"))
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ goethe)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "died"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ goethe)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "wrote"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ goethe)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "capital"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ germany)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ berlin)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "officialese"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ germany)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ german)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "place"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ frankfurt)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "place"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ weimar)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "locatedIn"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ frankfurt)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ germany)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "locatedIn"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ weimar)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ germany)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "locatedIn"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ berlin)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ germany)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "dateRange"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ prometheus)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "dateRange"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ zauberlehrling)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string arcs "dateRange"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ erlkoenig)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string constants:*rdf-ns* "_1"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ zauberlehrling)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string constants:*rdf-ns* "_1"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ erlkoenig)))
+ (d:roles x))))
+ assocs)
+ 1))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (= (length (d:psis (d:instance-of x))) 1)
+ (string= (d:uri (first (d:psis (d:instance-of x))))
+ (concatenate 'string constants:*rdf-ns* "_2"))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-subject)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) isi-object)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ prometheus)))
+ (d:roles x))))
+ assocs)
+ 1)))))
- ))
+(test test-poems-rdf-typing
+ "Tests general functionality of the rdf-importer module with the file
+ poems_light.rdf."
+ (with-fixture rdf-test-db ()
+ (let ((assocs (elephant:get-instances-by-class 'd:AssociationC))
+ (type (get-item-by-psi constants:*type-psi*))
+ (instance (get-item-by-psi constants:*instance-psi*))
+ (type-instance (get-item-by-psi constants:*type-instance-psi*))
+ (subtype (get-item-by-psi constants:*subtype-psi*))
+ (supertype (get-item-by-psi constants:*supertype-psi*))
+ (supertype-subtype
+ (get-item-by-psi constants:*supertype-subtype-psi*))
+ (region "http://some.where/types/Region")
+ (metropolis "http://some.where/types/Metropolis")
+ (city "http://some.where/types/City")
+ (frankfurt "http://some.where/metropolis/FrankfurtMain")
+ (weimar "http://some.where/city/Weimar")
+ (berlin "http://some.where/metropolis/Berlin")
+ (language "http://some.where/types/Language")
+ (german "http://some.where/language/German")
+ (author "http://some.where/types/Author")
+ (goethe "http://some.where/author/Goethe")
+ (bag (concatenate 'string constants::*rdf-ns* "Bag"))
+ (poem "http://some.where/types/Poem")
+ (ballad "http://some.where/types/Ballad")
+ (zauberlehrling "http://some.where/poem/Der_Zauberlehrling")
+ (prometheus "http://some.where/poem/Prometheus")
+ (erlkoenig "http://some.where/ballad/Der_Erlkoenig")
+ (country "http://some.where/types/Country")
+
+ )
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) supertype-subtype)
+ (= (length (d:roles x)) 2)
+ (= (count-if
+ #'(lambda(y)
+ (or (eql (d:instance-of y) supertype)
+ (eql (d:instance-of y) subtype)))
+ (d:roles x)))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) supertype-subtype)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) supertype)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ region)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) subtype)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ metropolis)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) supertype-subtype)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) supertype)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ region)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) subtype)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ city)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ metropolis)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ frankfurt)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ metropolis)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ berlin)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ city)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ weimar)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ language)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ german)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ bag)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 0)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ author)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ goethe)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ ballad)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ erlkoenig)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ poem)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ zauberlehrling)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ poem)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ prometheus)))
+ (d:roles x))))
+ assocs)))
+ (is (= (count-if
+ #'(lambda(x)
+ (and (eql (d:instance-of x) type-instance)
+ (= (length (d:roles x)) 2)
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) type)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ country)))
+ (d:roles x))
+ (find-if
+ #'(lambda(y)
+ (and (eql (d:instance-of y) instance)
+ (= (length (d:psis (d:player y))) 1)
+ (string= (d:uri (first (d:psis (d:player y))))
+ poem)))
+ (d:roles x))))
+ assocs))))))
+
+
+(defun check-topic (top psi)
+ "A simple helper for test-poems-rdf-topics."
+ (is-true top)
+ (is (= (length (d:psis top)) (if psi 1 0)))
+ (when psi
+ (is (string= (d:uri (first (d:psis top))) psi)))
+ (is (= (length (d:names top)) 0)))
+
+
+(test test-poems-rdf-topics
+ "Tests general functionality of the rdf-importer module with the file
+ poems_light.rdf."
+ (with-fixture rdf-test-db ()
+ (let ((arcs "http://some.where/relationship/")
+ (types "http://some.where/types/"))
+ (let ((goethe (get-item-by-id "http://some.where/author/Goethe"))
+ (author (get-item-by-id (concatenate 'string types "Author")))
+ (first-name (get-item-by-id
+ (concatenate 'string arcs "firstName")))
+ (last-name (get-item-by-id
+ (concatenate 'string arcs "lastName")))
+ (born (get-item-by-id (concatenate 'string arcs "born")))
+ (event (get-item-by-id (concatenate 'string types "Event")))
+ (date (get-item-by-id (concatenate 'string arcs "date")))
+ (place (get-item-by-id (concatenate 'string arcs "place")))
+ (frankfurt (get-item-by-id
+ "http://some.where/metropolis/FrankfurtMain"))
+ (metropolis (get-item-by-id (concatenate 'string types
+ "Metropolis")))
+ (region (get-item-by-id (concatenate 'string types "Region")))
+ (population (get-item-by-id (concatenate 'string arcs
+ "population")))
+ (locatedIn (get-item-by-id (concatenate 'string arcs
+ "locatedIn")))
+ (germany (get-item-by-id "http://some.where/country/Germany"))
+ (country (get-item-by-id (concatenate 'string types "Country")))
+ (native-name (get-item-by-id (concatenate 'string arcs
+ "nativeName")))
+ (officialese (get-item-by-id (concatenate 'string arcs
+ "officialese")))
+ (german (get-item-by-id "http://some.where/language/German"))
+ (capital (get-item-by-id (concatenate 'string arcs "capital")))
+ (berlin (get-item-by-id "http://some.where/metropolis/Berlin"))
+ (died (get-item-by-id (concatenate 'string arcs "died")))
+ (weimar (get-item-by-id "http://some.where/city/Weimar"))
+ (city (get-item-by-id (concatenate 'string types "City")))
+ (wrote (get-item-by-id (concatenate 'string arcs "wrote")))
+ (goethe-literature (get-item-by-id "goethe_literature"))
+ (bag (get-item-by-id (concatenate 'string *rdf-ns* "Bag")))
+ (_1 (get-item-by-id (concatenate 'string *rdf-ns* "_1")))
+ (_2 (get-item-by-id (concatenate 'string *rdf-ns* "_2")))
+ (zauberlehrling
+ (get-item-by-id "http://some.where/poem/Der_Zauberlehrling"))
+ (poem (get-item-by-id (concatenate 'string types "Poem")))
+ (dateRange (get-item-by-id (concatenate 'string arcs "dateRange")))
+ (start (get-item-by-id (concatenate 'string arcs "start")))
+ (end (get-item-by-id (concatenate 'string arcs "end")))
+ (title (get-item-by-id (concatenate 'string arcs "title")))
+ (content (get-item-by-id (concatenate 'string arcs "content")))
+ (erlkoenig (get-item-by-id "http://some.where/ballad/Der_Erlkoenig"))
+ (ballad (get-item-by-id (concatenate 'string types "Ballad")))
+ (de (get-item-by-id (concatenate
+ 'string constants::*rdf2tm-scope-prefix*
+ "de")))
+ (prometheus (get-item-by-id "http://some.where/poem/Prometheus"))
+ (language (get-item-by-id (concatenate 'string types "Language")))
+ (full-name (get-item-by-id (concatenate 'string arcs "fullName"))))
+ (check-topic goethe "http://some.where/author/Goethe")
+ (check-topic author (concatenate 'string types "Author"))
+ (check-topic first-name (concatenate 'string arcs "firstName"))
+ (check-topic last-name (concatenate 'string arcs "lastName"))
+ (check-topic born (concatenate 'string arcs "born"))
+ (check-topic event (concatenate 'string types "Event"))
+ (check-topic date (concatenate 'string arcs "date"))
+ (check-topic place (concatenate 'string arcs "place"))
+ (check-topic frankfurt "http://some.where/metropolis/FrankfurtMain")
+ (check-topic metropolis (concatenate 'string types "Metropolis"))
+ (check-topic region (concatenate 'string types "Region"))
+ (check-topic population (concatenate 'string arcs "population"))
+ (check-topic locatedIn (concatenate 'string arcs "locatedIn"))
+ (check-topic germany "http://some.where/country/Germany")
+ (check-topic country (concatenate 'string types "Country"))
+ (check-topic native-name (concatenate 'string arcs "nativeName"))
+ (check-topic officialese (concatenate 'string arcs "officialese"))
+ (check-topic german "http://some.where/language/German")
+ (check-topic capital (concatenate 'string arcs "capital"))
+ (check-topic berlin "http://some.where/metropolis/Berlin")
+ (check-topic died (concatenate 'string arcs "died"))
+ (check-topic weimar "http://some.where/city/Weimar")
+ (check-topic city (concatenate 'string types "City"))
+ (check-topic wrote (concatenate 'string arcs "wrote"))
+ (check-topic goethe-literature nil)
+ (check-topic bag (concatenate 'string *rdf-ns* "Bag"))
+ (check-topic _1 (concatenate 'string *rdf-ns* "_1"))
+ (check-topic _2 (concatenate 'string *rdf-ns* "_2"))
+ (check-topic zauberlehrling "http://some.where/poem/Der_Zauberlehrling")
+ (check-topic poem (concatenate 'string types "Poem"))
+ (check-topic dateRange (concatenate 'string arcs "dateRange"))
+ (check-topic start (concatenate 'string arcs "start"))
+ (check-topic end (concatenate 'string arcs "end"))
+ (check-topic title (concatenate 'string arcs "title"))
+ (check-topic content (concatenate 'string arcs "content"))
+ (check-topic erlkoenig "http://some.where/ballad/Der_Erlkoenig")
+ (check-topic ballad (concatenate 'string types "Ballad"))
+ (check-topic de (concatenate 'string constants::*rdf2tm-scope-prefix*
+ "de"))
+ (check-topic prometheus "http://some.where/poem/Prometheus")
+ (check-topic language (concatenate 'string types "Language"))
+ (check-topic full-name (concatenate 'string arcs "fullName"))
+ (is (= (count-if #'(lambda(x)
+ (null (d:psis x)))
+ (elephant:get-instances-by-class 'd:TopicC))
+ 6))))))
(defun run-rdf-importer-tests()
@@ -1840,4 +2721,6 @@
(it.bese.fiveam:run! 'test-import-node-reification)
(it.bese.fiveam:run! 'test-import-dom)
(it.bese.fiveam:run! 'test-poems-rdf-occurrences)
- (it.bese.fiveam:run! 'test-poems-rdf-associations))
\ No newline at end of file
+ (it.bese.fiveam:run! 'test-poems-rdf-associations)
+ (it.bese.fiveam:run! 'test-poems-rdf-typing)
+ (it.bese.fiveam:run! 'test-poems-rdf-topics))
\ No newline at end of file
Modified: trunk/src/xml/rdf/importer.lisp
==============================================================================
--- trunk/src/xml/rdf/importer.lisp (original)
+++ trunk/src/xml/rdf/importer.lisp Fri Aug 7 11:48:40 2009
@@ -23,8 +23,8 @@
(get-store-spec repository-path)))
(xml-importer:init-isidorus)
(init-rdf-module)
- (rdf-importer rdf-xml-path repository-path :tm-id tm-id)
- :document-id document-id
+ (rdf-importer rdf-xml-path repository-path :tm-id tm-id
+ :document-id document-id)
(when elephant:*store-controller*
(elephant:close-store)))
@@ -409,15 +409,13 @@
topic-id err)))))))))
-(defun make-lang-topic (lang tm-id start-revision tm
+(defun make-lang-topic (lang start-revision tm
&key (document-id *document-id*))
"Returns a topic with the topicid tm-id/lang. If no such topic exist
there will be created one."
- (declare (TopicMapC tm))
- (when (and lang tm-id)
- (tm-id-p tm-id "make-lang-topic")
+ (when lang
(let ((psi-and-topic-id
- (absolutize-value lang nil tm-id)))
+ (concatenate-uri *rdf2tm-scope-prefix* lang)))
(let ((top (get-item-by-id psi-and-topic-id :xtm-id document-id
:revision start-revision)))
(if top
@@ -538,7 +536,7 @@
(let ((type-top (make-topic-stub type nil nil nil start-revision
xml-importer::tm
:document-id document-id))
- (lang-top (make-lang-topic lang tm-id start-revision
+ (lang-top (make-lang-topic lang start-revision
xml-importer::tm
:document-id document-id)))
(let ((occurrence
Modified: trunk/src/xml/rdf/rdf_tools.lisp
==============================================================================
--- trunk/src/xml/rdf/rdf_tools.lisp (original)
+++ trunk/src/xml/rdf/rdf_tools.lisp Fri Aug 7 11:48:40 2009
@@ -31,7 +31,8 @@
*rdf-nil*
*rdf-first*
*rdf-rest*
- *rdf2tm-collection*)
+ *rdf2tm-collection*
+ *rdf2tm-scope-prefix*)
(:import-from :xml-constants
*rdf_core_psis.xtm*)
(:import-from :xml-constants
More information about the Isidorus-cvs
mailing list