DgraphAndWeaviateTest: Difference between revisions

From BITPlan Wiki
Jump to navigation Jump to search
Line 37: Line 37:
== Example unit test ==
== Example unit test ==
<source lang='python'>
<source lang='python'>
def testDgraph(self):
    def testDgraph(self):
         cg=Dgraph(debug=True)
         '''
         cg.drop_all()
        test basic Dgraph operation
        '''
        dgraph=Dgraph(debug=True)
         # drop all data and schemas
        dgraph.drop_all()
        # create a schema for Pokemons
         schema='''
         schema='''
         name: string @index(exact) .
         name: string @index(exact) .
Line 49: Line 54:
   height
   height
}'''
}'''
         cg.addSchema(schema)
         dgraph.addSchema(schema)
        # prepare a list of Pokemons to be added
         pokemonList=[{'name':'Pikachu', 'weight':  6, 'height': 0.4 },
         pokemonList=[{'name':'Pikachu', 'weight':  6, 'height': 0.4 },
                   {'name':'Arbok',  'weight': 65, 'height': 3.5 },  
                   {'name':'Arbok',  'weight': 65, 'height': 3.5 },  
                   {'name':'Raichu',  'weight': 30, 'height': 0.8 },  
                   {'name':'Raichu',  'weight': 30, 'height': 0.8 },  
                   {'name':'Sandan',  'weight': 12, 'height': 0.6 }]
                   {'name':'Sandan',  'weight': 12, 'height': 0.6 }]
         cg.addData(obj=pokemonList)
         # add the list in a single transaction
        dgraph.addData(obj=pokemonList)
        # retrieve the data via GraphQL+ query
         graphQuery='''{
         graphQuery='''{
# list of pokemons
# list of pokemons
Line 63: Line 71:
   }
   }
}'''
}'''
         queryResult=cg.query(graphQuery)
         queryResult=dgraph.query(graphQuery)
        # check the result
         self.assertTrue('pokemons' in queryResult)
         self.assertTrue('pokemons' in queryResult)
         pokemons=queryResult['pokemons']
         pokemons=queryResult['pokemons']
         self.assertEqual(4,len(pokemons))
         self.assertEqual(4,len(pokemons))
         cg.close()
         # close the database connection
        pass
        dgraph.close()
</source>
</source>
== Example test session ==
== Example test session ==
see https://travis-ci.org/github/WolfgangFahl/DgraphAndWeaviateTest/jobs/715131236
see https://travis-ci.org/github/WolfgangFahl/DgraphAndWeaviateTest/jobs/715131236

Revision as of 07:27, 11 August 2020

OsProject

OsProject
edit
id  DgraphAndWeaviateTest
state  
owner  Wolfgang Fahl
title  DgraphAndWeaviateTest
url  https://github.com/WolfgangFahl/DgraphAndWeaviateTest
version  0.0.1
description  
date  2020/08/05
since  
until  

This is sample project to test Python based access to Dgraph and Weaviate

Installation

https://github.com/WolfgangFahl/DgraphAndWeaviateTest
cd DgraphAndWeaviateTest
scripts/install

Dgraph Installation

docker based pull:

scripts/dgraph -p

Dgraph start

docker based start of

  • alpha
  • ratel
  • zero
scripts/dgraph

Dgraph stop

scripts/dgraph -k

Example unit test

    def testDgraph(self):
        ''' 
        test basic Dgraph operation
        '''
        dgraph=Dgraph(debug=True)
        # drop all data and schemas
        dgraph.drop_all()
        # create a schema for Pokemons
        schema='''
        name: string @index(exact) .
        weight: float .
        height: float .
type Pokemon {
   name
   weight
   height
}'''
        dgraph.addSchema(schema)
        # prepare a list of Pokemons to be added
        pokemonList=[{'name':'Pikachu', 'weight':  6, 'height': 0.4 },
                  {'name':'Arbok',   'weight': 65, 'height': 3.5 }, 
                  {'name':'Raichu',  'weight': 30, 'height': 0.8 }, 
                  {'name':'Sandan',  'weight': 12, 'height': 0.6 }]
        # add the list in a single transaction
        dgraph.addData(obj=pokemonList)
        # retrieve the data via GraphQL+ query
        graphQuery='''{
# list of pokemons
  pokemons(func: has(name)) {
    name
    weight
    height
  }
}'''
        queryResult=dgraph.query(graphQuery)
        # check the result
        self.assertTrue('pokemons' in queryResult)
        pokemons=queryResult['pokemons']
        self.assertEqual(4,len(pokemons))
        # close the database connection
        dgraph.close()

Example test session

see https://travis-ci.org/github/WolfgangFahl/DgraphAndWeaviateTest/jobs/715131236