Esempio n. 1
0
 def test_delete(self):
     onto = Ontology(
         con=self.con,
         project=self.project,
         name="testonto_3",
         label="test ontology 3",
     ).create()
     self.assertIsNotNone(onto.id)
     res = onto.delete()
     self.assertIsNotNone(res)
Esempio n. 2
0
 def test_update(self):
     onto = Ontology(
         con=self.con,
         project=self.project,
         name="testonto_2",
         label="test ontology 2",
     ).create()
     self.assertIsNotNone(onto.id)
     onto.label = 'This is a modified label!'
     onto = onto.update()
     self.assertEqual(onto.label, 'This is a modified label!')
Esempio n. 3
0
    def test_ResourceClass_update(self):
        #
        # Connect to Knora
        #
        con = Connection('http://0.0.0.0:3333')
        con.login('*****@*****.**', 'test')

        #
        # Create a test ontology
        #
        onto = Ontology(
            con=con,
            project=self.project,
            name='resclass-test-onto-2',
            label='resclass test ontology 2',
        ).create()
        last_modification_date = onto.lastModificationDate
        self.assertIsNotNone(onto.id)
        #
        # create test resource class
        #
        last_modification_date, resclass = ResourceClass(
            con=con,
            context=onto.context,
            name=self.name,
            ontology_id=onto.id,
            label=self.label,
            comment=self.comment).create(last_modification_date)
        onto.lastModificationDate = last_modification_date
        self.assertIsNotNone(resclass.id)

        #
        # Modify the resource class
        #
        resclass.addLabel('en', "This is english gaga")
        resclass.rmLabel('de')
        resclass.addComment('it', "Commentario italiano")
        last_modification_date, resclass = resclass.update(
            last_modification_date)
        onto.lastModificationDate = last_modification_date
        self.assertEqual(resclass.label['en'], "This is english gaga")
        self.assertEqual(resclass.comment['it'], "Commentario italiano")

        #
        # Now delete the resource class to clean up
        #
        last_modification_date = resclass.delete(last_modification_date)
        onto.lastModificationDate = last_modification_date
Esempio n. 4
0
    def setUp(self) -> None:
        #
        # Connect to Knora
        #
        self.con = Connection('http://0.0.0.0:3333')
        self.con.login('*****@*****.**', 'test')

        #
        # Create a test ontology
        #
        self.onto = Ontology(
            con=self.con,
            project=self.project,
            name=self.onto_name,
            label=self.onto_label,
        ).create()
        self.assertIsNotNone(self.onto.id)
        self.last_modification_date = self.onto.lastModificationDate
Esempio n. 5
0
 def test_get_ontologies_of_project(self):
     ontolist = Ontology.getProjectOntologies(self.con, self.project)
     ontolist_ids = [x.id for x in ontolist]
     self.assertIn('http://0.0.0.0:3333/ontology/0001/anything/v2',
                   ontolist_ids)
     self.assertIn('http://0.0.0.0:3333/ontology/0001/minimal/v2',
                   ontolist_ids)
     self.assertIn('http://0.0.0.0:3333/ontology/0001/something/v2',
                   ontolist_ids)
Esempio n. 6
0
 def test_read(self):
     onto = Ontology(
         con=self.con,
         id='http://0.0.0.0:3333/ontology/0001/anything/v2').read()
     self.assertEqual(onto.id,
                      "http://0.0.0.0:3333/ontology/0001/anything/v2")
     self.assertEqual(onto.project, "http://rdfh.ch/projects/0001")
     self.assertEqual(onto.label, "The anything ontology")
     self.assertIsNotNone(onto.lastModificationDate)
Esempio n. 7
0
 def test_ontology(self):
     onto = Ontology(con=self.con,
                     project=self.project,
                     name="test_ontology_0",
                     label="test ontology 0",
                     lastModificationDate="2017-12-19T15:23:42.166Z")
     self.assertEqual(onto.project, self.project)
     self.assertEqual(onto.label, "test ontology 0")
     self.assertEqual(onto.lastModificationDate,
                      LastModificationDate("2017-12-19T15:23:42.166Z"))
