Coder Social home page Coder Social logo

clarivate / wos-excel-converter Goto Github PK

View Code? Open in Web Editor NEW
27.0 4.0 7.0 609 KB

This is a small and easy-to-use desktop application that allows exporting Web of Science API Expanded and InCites API data in Excel/CSV/JSON/XML with a configurable and flexible data export structure.

License: GNU General Public License v3.0

JavaScript 0.79% HTML 0.27% Vue 50.76% TypeScript 48.19%
research-output research-metadata article-extractor webofscience converter incites excel csv csv-export

wos-excel-converter's Introduction

Web of Science API Exporter

Example screenshot

This tool allows you to convert the Web of Science API data to Excel/CSV by using the Web of Science API Expanded and InCites API. The APIs require a paid license. Please get in touch with Web of Science Support or visit Developer Portal to learn more about the subscription process.

The initiative comes from the Web of Science API Product team to help the API users easily understand the data represented as tables. Furthermore, you can easily import to BI Tools, such as PowerBI or Tableau. The tool is free, licensed as open-source under GPL-3.0.

Although the Web of Science API product team is the primary maintainer, we welcome anyone to contribute. If you found an issue or have an idea for a feature, please report it in GitHub instead of contacting Clarivate Support. This tool uses Electron/Typescript/Vue. If you are familiar with those technologies, feel free to make a pull request in GitHub with your ideas, we would appreciate it.

Download and Install:

License

GPL-3.0 License

wos-excel-converter's People

Contributors

gneissone avatar maloku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wos-excel-converter's Issues

Interruptions on large exports with long queries

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. usrQuery=TS=(covid-19 vaccin*) AND PY=2020 and databaseID=WOS

My search query is somewhat long, but I am sure it does not have any operator errors:

(((TI=((qubit AND ("quantum sensor" OR "quantum sensing")) OR "quantum-photonic device" OR ("quantum information" NOT ("quantum gis" OR "quantum geographic information system" OR "quantum geographical information system" OR "quantum metrology" OR "quantum communication" OR "quantum sensing" OR "quantum mechanical")) OR "semiconductor superconductor nanowire" OR ("Josephson junction" AND nanowire) OR ("single photon sensor" AND ("photonic crystal" OR time multiplex* OR optical computation*)) OR (quantum AND (photonic* OR optic*) AND interferometer) OR "quantum sensor" OR "quantum sensing" OR "quantum magnetometer" OR "quantum gyroscope" OR "quantum accelerometer" OR "quantum imaging" OR "quantum-enhanced sensing" OR "quantum metrology" OR "quantum gravimeter" OR "quantum thermometer" OR "quantum force sensor" OR "quantum displacement sensor" OR "quantum position sensor" OR "quantum rotation sensor" OR "quantum optical sensing" OR "quantum acoustic sensing" OR "quantum atomic clock" OR "quantum inertial sensor" OR "quantum field sensor" OR "quantum coherence sensing" OR "quantum entanglement sensing" OR "quantum single-photon sensor" OR "quantum noise sensing" OR "quantum-enhanced microscopy" OR "quantum-enhanced interferometry" OR "quantum-enhanced spectroscopy" OR "quantum-enhanced lidar" OR "quantum radar" OR "quantum gravimetry" OR "quantum strain sensor" OR "quantum pressure sensor" OR "quantum flow sensor" OR "quantum vibration sensor" OR "quantum chemical sensor" OR "quantum biosensor" OR "quantum environmental sensor" OR "quantum humidity sensor" OR "quantum gas sensor" OR "quantum nano-sensor" OR "quantum atomic sensor")) OR (AB=((qubit AND ("quantum sensor" OR "quantum sensing")) OR "quantum-photonic device" OR ("quantum information" NOT ("quantum gis" OR "quantum geographic information system" OR "quantum geographical information system" OR "quantum metrology" OR "quantum communication" OR "quantum sensing" OR "quantum mechanical")) OR "semiconductor superconductor nanowire" OR ("Josephson junction" AND nanowire) OR ("single photon sensor" AND ("photonic crystal" OR time multiplex* OR optical computation*)) OR (quantum AND (photonic* OR optic*) AND interferometer) OR "quantum sensor" OR "quantum sensing" OR "quantum magnetometer" OR "quantum gyroscope" OR "quantum accelerometer" OR "quantum imaging" OR "quantum-enhanced sensing" OR "quantum metrology" OR "quantum gravimeter" OR "quantum thermometer" OR "quantum force sensor" OR "quantum displacement sensor" OR "quantum position sensor" OR "quantum rotation sensor" OR "quantum optical sensing" OR "quantum acoustic sensing" OR "quantum atomic clock" OR "quantum inertial sensor" OR "quantum field sensor" OR "quantum coherence sensing" OR "quantum entanglement sensing" OR "quantum single-photon sensor" OR "quantum noise sensing" OR "quantum-enhanced microscopy" OR "quantum-enhanced interferometry" OR "quantum-enhanced spectroscopy" OR "quantum-enhanced lidar" OR "quantum radar" OR "quantum gravimetry" OR "quantum strain sensor" OR "quantum pressure sensor" OR "quantum flow sensor" OR "quantum vibration sensor" OR "quantum chemical sensor" OR "quantum biosensor" OR "quantum environmental sensor" OR "quantum humidity sensor" OR "quantum gas sensor" OR "quantum nano-sensor" OR "quantum atomic sensor"))) AND PY=(2010-2022)) AND DT=(Article)

