- app.py
- Flask application home.
- mads_parse.py
- Parses XML file for faculty names and URIs and stores in an internal list. Contains functions for searching for a URI.
- requirements.txt
- Python module requirements
- ETD-NAF_mads_20220222.xml
- Contains committee member names and URIs
- pdfdata_names_2021Su.dsv
- Pipe delimited file containing committee member names, roles, and associated thesis/dissertation PDFs. Was used for testing purposes
- Application module requirements are specified in
requirements.txt
. - Run the following command to install all required packages:
pythom -m pip install -r requirements.txt
- An additional requirement is that the XML file to be parsed for names and URIs must be in the same format as the ETD-NAF... file, as the parser is looking for specific tags in the file.
-
To run reconciliation Flask service run
python app.py
while inMADs-reconcile
directory. If passing in XML document as command line argument, run withpython app.py <xml file>
. Make sure XML document is in the same directory as the application. Additionally, do not run withflask run
, as it messes up command line arguments. -
With OpenRefine running, the Flask application running, and a project opened, run the following steps:
- Select a column containing names in indirect order, ex. Smith, John L.
- Click reconcile
- Click start reconciling (Proceed to Step 5 if service is already added)
- Select "Add Standard Service" and supply the following URL
http://127.0.0.1:5000/reconcile/mads
. - Select "MADs Reconciliation Service"
- Supply max # of candidates to return (default is 3)
- Select "Start Reconciling..."
-
After the reconciliation service finishes, perfect matches with a score of 1.0 will be automatched to their correponding cell. Matches with a score of .8 and a score of .75 are not exact matches, but pretty close, likely matching on the last name and the first name. Matches with a score of .5 only matched on the last name, so confidence is pretty low that these are the correct matches. Matches with a non-perfect score must be manually reviewed to select the best match.
-
If only one match is found for a name, the application will automatch it. Comment this out if desired.
-
Additionally, if two matches are found for a name, the application will automatch on the one with a higher score. Again, comment this out if desired.
- This project is based off of source code from mphilli's LoC Reconcilation project. Please see License.
- Developed for Florida State University's Library Technical Services.