graph.py 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. from pydantic import BaseModel,Field
  2. from typing import List, Optional
  3. from datetime import datetime
  4. class KgSubGraphCreate(BaseModel):
  5. graph_name: str
  6. graph_content: str
  7. status :int
  8. def to_json(self):
  9. dict = self.__dict__
  10. if "_sa_instance_state" in dict:
  11. del dict["_sa_instance_state"]
  12. return dict
  13. class KgSubGraph(KgSubGraphCreate):
  14. id: int
  15. class Config:
  16. from_attributes = True
  17. class KgPropCreate(BaseModel):
  18. category: int
  19. prop_name: str
  20. prop_value: str
  21. prop_title: str
  22. def to_json(self):
  23. dict = self.__dict__
  24. if "_sa_instance_state" in dict:
  25. del dict["_sa_instance_state"]
  26. return dict
  27. class KgProp(KgPropCreate):
  28. id: int
  29. ref_id: int
  30. class Config:
  31. from_attributes = True
  32. class KgNodeCreate(BaseModel):
  33. name: str
  34. category: str
  35. layout: Optional[str] = None
  36. version: Optional[str] = None
  37. def to_json(self):
  38. dict = self.__dict__
  39. if "_sa_instance_state" in dict:
  40. del dict["_sa_instance_state"]
  41. return dict
  42. class KgNode(KgNodeCreate):
  43. id: int
  44. graph_id: int
  45. status: int
  46. props: List[KgProp]
  47. class Config:
  48. from_attributes = True
  49. class KgNodeMerge(BaseModel):
  50. src_id: int
  51. dest_id: int
  52. class KgEdgeCreate(BaseModel):
  53. graph_id: int
  54. category: str
  55. src_id: int
  56. dest_id: int
  57. name: str
  58. version: Optional[str] = None
  59. def to_json(self):
  60. dict = self.__dict__
  61. if "_sa_instance_state" in dict:
  62. del dict["_sa_instance_state"]
  63. return dict
  64. class Config:
  65. from_attributes = True
  66. class KgEdge(KgEdgeCreate):
  67. id: int
  68. status: int
  69. src_node: KgNode
  70. dest_node: KgNode
  71. class Config:
  72. from_attributes = True
  73. class KgEdgeName(BaseModel):
  74. category: str
  75. name: str
  76. class Config:
  77. from_attributes = True
  78. class DictICD(BaseModel):
  79. id: int
  80. icd_code: str
  81. icd_name: str
  82. def to_json(self):
  83. dict = self.__dict__
  84. if "_sa_instance_state" in dict:
  85. del dict["_sa_instance_state"]
  86. return dict
  87. class Config:
  88. from_attributes = True
  89. class DictDRG(BaseModel):
  90. id: int
  91. drg_code: str
  92. drg_name: str
  93. drg_weight: float
  94. def to_json(self):
  95. dict = self.__dict__
  96. if "_sa_instance_state" in dict:
  97. del dict["_sa_instance_state"]
  98. return dict
  99. class Config:
  100. from_attributes = True
  101. class DictDrug(BaseModel):
  102. id: int
  103. data_source : str
  104. drug_code : str
  105. reg_name : str
  106. prod_name : str
  107. reg_dosage_form : str
  108. act_dosage_form : str
  109. reg_spec : str
  110. act_spec: str
  111. pkg_mat : str
  112. min_pack_size : str
  113. min_pack_unit : str
  114. min_dosage_unit : str
  115. prod_factory : str
  116. license_no : str
  117. drug_std_code: str
  118. subpkg_factory: str
  119. sales_status : str
  120. social_insurance_name : str
  121. jiayi_category : str
  122. social_dosage_form : str
  123. serial_no: str
  124. comments : str
  125. def to_json(self):
  126. dict = self.__dict__
  127. if "_sa_instance_state" in dict:
  128. del dict["_sa_instance_state"]
  129. return dict
  130. class Config:
  131. from_attributes = True
  132. class KgSchemasCreate(BaseModel):
  133. name: str
  134. category: str
  135. content: str
  136. version: str
  137. class KgSchemasUpdate(BaseModel):
  138. id:int
  139. name: str
  140. category: str
  141. content: str
  142. version: str
  143. class KgSchemaSystems(BaseModel):
  144. schema_system:str
  145. class Config:
  146. from_attributes = True
  147. class KgSchemas(BaseModel):
  148. id: int
  149. name: str
  150. schema_system: str
  151. schema_type: str
  152. category: str
  153. content: str
  154. version: Optional[str] = None
  155. def to_json(self):
  156. dict = self.__dict__
  157. if "_sa_instance_state" in dict:
  158. del dict["_sa_instance_state"]
  159. return dict
  160. class Config:
  161. from_attributes = True
  162. class NLPRequest(BaseModel):
  163. category: str
  164. name: str
  165. content: str
  166. class KgProjCreate(BaseModel):
  167. proj_name : str
  168. proj_category : str
  169. proj_type : str
  170. proj_conf : str
  171. class KgProj(KgProjCreate):
  172. id : int
  173. created : datetime
  174. updated : datetime
  175. status : int
  176. def to_json(self):
  177. dict = self.__dict__
  178. if "_sa_instance_state" in dict:
  179. del dict["_sa_instance_state"]
  180. return dict
  181. class Config:
  182. from_attributes = True
  183. class KgTaskUpdate(BaseModel):
  184. id: int
  185. task_log: str
  186. class KgTaskCreate(BaseModel):
  187. proj_id : int
  188. task_category : str
  189. task_content : str
  190. task_name : Optional[str]
  191. class KgTask(KgTaskCreate):
  192. id : int
  193. task_log : Optional[str]
  194. created : datetime
  195. updated : datetime
  196. status : int
  197. def to_json(self):
  198. dict = self.__dict__
  199. if "_sa_instance_state" in dict:
  200. del dict["_sa_instance_state"]
  201. return dict
  202. class Config:
  203. from_attributes = True
  204. class KgModels(BaseModel):
  205. id: int
  206. model_name: str
  207. model_category: str
  208. model_description: str
  209. model_settings: str
  210. created : datetime
  211. updated : datetime
  212. status : int
  213. def to_json(self):
  214. dict = self.__dict__
  215. if "_sa_instance_state" in dict:
  216. del dict["_sa_instance_state"]
  217. return dict
  218. class Config:
  219. from_attributes = True
  220. class KgGraphCreate(BaseModel):
  221. name: str
  222. category: str
  223. graph_description: str
  224. schema_id: int
  225. class KgGraphs(BaseModel):
  226. id: int
  227. name: str
  228. category: str
  229. graph_description: str
  230. graph_settings: str
  231. created: datetime
  232. updated: datetime
  233. status: int
  234. def to_json(self):
  235. dict = self.__dict__
  236. if "_sa_instance_state" in dict:
  237. del dict["_sa_instance_state"]
  238. return dict
  239. class Config:
  240. from_attributes = True
  241. class KgDataset(BaseModel):
  242. id: int
  243. data_name: str
  244. data_category: str
  245. data_comments: str
  246. created: datetime
  247. updated: datetime
  248. status: int
  249. def to_json(self):
  250. dict = self.__dict__
  251. if "_sa_instance_state" in dict:
  252. del dict["_sa_instance_state"]
  253. return dict
  254. class Config:
  255. from_attributes = True
  256. __all__=['KgSchemaSystems','NLPRequest','KgNodeMerge','KgNode','KgNodeCreate',
  257. 'KgEdge','KgEdgeCreate','KgProp','KgPropCreate','DictICD','DictDRG','DictDrug',
  258. 'KgSchemas','KgSchemasCreate','KgSchemasUpdate','KgEdgeName',
  259. 'KgSubGraphCreate','KgSubGraph','KgModels','KgGraphs','KgGraphCreate',
  260. 'KgDataset']