| 177 | |
| 178 | |
| 179 | class XMLRPCWikidataQueryServer(WikidataQueryServer): |
| 180 | def __init__(self, addr, server_args, requestHandler=RequestHandler): |
| 181 | super().__init__( |
| 182 | chunk_number=server_args.chunk_number, data_dir=server_args.data_dir |
| 183 | ) |
| 184 | self.server = SimpleXMLRPCServer(addr, requestHandler=requestHandler) |
| 185 | self.server.register_introspection_functions() |
| 186 | self.server.register_function(self.get_all_relations_of_an_entity) |
| 187 | self.server.register_function( |
| 188 | self.get_tail_entities_given_head_and_relation |
| 189 | ) |
| 190 | self.server.register_function(self.label2pid) |
| 191 | self.server.register_function(self.label2qid) |
| 192 | self.server.register_function(self.pid2label) |
| 193 | self.server.register_function(self.qid2label) |
| 194 | self.server.register_function( |
| 195 | self.get_tail_values_given_head_and_relation |
| 196 | ) |
| 197 | self.server.register_function( |
| 198 | self.get_external_id_given_head_and_relation |
| 199 | ) |
| 200 | self.server.register_function(self.mid2qid) |
| 201 | |
| 202 | def serve_forever(self): |
| 203 | self.server.serve_forever() |
| 204 | |
| 205 | |
| 206 | if __name__ == "__main__": |