示例#1
0
    def load_nba(self):
        nba_file = self.data_dir + '/data/nba.ngql'
        print("open: ", nba_file)
        with open(nba_file, 'r') as data_file:
            resp = self.client.execute(
                'CREATE SPACE IF NOT EXISTS nba(partition_num=10, replica_factor=1, vid_type = fixed_string(30));USE nba;')
            assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

            lines = data_file.readlines()
            ddl = False
            ngql_statement = ""
            for line in lines:
                strip_line = line.strip()
                if len(strip_line) == 0:
                    continue
                elif strip_line.startswith('--'):
                    comment = strip_line[2:]
                    if comment == 'DDL':
                        ddl = True
                    elif comment == 'END':
                        if ddl:
                            time.sleep(get_delay_time(self.client))
                            ddl = False
                else:
                    line = line.rstrip()
                    ngql_statement += " " + line
                    if line.endswith(';'):
                        resp = self.client.execute(ngql_statement)
                        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg
                        ngql_statement = ""
 def set_delay(self):
     self.delay = get_delay_time(self.client)
示例#3
0
    def load_student(self):
        resp = self.client.execute(
            'CREATE SPACE IF NOT EXISTS student_space(partition_num=10, replica_factor=1, vid_type = fixed_string(8)); USE student_space;')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE TAG IF NOT EXISTS person(name string, age int, gender string);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE TAG IF NOT EXISTS teacher(grade int, subject string);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE TAG IF NOT EXISTS student(grade int, hobby string DEFAULT "");')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE EDGE IF NOT EXISTS is_schoolmate(start_year int, end_year int);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE EDGE IF NOT EXISTS is_teacher(start_year int, end_year int);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE EDGE IF NOT EXISTS is_friend(start_year int, intimacy double);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('CREATE EDGE IF NOT EXISTS is_colleagues(start_year int, end_year int);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg
        # TODO: update the time when config can use
        time.sleep(get_delay_time(self.client))

        resp = self.client.execute('INSERT VERTEX person(name, age, gender), teacher(grade, subject) VALUES \
                                "2001":("Mary", 25, "female", 5, "Math"), \
                                "2002":("Ann", 23, "female", 3, "English"), \
                                "2003":("Julie", 33, "female", 6, "Math"), \
                                "2004":("Kim", 30,"male",  5, "English"), \
                                "2005":("Ellen", 27, "male", 4, "Art"), \
                                "2006":("ZhangKai", 27, "male", 3, "Chinese"), \
                                "2007":("Emma", 26, "female", 2, "Science"), \
                                "2008":("Ben", 24, "male", 4, "Music"), \
                                "2009":("Helen", 24, "male", 2, "Sports") ,\
                                "2010":("Lilan", 32, "male", 5, "Chinese");')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('INSERT VERTEX person(name, age, gender), student(grade) VALUES \
                                "1001":("Anne", 7, "female", 2), \
                                "1002":("Cynthia", 7, "female", 2), \
                                "1003":("Jane", 6, "male", 2), \
                                "1004":("Lisa", 8, "female", 3), \
                                "1005":("Peggy", 8, "male", 3), \
                                "1006":("Kevin", 9, "male", 3), \
                                "1007":("WangLe", 8, "male", 3), \
                                "1008":("WuXiao", 9, "male", 4), \
                                "1009":("Sandy", 9, "female", 4), \
                                "1010":("Harry", 9, "female", 4), \
                                "1011":("Ada", 8, "female", 4), \
                                "1012":("Lynn", 9, "female", 5), \
                                "1013":("Bonnie", 10, "female", 5), \
                                "1014":("Peter", 10, "male", 5), \
                                "1015":("Carl", 10, "female", 5), \
                                "1016":("Sonya", 11, "male", 6), \
                                "1017":("HeNa", 11, "female", 6), \
                                "1018":("Tom", 12, "male", 6), \
                                "1019":("XiaMei", 11, "female", 6), \
                                "1020":("Lily", 10, "female", 6);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('INSERT EDGE is_schoolmate(start_year, end_year) VALUES \
                                "1001" -> "1002":(2018, 2019), \
                                "1001" -> "1003":(2017, 2019), \
                                "1002" -> "1003":(2017, 2018), \
                                "1002" -> "1001":(2018, 2019), \
                                "1004" -> "1005":(2016, 2019), \
                                "1004" -> "1006":(2017, 2019), \
                                "1004" -> "1007":(2016, 2018), \
                                "1005" -> "1004":(2017, 2018), \
                                "1005" -> "1007":(2017, 2018), \
                                "1006" -> "1004":(2017, 2018), \
                                "1006" -> "1007":(2018, 2019), \
                                "1008" -> "1009":(2015, 2019), \
                                "1008" -> "1010":(2017, 2019), \
                                "1008" -> "1011":(2018, 2019), \
                                "1010" -> "1008":(2017, 2018), \
                                "1011" -> "1008":(2018, 2019), \
                                "1012" -> "1013":(2015, 2019), \
                                "1012" -> "1014":(2017, 2019), \
                                "1012" -> "1015":(2018, 2019), \
                                "1013" -> "1012":(2017, 2018), \
                                "1014" -> "1015":(2018, 2019), \
                                "1016" -> "1017":(2015, 2019), \
                                "1016" -> "1018":(2014, 2019), \
                                "1018" -> "1019":(2018, 2019), \
                                "1017" -> "1020":(2013, 2018), \
                                "1017" -> "1016":(2018, 2019);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('INSERT EDGE is_friend(start_year, intimacy) VALUES \
                                "1003" -> "1004":(2017, 80.0), \
                                "1013" -> "1007":(2018, 80.0), \
                                "1016" -> "1008":(2015, 80.0), \
                                "1016" -> "1018":(2014, 85.0), \
                                "1017" -> "1020":(2018, 78.0), \
                                "1018" -> "1016":(2013, 83.0), \
                                "1018" -> "1020":(2018, 88.0);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('INSERT EDGE is_colleagues(start_year, end_year) VALUES \
                                "2001" -> "2002":(2015, 0), \
                                "2001" -> "2007":(2014, 0), \
                                "2001" -> "2003":(2018, 0), \
                                "2003" -> "2004":(2013, 2017), \
                                "2002" -> "2001":(2016, 2017), \
                                "2007" -> "2001":(2013, 2018), \
                                "2010" -> "2008":(2018, 0);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg

        resp = self.client.execute('INSERT EDGE is_teacher(start_year, end_year) VALUES \
                                "2002" -> "1004":(2018, 2019), \
                                "2002" -> "1005":(2018, 2019), \
                                "2002" -> "1006":(2018, 2019), \
                                "2002" -> "1007":(2018, 2019), \
                                "2002" -> "1009":(2017, 2018), \
                                "2002" -> "1012":(2015, 2016), \
                                "2002" -> "1013":(2015, 2016), \
                                "2002" -> "1014":(2015, 2016), \
                                "2002" -> "1019":(2014, 2015), \
                                "2010" -> "1016":(2018,2019), \
                                "2006" -> "1008":(2017, 2018);')
        assert resp.error_code == ttypes.ErrorCode.SUCCEEDED, resp.error_msg