| import requests |
| |
|
|
| base_url = "https://jdm-api.demo.lirmm.fr" |
|
|
| |
| def get_request(endpoint): |
| response = requests.get(f"{base_url}{endpoint}") |
| if response.status_code == 200: |
| return response.json() |
| else: |
| print(f"Erreur : {response.status_code}") |
| return None |
|
|
| |
| def nodeGetById(node_id): |
| endpoint = f"/v0/node_by_id/{node_id}" |
| return get_request(endpoint) |
|
|
| |
| def nodeGetByName(node_name): |
| endpoint = f"/v0/node_by_name/{node_name}" |
| return get_request(endpoint) |
|
|
| |
| def nodeGetRefinements(node_name): |
| endpoint = f"/v0/refinements/{node_name}" |
| return get_request(endpoint) |
|
|
| |
| def relationGetRelationsFrom(node_name): |
| endpoint = f"/v0/relations/from/{node_name}" |
| return get_request(endpoint) |
|
|
| |
| def relationGetRelationsTo(node_name): |
| endpoint = f"/v0/relations/to/{node_name}" |
| return get_request(endpoint) |
|
|
| |
| def relationGetRelationsFromTo(node1_name,node2_name): |
| endpoint = f"/v0/relations/from/{node1_name}/to/{node2_name}" |
| return get_request(endpoint) |
|
|
| |
| def publicNodeTypeGetAll(): |
| endpoint = f"/v0/nodes_types" |
| return get_request(endpoint) |
|
|
| |
| def relationTypeGetAll(): |
| endpoint = f"/v0/relations_types" |
| return get_request(endpoint) |
|
|
| relationTypes = relationTypeGetAll() |
|
|
| |
| def getRelationName(type): |
| if relationTypes: |
| return relationTypes[type]['name'] |
| else: |
| return None |
|
|
| |
| def getRelationType(relationName): |
| if relationTypes: |
| return next((relationType['id'] for relationType in relationTypes if relationType['name'] == relationName), None) |
| else: |
| return None |
|
|
| |
| def filterByRelationTypeName(result, relationName): |
| if relationTypes: |
| return [relation for relation in result['relations'] if relation['type'] == getRelationType(relationName)] |
| else: |
| return None |
|
|
| |
| def filterByRelationTypeId(result, id): |
| if relationTypes: |
| return [relation for relation in result['relations'] if relation['type'] == id] |
| else: |
| return None |
|
|
|
|
|
|
| |
| |
| myNode1 = "chat" |
| myNode2 = "internet" |
| result = relationGetRelationsFromTo(myNode1,myNode2) |
|
|
| if result : |
| print(f"Relations entre les termes '{myNode1}' et '{myNode2}':") |
| for relation in result['relations']: |
| print((f"Relation : " |
| f"{getRelationName(relation['type'])}" |
| f" / weight : {relation['w']}")) |
|
|
| |
| result = relationGetRelationsFrom(myNode1) |
| if result : |
| print(f"Synonymes du terme '{myNode1}':") |
| synonyms = filterByRelationTypeName(result, "r_syn") |
| |
| if synonyms : |
| for synonym in synonyms : |
| node = nodeGetById(synonym['node2']) |
| if node : |
| print((f"- {node['name']}" |
| f" / weight : {synonym['w']}")) |