P2N web interface¶
Generalities¶
The patent2net web interface allows queries to be made directly from the web browser. It is available at the url http://localhost:5000/app
How it works¶
The web interface is developed with the react framework. The sources are available in the web_app directory To work, the application uses a web api.
Web API¶
- GET /api/v1/requests¶
Retrieves the list of current requests
Example request:
GET /api/v1/requests HTTP/1.1 Host: localhost:5000
curl -i -X GET http://localhost:5000/api/v1/requests
wget -S -O- http://localhost:5000/api/v1/requests
http http://localhost:5000/api/v1/requests
requests.get('http://localhost:5000/api/v1/requests')
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "code":200, "message":"", "data":{ "done":[ "lentille" ], "in_progress":[ "machinelearning" ], "global_progress":{ "machinelearning":{ "done_step_count":8, "progress_step_count":2, "total_step_count":10 } } } }
- Response Headers:
Content-Type – application/json
- Status Codes:
200 OK – no error
400 Bad Request – error
- POST /api/v1/requests¶
Allows you to create a new request
Example request:
POST /api/v1/requests HTTP/1.1 Host: localhost:5000 Content-Type: application/x-www-form-urlencoded p2n_dir=lentille&p2n_req=TA=lentille&p2n_options=p2n_family,p2n_image,p2n_network,p2n_bibfile
curl -i -X POST http://localhost:5000/api/v1/requests -H "Content-Type: application/x-www-form-urlencoded" --data-raw 'p2n_dir=lentille&p2n_req=TA=lentille&p2n_options=p2n_family,p2n_image,p2n_network,p2n_bibfile'
wget -S -O- http://localhost:5000/api/v1/requests --header="Content-Type: application/x-www-form-urlencoded" --post-data='p2n_dir=lentille&p2n_req=TA=lentille&p2n_options=p2n_family,p2n_image,p2n_network,p2n_bibfile'
echo 'p2n_dir=lentille&p2n_req=TA=lentille&p2n_options=p2n_family,p2n_image,p2n_network,p2n_bibfile' | http POST http://localhost:5000/api/v1/requests Content-Type:"application/x-www-form-urlencoded"
requests.post('http://localhost:5000/api/v1/requests', headers={'Content-Type': 'application/x-www-form-urlencoded'}, data='p2n_dir=lentille&p2n_req=TA=lentille&p2n_options=p2n_family,p2n_image,p2n_network,p2n_bibfile')
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "code": 200, "message": "Spliter start", "data": { "p2n_dir": "lentille" } }
- Query Parameters:
p2n_dir (string) – name of the target directory
p2n_req (string) – cql request
p2n_options (string) – active treatment options
- Response Headers:
Content-Type – application/json
- Status Codes:
200 OK – no error
400 Bad Request – error
- GET /api/v1/requests/(string: p2n_dir)¶
Is used to retrieve data from a request directory (p2n_dir)
Example request:
GET /api/v1/requests/lentille HTTP/1.1 Host: localhost:5000
curl -i -X GET http://localhost:5000/api/v1/requests/lentille
wget -S -O- http://localhost:5000/api/v1/requests/lentille
http http://localhost:5000/api/v1/requests/lentille
requests.get('http://localhost:5000/api/v1/requests/lentille')
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "code": 200, "message": "", "data": { "done": true, "state": "P2N_RUN", "data": { "progress": { "p2n_gather_biblio": { "value": "100.00", "max_value": "100" }, "p2n_family": { "value": null, "max_value": null }, "...": {}, } }, "directory": "lentille", "cql": { "requete": "TA=lentille", "ndf": "lentille", "options": { "GatherContent": true, "GatherBiblio": true, "GatherPatent": true, "GatherFamilly": true } } } }
- Response Headers:
Content-Type – application/json
- Status Codes:
200 OK – no error
400 Bad Request – error
- POST /api/v1/requests/(string: p2n_dir)/split¶
Allows you to start trimming a query that exceeds the limit of 2000 patents in a certain year. The splitting will not start if the patents count is not finished
Example request:
POST /api/v1/requests/autom/split HTTP/1.1 Host: localhost:5000 Content-Type: application/x-www-form-urlencoded date=2020
curl -i -X POST http://localhost:5000/api/v1/requests/autom/split -H "Content-Type: application/x-www-form-urlencoded" --data-raw 'date=2020'
wget -S -O- http://localhost:5000/api/v1/requests/autom/split --header="Content-Type: application/x-www-form-urlencoded" --post-data='date=2020'
echo date=2020 | http POST http://localhost:5000/api/v1/requests/autom/split Content-Type:"application/x-www-form-urlencoded"
requests.post('http://localhost:5000/api/v1/requests/autom/split', headers={'Content-Type': 'application/x-www-form-urlencoded'}, data='date=2020')
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "code": 200, "message": "Spliter running", "data": {} }
- Query Parameters:
date (int) – Start date of the splitting process
- Response Headers:
Content-Type – application/json
- Status Codes:
200 OK – no error
400 Bad Request – error
- POST /api/v1/requests/(string: p2n_dir)/interface¶
Allows to rebuild the interface of a data directory (p2n_dir)
Example request:
POST /api/v1/requests/lentille/interface HTTP/1.1 Host: localhost:5000
curl -i -X POST http://localhost:5000/api/v1/requests/lentille/interface
wget -S -O- http://localhost:5000/api/v1/requests/lentille/interface
http POST http://localhost:5000/api/v1/requests/lentille/interface
requests.post('http://localhost:5000/api/v1/requests/lentille/interface')
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "code": 200, "message": "OK", "data": { "directory": "lentille" } }
- Response Headers:
Content-Type – application/json
- Status Codes:
200 OK – no error
400 Bad Request – error