Database: WOS

Formats: .CSV, Excel and .JSON

I get an error during export sometimes but I am not sure it's the program or the API itself. I have not been able to export large samples without errors, I generally just restart the export, but some exports take 6-hours or so, and it's hard to predict when the error will happen. 1k rows exports are fine, but my exports are usually 10k or more.

  1. Attribute selection configuration that you used. Upload your JSON

Expected behavior
A clear and concise description of what you expected to happen.
Export all results from the search query: 14503 without errors. OR if there is a problem with the query or the results, that it would be raised in the validation of the query screen.

Screenshots
If applicable, add screenshots to help explain your problem.

Here's the error message:
image

Desktop (please complete the following information):

  • OS: Windows 11 [e.g. iOS]

Additional context
Add any other context about the problem here.
The folder where the export are being sent to is synchronized with One-Drive, but I don't think that should be a problem.

databaseId=WOK and modifiedTimeSpan parameters are incompatible.

Describe the bug
WOK search no longer works because API does not accept modifiedTimeSpan parameters. The exporter returns this error even if no modifiedTimeSpan is provided by the user.

To Reproduce
Screenshot 2023-08-15 at 6 54 26 AM

Expected behavior
Query works with WOK when modifiedTimeSpan is not provided

Desktop (please complete the following information):
macOS

Additional context
The modifiedTimeSpan parameter has never worked with WOK, but a recent change to the API returns an error if it's provided rather than returning an incorrect result set.

Build information at README

Is your feature request related to a problem? Please describe.
There is no info for building app from code.

Describe the solution you'd like
Detailed info about compile and build project and if it's possible use project like web application with no CORS error from browser.

Documentation of the configuration path

Configuration for attribute selection is using JMES Path. Better documentation is needed to understand and use this configuration.
Provide additionally some examples for different configuration

Error: ERR_ACTION_ACCESS_UNDEFINED