Esempio n. 8
0
    def test_ResourceClass_create(self):
        #
        # Connect to Knora
        #
        con = Connection('http://0.0.0.0:3333')
        con.login('*****@*****.**', 'test')

        #
        # Create a test ontology
        #
        onto = Ontology(
            con=con,
            project=self.project,
            name='resclass-test-onto-1',
            label='resclass test ontology 1',
        ).create()
        last_modification_date = onto.lastModificationDate
        self.assertIsNotNone(onto.id)
        #
        # Create new resource class
        #
        last_modification_date, resclass = ResourceClass(
            con=con,
            context=onto.context,
            name=self.name,
            ontology_id=onto.id,
            label=self.label,
            comment=self.comment).create(last_modification_date)
        onto.lastModificationDate = last_modification_date
        self.assertIsNotNone(resclass.id)

        self.assertEqual(resclass.name, self.name)
        self.assertEqual(resclass.label['de'], self.label['de'])
        self.assertEqual(resclass.comment['de'], self.comment['de'])

        #
        # Delete the new resource class
        #
        last_modification_date = resclass.delete(last_modification_date)
        onto.lastModificationDate = last_modification_date
Esempio n. 9
0
 def test_create(self):
     onto = Ontology(
         con=self.con,
         project=self.project,
         name="testonto_1",
         label="test ontology 1",
     ).create()
     self.assertIsNotNone(onto.id)
     self.assertEqual(
         onto.id,
         'http://0.0.0.0:3333/ontology/0001/' + "testonto_1" + '/v2')
     self.assertEqual(onto.label, "test ontology 1")
     self.assertEqual(onto.project, self.project)
