-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
BiblioAlly is a Python package containing some classes and functions dedicated to help people to build scientific literature reviews.
The biggest advantage of using BiblioAlly is having a database that records all bibliographic references collected during the literature review and their different states during the process. Also, it records the meta-data extracted from the selected articles and make them available for a meta-analysis based on Python packages, like Pandas and MatPlotLib.
BiblioAlly is a set of classes and functions to be used in Python 3.8+, but it also includes a GUI module written in PySimpleGui that allows the user to run the literature review with some Graphic User Interface sugar. However, everything has to be started from a Python script, for instance, in a Jupyter Notebook.
BiblioAlly builds a SQLite database file and persists all the data in it by using an Object-Relational mapping provided by SqlAlchemy.
BiblioAlly provides BibTex importers for Scopus, Web of Science, ACM Digital Library and IEEEXplore. By using those importers a standardized database is created. The review is conducted and the GUI module allows to manage the usually long-term process of reading and storing metadata from the papers.
No, BiblioAlly allows to store a Python dictionary that encodes the metadata extracted from each paper and later retrieve that metadata to, for instance, feed a Pandas DataFrame and generate MatPlotLib charts.
- Install the BiblioAlly package
pip install BiblioALlyconda install BiblioAlly
- Import it in a Jupyter Notebook
from BiblioAlly import catalog as ally
- Create a BiblioAlly Catalog (where all data will be stored)
catalog = ally.Catalog("my_review.db")
- Import BibTex files into the Catalog
from BiblioAlly import wos # Web of Sciencefrom BiblioAlly import scopusfrom BiblioAlly import ieee # IEEE Xplorefrom BiblioAlly import acmdl # ACM Digital Libraryrefs_count, load_count, base_cout = catalog.import_from_file(wos.WebOfSciece, "wos.bib")
- Remove duplicates,if any (BiblioAlly will try to remove them automatically, but some can escape the process)
- Perform shallow and deep screenings by using the BiblioAlly Browser
from BiblioAlly import guibrowser = Browser(catalog)browser.show()
- Register metadata for each of the selected papers
catalog.add_summary(metadata_dict)
- select data from the Catalog and analyse it.
from BiblioAlly import domainimport pandas as pddocuments = catalog.documents_by(tagged_as=domain.TAG_ACCEPTED)documents_dict = ally.as_dict(documents)documents_df = pd.DataFrame(documents_dict)
Far from it! There's a number of improvements BiblioAlly may receive to become more useful and to allow better and deeper analysis for literature reviews. A few ones that come to mind are:
- Calculating Bibliometric indicators
- Text mining
- Word clouds generation
- Automatic content classification
- Automatic generation of mind maps
- Automatic generation of ontologies
- Automatic metadata extraction
- Qualitative analysis capabilities
- Semantic similarity detection
- Operation logging
- Collaboration capabilities
- Research protocol
- Process tracking improvements
- Automatic full text retrieval
- And so on...