Describe the bug
Error: ERR_ACTION_ACCESS_UNDEFINED: Are you trying to access this.someMutation() or this.someGetter inside an @action? That works only in dynamic modules. If not dynamic use this.context.commit("mutationName", payload) and this.context.getters["getterName"] Error: Could not perform action runIcQuery at C. (app://./js/chunk-vendors.da9927d4.js:62:5439) at l (app://./js/chunk-ve

To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. usrQuery=UT=ARCI:* and PY=2015-2018 and databaseID=WOK
  2. Attribute selection configuration that you used. Upload your JSON

Expected behavior
Able to export without any error

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10

Additional context
Add any other context about the problem here.
json.txt
You may contact [email protected] if you have further questions

Repeated error: ERR_ACTION_ACCESS_UNDEFINED

Describe the bug
When I run queries I often get the error below. Note that the "startRecord" the message refers to seems to vary, even if I'm running exactly the same query with exactly the same range.

"Something went wrong at startRecord = 3800. Error: ERR_ACTION_ACCESS_UNDEFINED: Are you trying to access this.someMutation() or this.someGetter inside an @action? That works only in dynamic modules. If not dynamic use this.context.commit("mutationName", payload) and this.context.getters["getterName"] Error: Could not perform action getAllReferences at C. (app://./js/chunk-vendors.da9927d4.js:62:5439) at l (app://./js/ch"

To Reproduce

The error does not seem reproducible — I can run exactly the same query and range of records and the error will appear with a different "startRecord."

  1. Provide the search details that you used by export: usrQuery=WS=(psychology) AND PY=2022 AND DT=article and databaseID=WOS

  2. Attribute selection configuration that you used. Upload your JSON
    I don't know what this means.

Expected behavior
I expected all results of my query too be returned without an error.

Screenshots
Screenshot 2023-09-24 at 22 49 24

Note that I've tried the full range (1 to 70,696) but also smaller ranges (e.g., 1000 to 2000). I usually get an error. Once I did not.

Desktop (please complete the following information):

  • OS: Mac OS 13.5.2 (22G91)

ERR_ACTION_ACCESS_UNDEFINED

Describe the bug

Similar error described in #25 ... However, I can export records as a CSV but only if the "add cited references" is not selected

Something went wrong at startRecord = 101.
Please report and help us improve.
.
Error: ERR_ACTION_ACCESS_UNDEFINED: Are you trying to access this.someMutation() or this.someGetter inside an @Action? That works only in dynamic modules. If not dynamic use this.context.commit("mutationName", payload) and this.context.getters["getterName"] Error: Could not perform action getAllReferences at C.<anonymous> (app://./js/chunk-vendors.da9927d4.js:62:5439) at l (app://./js/ch

To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. usrQuery=TS=(covid-19 vaccin*) AND PY=2020 and databaseID=WOS)

Query
(SO=((Astronomy and Computing) OR (Computer Physics Communications) OR(Computational Astrophysics and Cosmology) OR (Computer Physics Communications) OR (Computers & Geosciences) OR (Computing and Software for Big Science) OR (Environmental Modelling & Software) OR (Geoscientific Model Development) OR (International Journal of Quantum Chemistry) OR (Journal of Applied Crystallography) OR (Journal of Chemical Theory and Computation) OR (Journal of Chemical Information and Modelling) OR (Journal of Cheminformatics) OR (Journal of Computational Chemistry) OR (Molecular Simulation) OR (WIRES) OR (Computational Molecular Science)) AND TI=(Software OR Pipeline OR Tool or Package))

databaseID: WOS

InCites: Query Settings
schema: wos-Web of Science
esci: y

  1. Attribute selection configuration that you used.
  • JSON

Expected behavior
Records exported

Screenshots
Screenshot 2024-02-29 at 1 24 36 PM

Desktop (please complete the following information):

  • OS: MacOS 13.5

Additional context
None

Keep API token saved for the same user

API token needs to be re-entered each time the user wants to use the Excel converter.

Describe the solution you'd like
For the same user at his/her personal machine I would like the token verified and made sticky afterwards, so it does not need to be entered each time again.

Export Settings range does not start at 1

Describe the bug
When changing export settings range, program moves range from 1 to 101 by itself

To Reproduce
Steps to reproduce the behavior:

  1. usrQuery=OG="Iowa State University" AND PY=2021 and databaseID=WOS; 3,694 records found
  2. File formats Excel only
  3. Export Settings range changed to 1-200
  4. Click run, range changes to [101,200]

Expected behavior
Expect exported range to match what I specify, 1-200

Screenshots
If applicable, add screenshots to help explain your problem.
Attached

Desktop (please complete the following information):

  • wos-api-exporter-setup-1.0.0-rc1.exe
  • OS: Windows 10 Enterprise

Additional context
The running and exporting also seems much slower than previous version.
Capture
Capture2

Export failed

Describe the bug
A clear and concise description of what the bug is.
This message appeared: "Something went wrong at startRecord = 32401.
Please report and help us improve.
.
Error: ERR_ACTION_ACCESS_UNDEFINED: Are you trying to access this.someMutation() or this.someGetter inside an @action? That works only in dynamic modules. If not dynamic use this.context.commit("mutationName", payload) and this.context.getters["getterName"] Error: Could not perform action runQuery at C. (app://./js/chunk-vendors.da9927d4.js:62:5439) at l (app://./js/chunk-vend"
To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. usrQuery=TS=(covid-19 vaccin*) AND PY=2020 and databaseID=WOS
    OG=Karolinska Institutet and PY=2017-2021, records found 46,109
  2. Attribute selection configuration that you used. Upload your JSON
    {
    "sheetName": "ResearchOutput",
    "rowArrayPath": "Data.Records.records.REC[*]",
    "api": "WOS",
    "csv": {
    "rowDelimiter": "\n",
    "fieldDelimiter": ",",
    "quote": """
    },
    "columns": [
    {
    "name": "Accession Number (UT)",
    "path": "UID"
    },
    {
    "name": "Database",
    "path": "static_data.summary.EWUID.WUID.coll_id"
    },
    {
    "name": "Editions",
    "path": "static_data.summary.EWUID.[edition][].[value][]|concat(@,',')"
    },
    {
    "name": "1st Document Type",
    "path": "static_data.summary.doctypes.[doctype][]|[0]"
    },
    {
    "name": "2nd Document Type",
    "path": "static_data.summary.doctypes.[doctype][]|[1]"
    },
    {
    "name": "3rd Document Type",
    "path": "static_data.summary.doctypes.[doctype][]|[2]"
    },
    {
    "name": "All Document Types (comma-separated)",
    "path": "static_data.summary.doctypes.[doctype][]|concat(@,',')"
    },
    {
    "name": "Primary Language",
    "path": "static_data.fullrecord_metadata.normalized_languages.[language][].{lang: @}[?lang.type=='primary'].lang.content|[0]"
    },
    {
    "name": "Number of Cited References",
    "path": "static_data.fullrecord_metadata.refs.count"
    },
    {
    "name": "Times Cited",
    "path": "dynamic_data.citation_related.tc_list.silo_tc.local_count"
    },
    {
    "name": "Citing items with citation context",
    "path": "dynamic_data.citation_related.tc_list_cc.dedup_total_count"
    },
    {
    "name": "Background",
    "path": "dynamic_data.citation_related.tc_list_cc.function_tc[?func_class=='background'].local_count[]|[0]"
    },
    {
    "name": "Support",
    "path": "dynamic_data.citation_related.tc_list_cc.function_tc[?func_class=='support'].local_count[]|[0]"
    },
    {
    "name": "Differ",
    "path": "dynamic_data.citation_related.tc_list_cc.function_tc[?func_class=='differ'].local_count[]|[0]"
    },
    {
    "name": "Discuss",
    "path": "dynamic_data.citation_related.tc_list_cc.function_tc[?func_class=='discuss'].local_count[]|[0]"
    },
    {
    "name": "Basis",
    "path": "dynamic_data.citation_related.tc_list_cc.function_tc[?func_class=='basis'].local_count[]|[0]"
    },
    {
    "name": "Keywords",
    "path": "static_data.fullrecord_metadata.keywords.[keyword][]|concat(@,',')"
    },
    {
    "name": "Keywords Plus",
    "path": "static_data.item.keywords_plus.[keyword][]|concat(@,',')"
    },
    {
    "name": "Bib Type",
    "path": "static_data.item.bib_pagecount.type"
    },
    {
    "name": "Page count",
    "path": "static_data.item.bib_pagecount.content"
    },
    {
    "name": "Bib ID",
    "path": "static_data.item.bib_id"
    },
    {
    "name": "1st Subject Sub-Heading",
    "path": "static_data.fullrecord_metadata.category_info.subheadings.[subheading][]|[0]"
    },
    {
    "name": "2nd Subject Sub-Heading",
    "path": "static_data.fullrecord_metadata.category_info.subheadings.[subheading][]|[1]"
    },
    {
    "name": "1st Subject Category (traditional)",
    "path": "static_data.fullrecord_metadata.category_info.subjects.[subject][].{subject:@}[?subject.ascatype=='traditional'].subject.content|[0]"
    },
    {
    "name": "2nd Subject Category (traditional)",
    "path": "static_data.fullrecord_metadata.category_info.subjects.[subject][].{subject:@}[?subject.ascatype=='traditional'].subject.content|[1]"
    },
    {
    "name": "Subject Category (extended)",
    "path": "static_data.fullrecord_metadata.category_info.subjects.[subject][].{subject:@}[?subject.ascatype=='extended'].subject.content[]|concat(@,',')"
    },
    {
    "name": "1st Category Heading",
    "path": "static_data.fullrecord_metadata.category_info.headings.[heading][]|[0]"
    },
    {
    "name": "2nd Category Heading",
    "path": "static_data.fullrecord_metadata.category_info.headings.[heading][]|[1]"
    },
    {
    "name": "Abstract",
    "path": "static_data.fullrecord_metadata.abstracts.[abstract.abstract_text.[p][]][]|concat(@,'\n')"
    }
    ],
    "columnCollection": [
    {
    "mainPath": "static_data.summary.pub_info",
    "api": "WOS",
    "columns": [
    {
    "name": "Cover date",
    "path": "coverdate"
    },
    {
    "name": "Vol",
    "path": "vol"
    },
    {
    "name": "Published Year",
    "path": "pubyear"
    },
    {
    "name": "Sort date",
    "path": "sortdate"
    },
    {
    "name": "Published month",
    "path": "pubmonth"
    },
    {
    "name": "Published Type",
    "path": "pubtype"
    },
    {
    "name": "Journal OA Gold",
    "path": "journal_oas_gold"
    }
    ]
    },
    {
    "mainPath": "dynamic_data.cluster_related.identifiers",
    "api": "WOS",
    "columns": [
    {
    "name": "ISSN",
    "path": "identifier[?type=='issn'].value|[0]"
    },
    {
    "name": "EISSN",
    "path": "identifier[?type=='eissn'].value|[0]"
    },
    {
    "name": "DOI",
    "path": "identifier[?type=='doi'].value|[0]"
    },
    {
    "name": "XREF DOI",
    "path": "identifier[?type=='xref_doi'].value|[0]"
    },
    {
    "name": "Pubmed ID",
    "path": "identifier[?type=='pmid'].value|[0]"
    },
    {
    "name": "ISBN",
    "path": "identifier[?type=='isbn'].value|[0]"
    },
    {
    "name": "EISBN",
    "path": "identifier[?type=='eisbn'].value|[0]"
    },
    {
    "name": "Parent Book DOI",
    "path": "identifier[?type=='parent_book_doi'].value|[0]"
    }
    ]
    },
    {
    "mainPath": "static_data.summary.titles",
    "api": "WOS",
    "columns": [
    {
    "name": "Source title",
    "path": "title[?type=='source'].content|[0]"
    },
    {
    "name": "Title",
    "path": "title[?type=='item'].content|[0]"
    },
    {
    "name": "Source Abbreviation",
    "path": "title[?type=='source_abbrev'].content|[0]"
    },
    {
    "name": "Abbreviation ISO",
    "path": "title[?type=='abbrev_iso'].content|[0]"
    },
    {
    "name": "Abbreviation 11",
    "path": "title[?type=='abbrev_11'].content|[0]"
    },
    {
    "name": "Abbreviation 29",
    "path": "title[?type=='abbrev_29'].content|[0]"
    }
    ]
    },
    {
    "mainPath": "static_data.summary.publishers.publisher.names.[name][]",
    "api": "WOS",
    "columns": [
    {
    "name": "Publisher SeqNo",
    "path": "seq_no"
    },
    {
    "name": "Publisher Role",
    "path": "role"
    },
    {
    "name": "Publisher Full Name",
    "path": "full_name"
    },
    {
    "name": "Publisher Address No",
    "path": "addr_no"
    },
    {
    "name": "Publisher Display name",
    "path": "display_name"
    }
    ]
    },
    {
    "mainPath": "incites_api_metrics",
    "api": "InCites",
    "columns": [
    {
    "name": "International Collaboration",
    "path": "IS_INTERNATIONAL_COLLAB"
    },
    {
    "name": "Industry Collaboration",
    "path": "IS_INDUSTRY_COLLAB"
    },
    {
    "name": "Times Cited (InCites)",
    "path": "TIMES_CITED"
    },
    {
    "name": "Journal Expected Citations",
    "path": "JOURNAL_EXPECTED_CITATIONS"
    },
    {
    "name": "Open Access",
    "path": "OPEN_ACCESS.OA_FLAG"
    },
    {
    "name": "Open Access Status",
    "path": "OPEN_ACCESS.STATUS[].TYPE[]|concat(@,';')"
    },
    {
    "name": "Journal Normalized Citation Impact",
    "path": "JNCI"
    },
    {
    "name": "Document Type",
    "path": "DOCUMENT_TYPE"
    },
    {
    "name": "Journal Impact Factor (current year)",
    "path": "IMPACT_FACTOR"
    },
    {
    "name": "Institutional Collaboration",
    "path": "IS_INSTITUTION_COLLAB"
    },
    {
    "name": "Harmonic mean",
    "path": "HARMEAN_CAT_EXP_CITATION"
    },
    {
    "name": "Category Normalized Citation Impact (Average)",
    "path": "AVG_CNCI"
    },
    {
    "name": "Highly Cited Paper",
    "path": "ESI_HIGHLY_CITED_PAPER"
    },
    {
    "name": "Hot Paper",
    "path": "ESI_HIGHLY_CITED_PAPER"
    }
    ]
    }
    ],
    "sheets": [
    {
    "sheetName": "Addresses and Names",
    "mainPath": "static_data.fullrecord_metadata.addresses.[address_name][]",
    "api": "WOS",
    "referenceColumns": [
    "Accession Number (UT)"
    ],
    "columns": [
    {
    "name": "Country",
    "path": "address_spec.country"
    },
    {
    "name": "Location",
    "path": "address_spec.zip.location"
    },
    {
    "name": "Zip Code",
    "path": "address_spec.zip.content"
    },
    {
    "name": "City",
    "path": "address_spec.city"
    },
    {
    "name": "Street",
    "path": "address_spec.street"
    },
    {
    "name": "Address No",
    "path": "address_spec.addr_no"
    },
    {
    "name": "Full Address",
    "path": "address_spec.full_address"
    },
    {
    "name": "Organisation names (concatenated)",
    "path": "address_spec.organizations.[organization][].{orga: @}[?orga.pref==null].orga.content[]|concat(@,';')"
    },
    {
    "name": "1st Enhanced Organisation name",
    "path": "address_spec.organizations.[organization][].{orga: @}[?orga.pref=='Y'].orga.content|[0]"
    },
    {
    "name": "2nd Enhanced Organisation name",
    "path": "address_spec.organizations.[organization][].{orga: @}[?orga.pref=='Y'].orga.content|[1]"
    },
    {
    "name": "3nd Enhanced Organisation name",
    "path": "address_spec.organizations.[organization][].{orga: @}[?orga.pref=='Y'].orga.content|[2]"
    },
    {
    "name": "Enhanced Organisation Names (concatenated)",
    "path": "address_spec.organizations.[organization][].{orga: @}[?orga.pref=='Y'].orga.content[]|concat(@,';')"
    },
    {
    "name": "Sub-organisation names (concatenated)",
    "path": "address_spec.suborganizations.[suborganization][]|concat(@,';')"
    }
    ],
    "columnCollection": [
    {
    "mainPath": "names.[name][]",
    "api": "WOS",
    "columns": [
    {
    "name": "Researcher/Author SeqNo (position)",
    "path": "seq_no"
    },
    {
    "name": "Full Name",
    "path": "full_name"
    },
    {
    "name": "Role",
    "path": "role"
    },
    {
    "name": "Claimed Web of Science Researcher Profile",
    "path": "claim_status"
    },
    {
    "name": "Reprint contact",
    "path": "reprint"
    },
    {
    "name": "Address No",
    "path": "addr_no"
    },
    {
    "name": "Last Name",
    "path": "last_name"
    },
    {
    "name": "Display Name",
    "path": "display_name"
    },
    {
    "name": "WOS Standard Name",
    "path": "wos_standard"
    },
    {
    "name": "Distinct Author ID",
    "path": "daisng_id"
    },
    {
    "name": "First Name",
    "path": "first_name"
    },
    {
    "name": "ResearcherID",
    "path": ""data-item-ids".["data-item-id"][].{rid: @}[?rid."id-type"=='PreferredRID'].rid[].content|[0]"
    },
    {
    "name": "Other ResearcherID",
    "path": ""data-item-ids".["data-item-id"][].{rid: @}[?rid."id-type"=='OtherRID'].rid[].content|[0]"
    },
    {
    "name": "ORCID ID",
    "path": "orcid_id"
    },
    {
    "name": "Preferred Full Name",
    "path": "preferred_name.full_name"
    },
    {
    "name": "Preferred Last Name",
    "path": "preferred_name.last_name"
    },
    {
    "name": "Preferred First Name",
    "path": "preferred_name.first_name"
    }
    ]
    }
    ]
    },
    {
    "sheetName": "Names without Addresses",
    "api": "WOS",
    "mainPath": "static_data.summary.names.[name][].{author: @}[?author.addr_no==null].author[]",
    "referenceColumns": [
    "Accession Number (UT)"
    ],
    "columns": [
    {
    "name": "Researcher/Author SeqNo (position)",
    "path": "seq_no"
    },
    {
    "name": "Full Name",
    "path": "full_name"
    },
    {
    "name": "Role",
    "path": "role"
    },
    {
    "name": "Claimed Web of Science Researcher Profile",
    "path": "claim_status"
    },
    {
    "name": "Reprint contact",
    "path": "reprint"
    },
    {
    "name": "Address No (Always empty)",
    "path": "addr_no"
    },
    {
    "name": "Last Name",
    "path": "last_name"
    },
    {
    "name": "Display Name",
    "path": "display_name"
    },
    {
    "name": "WOS Standard Name",
    "path": "wos_standard"
    },
    {
    "name": "Distinct Author ID",
    "path": "daisng_id"
    },
    {
    "name": "First Name",
    "path": "first_name"
    },
    {
    "name": "ResearcherID",
    "path": ""data-item-ids".["data-item-id"][].{rid: @}[?rid."id-type"=='PreferredRID'].rid[].content|[0]"
    },
    {
    "name": "Other ResearcherID",
    "path": ""data-item-ids".["data-item-id"][].{rid: @}[?rid."id-type"=='OtherRID'].rid[].content|[0]"
    },
    {
    "name": "ORCID ID",
    "path": "orcid_id"
    },
    {
    "name": "Preferred Full Name",
    "path": "preferred_name.full_name"
    },
    {
    "name": "Preferred Last Name",
    "path": "preferred_name.last_name"
    },
    {
    "name": "Preferred First Name",
    "path": "preferred_name.first_name"
    }
    ]
    },
    {
    "sheetName": "Grants",
    "api": "WOS",
    "mainPath": "static_data.fullrecord_metadata.[fund_ack][]",
    "referenceColumns": [
    "Accession Number (UT)",
    "Published Year"
    ],
    "columns": [
    {
    "name": "Funding Text",
    "path": "fund_text.[p][]|concat(@,',')"
    },
    {
    "name": "Number of Grants",
    "path": "grants.count"
    }
    ],
    "columnCollection": [
    {
    "mainPath": "grants.[grant][]",
    "api": "WOS",
    "columns": [
    {
    "name": "Grant Source",
    "path": "grant_source"
    },
    {
    "name": "Grant Agency",
    "path": "grant_agency"
    },
    {
    "name": "1st Grant Agency Enhanced Name",
    "path": "grant_agency_names[?pref=='Y'].content|[0]"
    },
    {
    "name": "2nd Grant Agency Enhanced Name",
    "path": "grant_agency_names[?pref=='Y'].content|[1]"
    },
    {
    "name": "Grant Agency Enhanced Names (concatenated)",
    "path": "grant_agency_names[?pref=='Y'].content[]|concat(@,'; ')"
    },
    {
    "name": "Grant IDs (concatenated)",
    "path": "grant_ids.[grant_id][]|concat(@,',')"
    }
    ]
    }
    ]
    },
    {
    "sheetName": "Percentiles (InCites)",
    "referenceColumns": [
    "Accession Number (UT)"
    ],
    "mainPath": "[incites_api_metrics][]",
    "api": "InCites",
    "columns": [
    {
    "name": "Accession Number",
    "path": "ACCESSION_NUMBER"
    }
    ],
    "columnCollection": [
    {
    "mainPath": "PERCENTILE[]",
    "api": "InCites",
    "columns": [
    {
    "name": "Code",
    "path": "CODE"
    },
    {
    "name": "Subject",
    "path": "SUBJECT"
    },
    {
    "name": "Category percentile",
    "path": "CAT_PERC"
    },
    {
    "name": "Category Expected Citation",
    "path": "CAT_EXP_CITATION"
    },
    {
    "name": "Category Normalized Citation Impact",
    "path": "CNCI"
    },
    {
    "name": "Best Category",
    "path": "IS_BEST"
    }
    ]
    }
    ]
    },
    {
    "sheetName": "Cited References",
    "api": "WOS",
    "referenceColumns": [
    "Accession Number (UT)"
    ],
    "mainPath": "cited_references.[Data][]",
    "columns": [
    {
    "name": "Reference UT",
    "path": "UID"
    },
    {
    "name": "Cited Author",
    "path": "CitedAuthor"
    },
    {
    "name": "Times Cited",
    "path": "TimesCited"
    },
    {
    "name": "Year",
    "path": "Year"
    },
    {
    "name": "Page",
    "path": "Page"
    },
    {
    "name": "Volume",
    "path": "Volume"
    },
    {
    "name": "CitedWork",
    "path": "CitedWork"
    },
    {
    "name": "CitedTitle",
    "path": "CitedTitle"
    },
    {
    "name": "DOI",
    "path": "DOI"
    }
    ]
    }
    ]
    }
    Expected behavior
    A clear and concise description of what you expected to happen.
    smooth download of 5 excel files
    Screenshots
    If applicable, add screenshots to help explain your problem.
    image

Desktop (please complete the following information):

  • OS: [e.g. iOS]
    Windows
    Additional context
    Add any other context about the problem here.

Add the possibility to import InCites Metrics by using InCites API

Is your feature request related to a problem? Please describe.
It would be a huge help to auto-request InCites metrics for my given query.

Describe the solution you'd like
Add to the API token another input field where optionally users can provide InCites Token.

Describe alternatives you've considered

Additional context

Export filename ddMMyyyy not right

When specifying the Filename of the export, the tool automatically appends the date in a "_ddMMyyyyHHmmss_partX.xlsx" format. The ddMM part do not make sense on my exported files.

To Reproduce

  1. usrQuery=OG=(Iowa State University) AND PY=2020 AND SO=(Agron J) and databaseID=WOS
  2. Attribute selection configuration left as default.

Expected behavior
Exported December 6, 2021 at 3:11pm. Expected filename to have 12062021. Instead filename was WOS_Export_06112021151239_part1. Not sure where the 0611 comes from.

Looking back on previous files, one from evening of November 21, 2021 was created with name
WOS_Export_ISU_2020_21132021201145_part1. 2113 does not make sense in this context.

Desktop (please complete the following information):

  • Windows 10, Release 0.1.6

Capture

Cannot fully exported records

We found that API Excel Converter cannot fully exported records.

For example, please use Query "TS=(cell) AND PY=2020"
All other settings are using the default one.

and then export the 1-3000 records.

You will find , it only exported 2975 records.

If we continue to export the remaining 2976-3000 records.

You will find , it only exported 1 record

Would you please check what is wrong with this tool and fix it.

Auto update

Is your feature request related to a problem? Please describe.
I do not know when the tools get an update, I would like to be informed when the tools is updated.

Describe the solution you'd like
Notification in the tool or autoupdate

Describe alternatives you've considered
Email notification, by subscribing to this repository

Additional context

Not able to access records beyond 100k

Describe the bug
The API Exporter tool clearly states, "You can export max 100k records through API." However, when my query returns a large number of possible results (example PY=2020 gives 2,752,602 results), I expect to be able to address any set of 100k within those results. Currently, I can only get access to results 1-100,000. If I want to export the ten records 2,000,000 to 2,000,010 I am unable to.

To Reproduce
Steps to reproduce the behavior:

  1. usrQuery= PY=2020 and databaseID=WOS

Expected behavior
I expect the range of records sliders to max at 2,752,602.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following):

  • OS: Windows

Additional context
Add any other context about the problem here.
API_exporter

Converter remember the last search of user

Each time the converter is opened the Search details field reverts to the default that had been programmed, not to the search the user last did (or repeatedly does).

It is desirable that the last search done by the individual user is saved (sticky) in the application.

TypeError: Cannot read property 'filter' of null

Describe the bug
A clear and concise description of what the bug is.
TypeError: Cannot read property 'filter' of null
Something went wrong at startRecord = 601

To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. OG=Hanyang University AND PY=2012-2022
  2. Attribute selection configuration that you used. Upload your JSON. I am using the default configuration.

Expected behavior
A clear and concise description of what you expected to happen.
Expected to be able to export 40,597 successfully without any error.

Screenshots
If applicable, add screenshots to help explain your problem.
error
json.txt

image

Desktop (please complete the following information):

  • OS: [e.g. WIndows 10]

Additional context
Add any other context about the problem here.
You may contact me at [email protected] if you need more info.
Appreciate your help as I need to use Web of Science™ API Exporter urgently.

429 Too Many Requests

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Provide the search details that you used by export e.g. usrQuery=TS=(covid-19 vaccin*) AND PY=2020 and databaseID=WOS
    Happens for all Query types
  2. Attribute selection configuration that you used. Upload your JSON
    All configuration

Expected behavior
Export should finish

Screenshots
Export is not finished

Desktop (please complete the following information):

  • OS: Windows

Additional context
Based on your WOS Expanded plan - sometimes an error 429 (too many requests) is being thrown because this tool is not considering the header X-REQ-ReqPerSec-Remaining

Run in browser ?

How can I get this running in a browser, instead of electron ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.