Esempio n. 10
0
class TestPropertyClass(unittest.TestCase):
    project = "http://rdfh.ch/projects/0001"
    onto_name = 'propclass-test'
    onto_label = 'propclass_test_ontology'

    onto: Ontology
    last_modification_date: LastModificationDate
    con: Connection

    name = 'MyPropClassName'
    object = 'TextValue'
    label = LangString({Languages.DE: 'MyPropClassLabel'})
    comment = LangString(
        {Languages.DE: 'This is a property class for testing'})

    def setUp(self) -> None:
        #
        # Connect to Knora
        #
        self.con = Connection('http://0.0.0.0:3333')
        self.con.login('*****@*****.**', 'test')

        #
        # Create a test ontology
        #
        self.onto = Ontology(
            con=self.con,
            project=self.project,
            name=self.onto_name,
            label=self.onto_label,
        ).create()
        self.assertIsNotNone(self.onto.id)
        self.last_modification_date = self.onto.lastModificationDate

    def tearDown(self):
        #
        # remove test ontology
        #
        result = self.onto.delete()
        self.assertIsNotNone(result)

    def test_PropertyClass_create(self):
        #
        # Create new property class
        #
        self.last_modification_date, propclass = PropertyClass(
            con=self.con,
            context=self.onto.context,
            name=self.name,
            ontology_id=self.onto.id,
            object=self.object,
            label=self.label,
            comment=self.comment).create(self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertIsNotNone(propclass.id)

        self.assertEqual(propclass.name, self.name)
        self.assertEqual(propclass.label['de'], self.label['de'])
        self.assertEqual(propclass.comment['de'], self.comment['de'])

        #
        # Again get ontology data
        #
        self.onto = self.onto.read()
        self.last_modification_date = self.onto.lastModificationDate
        self.last_modification_date = propclass.delete(
            self.last_modification_date)

        #
        # Again get ontology data
        #
        self.onto = self.onto.read()

    def test_PropertyClass_update(self):
        self.onto = self.onto.read()

        #
        # create test resource class
        #
        self.last_modification_date, propclass = PropertyClass(
            con=self.con,
            context=self.onto.context,
            name=self.name,
            ontology_id=self.onto.id,
            object=self.object,
            label=self.label,
            comment=self.comment).create(self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertIsNotNone(propclass.id)

        #
        # Modify the property class
        #
        propclass.addLabel('en', "This is english gaga")
        propclass.rmLabel('de')
        propclass.addComment('it', "Commentario italiano")
        self.last_modification_date, propclass = propclass.update(
            self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertEqual(propclass.label['en'], "This is english gaga")
        self.assertEqual(propclass.comment['it'], "Commentario italiano")

        #
        # Now delete the resource class to clean up
        #
        self.last_modification_date = propclass.delete(
            self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
Esempio n. 11
0
class TestAllClass(unittest.TestCase):
    project = "http://rdfh.ch/projects/0001"
    onto_name = 'all-test'
    onto_label = 'all_test_ontology'

    resclass_name = 'MyResClassName'
    resclass_label = LangString({Languages.DE: 'MyResClassLabel'})
    resclass_comment = LangString(
        {Languages.DE: 'This is a resource class for testing'})

    propclass_name = 'MyPropClassName'
    propclass_object = 'TextValue'
    propclass_label = LangString({Languages.DE: 'MyPropClassLabel'})
    propclass_comment = LangString(
        {Languages.DE: 'This is a property class for testing'})

    con: Connection
    onto: Ontology
    last_modification_date: LastModificationDate

    def setUp(self) -> None:
        #
        # Connect to Knora
        #
        self.con = Connection('http://0.0.0.0:3333')
        self.con.login('*****@*****.**', 'test')

        #
        # Create a test ontology
        #
        self.onto = Ontology(
            con=self.con,
            project=self.project,
            name=self.onto_name,
            label=self.onto_label,
        ).create()
        self.last_modification_date = self.onto.lastModificationDate
        self.assertIsNotNone(self.onto.id)

    def tearDown(self):
        #
        # remove test ontology
        #
        result = self.onto.delete()
        self.assertIsNotNone(result)

    def test_AllThings_create(self):
        #
        # Create new resource class
        #
        self.last_modification_date, resclass = ResourceClass(
            con=self.con,
            context=self.onto.context,
            name=self.resclass_name,
            ontology_id=self.onto.id,
            label=self.resclass_label,
            comment=self.resclass_comment).create(self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertIsNotNone(resclass.id)

        self.assertEqual(resclass.name, self.resclass_name)
        self.assertEqual(resclass.label['de'], self.resclass_label['de'])
        self.assertEqual(resclass.comment['de'], self.resclass_comment['de'])

        #
        # Create new property class
        #
        self.last_modification_date, propclass = PropertyClass(
            con=self.con,
            context=self.onto.context,
            name=self.propclass_name,
            ontology_id=self.onto.id,
            object=self.propclass_object,
            label=self.propclass_label,
            comment=self.propclass_comment).create(self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertIsNotNone(propclass.id)

        self.assertEqual(propclass.name, self.propclass_name)
        self.assertEqual(propclass.label['de'], self.propclass_label['de'])
        self.assertEqual(propclass.comment['de'], self.propclass_comment['de'])

        #
        # Create HasProperty (cardinality)
        #
        self.last_modification_date = resclass.addProperty(
            propclass.id, Cardinality.C_1, self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertEqual(
            resclass.getProperty(propclass.id).cardinality, Cardinality.C_1)
        self.assertIsNotNone(self.last_modification_date)

        #
        # Modify HasProperty (cardinality)
        #
        self.last_modification_date = resclass.updateProperty(
            propclass.id, Cardinality.C_1_n, self.last_modification_date)
        self.onto.lastModificationDate = self.last_modification_date
        self.assertEqual(
            resclass.getProperty(propclass.id).cardinality, Cardinality.C_1_n)
        self.assertIsNotNone(self.last_modification_date)