diff -r d1b72b31e315 -r 9011d9c20a89 web/test/unittest_owl.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/test/unittest_owl.py Thu Jan 22 15:53:39 2009 +0100
@@ -0,0 +1,4075 @@
+"""unittests for schema2dot"""
+
+import os
+
+from logilab.common.testlib import TestCase, unittest_main
+from logilab.common.compat import set
+from cubicweb.devtools.testlib import WebTest
+
+from lxml import etree
+from StringIO import StringIO
+
+
+class OWLTC(WebTest):
+
+ def test_schema2owl(self):
+
+ parser = etree.XMLParser(dtd_validation=True)
+
+ owl= StringIO('''
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+''')
+
+ rdf = StringIO('''
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ''')
+
+
+ xmlschema_rdf = etree.parse(rdf)
+ xmlschema_owl = etree.parse(owl)
+
+ owlschema = etree.XMLSchema(xmlschema_owl)
+ valid = StringIO('''
+
+
+
+
+
+
+ ]>
+
+
+
+
+ inst_jplorg2 Cubicweb OWL Ontology
+
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ n
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ''')
+ doc = etree.parse(valid)
+ owlschema.validate(doc)
+
+if __name__ == '__main__':
+ unittest_main()
+