@wentorai/research-plugins 1.3.2 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -56
- package/curated/analysis/README.md +1 -13
- package/curated/domains/README.md +1 -5
- package/curated/literature/README.md +3 -12
- package/curated/research/README.md +1 -18
- package/curated/tools/README.md +1 -12
- package/curated/writing/README.md +2 -6
- package/index.ts +88 -5
- package/openclaw.plugin.json +3 -12
- package/package.json +3 -5
- package/skills/analysis/statistics/SKILL.md +1 -1
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/SKILL.md +3 -2
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +1 -0
- package/skills/domains/ai-ml/huggingface-api/SKILL.md +251 -0
- package/skills/domains/biomedical/SKILL.md +9 -2
- package/skills/domains/biomedical/alphafold-api/SKILL.md +227 -0
- package/skills/domains/biomedical/biothings-api/SKILL.md +296 -0
- package/skills/domains/biomedical/clinicaltrials-api-v2/SKILL.md +216 -0
- package/skills/domains/biomedical/enrichr-api/SKILL.md +264 -0
- package/skills/domains/biomedical/ensembl-rest-api/SKILL.md +204 -0
- package/skills/domains/biomedical/medical-data-api/SKILL.md +197 -0
- package/skills/domains/biomedical/pdb-structure-api/SKILL.md +219 -0
- package/skills/domains/business/SKILL.md +2 -3
- package/skills/domains/chemistry/SKILL.md +3 -2
- package/skills/domains/chemistry/catalysis-hub-api/SKILL.md +171 -0
- package/skills/domains/education/SKILL.md +2 -3
- package/skills/domains/law/SKILL.md +3 -2
- package/skills/domains/law/uk-legislation-api/SKILL.md +179 -0
- package/skills/literature/discovery/SKILL.md +1 -1
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +2 -2
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +2 -2
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +1 -1
- package/skills/literature/discovery/paper-recommendation-guide/SKILL.md +8 -14
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +20 -14
- package/skills/literature/discovery/semantic-paper-radar/SKILL.md +8 -8
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +103 -86
- package/skills/literature/fulltext/SKILL.md +3 -2
- package/skills/literature/fulltext/arxiv-latex-source/SKILL.md +195 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +1 -1
- package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +5 -5
- package/skills/literature/metadata/citation-network-guide/SKILL.md +3 -3
- package/skills/literature/metadata/h-index-guide/SKILL.md +0 -27
- package/skills/literature/search/SKILL.md +3 -4
- package/skills/literature/search/citation-chaining-guide/SKILL.md +42 -32
- package/skills/literature/search/database-comparison-guide/SKILL.md +1 -1
- package/skills/literature/search/semantic-scholar-api/SKILL.md +56 -53
- package/skills/research/automation/SKILL.md +2 -3
- package/skills/research/automation/datagen-research-guide/SKILL.md +1 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +1 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -1
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +1 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +1 -1
- package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +3 -3
- package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +1 -1
- package/skills/research/deep-research/local-deep-research-guide/SKILL.md +6 -6
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +3 -3
- package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +4 -4
- package/skills/research/methodology/SKILL.md +1 -1
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +1 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +1 -1
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +1 -1
- package/skills/research/paper-review/SKILL.md +1 -1
- package/skills/research/paper-review/automated-review-guide/SKILL.md +1 -1
- package/skills/research/paper-review/peer-review-guide/SKILL.md +1 -1
- package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +1 -1
- package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +1 -1
- package/skills/tools/diagram/plantuml-guide/SKILL.md +1 -1
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +1 -1
- package/skills/tools/document/paper-parse-guide/SKILL.md +2 -2
- package/skills/tools/knowledge-graph/SKILL.md +2 -3
- package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +5 -5
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +1 -1
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +1 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +1 -2
- package/skills/tools/scraping/google-scholar-scraper/SKILL.md +7 -7
- package/skills/writing/citation/SKILL.md +1 -1
- package/skills/writing/citation/academic-citation-manager/SKILL.md +20 -17
- package/skills/writing/citation/citation-assistant-skill/SKILL.md +72 -58
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +1 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +1 -1
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +1 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -1
- package/skills/writing/citation/zotero-scholar-guide/SKILL.md +1 -1
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +1 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +1 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +1 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +1 -0
- package/src/tools/arxiv.ts +81 -30
- package/src/tools/biorxiv.ts +158 -0
- package/src/tools/crossref.ts +63 -22
- package/src/tools/datacite.ts +191 -0
- package/src/tools/dblp.ts +125 -0
- package/src/tools/doaj.ts +82 -0
- package/src/tools/europe-pmc.ts +159 -0
- package/src/tools/hal.ts +118 -0
- package/src/tools/inspire-hep.ts +165 -0
- package/src/tools/openaire.ts +158 -0
- package/src/tools/openalex.ts +26 -15
- package/src/tools/opencitations.ts +112 -0
- package/src/tools/orcid.ts +139 -0
- package/src/tools/osf-preprints.ts +104 -0
- package/src/tools/pubmed.ts +22 -13
- package/src/tools/ror.ts +118 -0
- package/src/tools/unpaywall.ts +15 -6
- package/src/tools/util.ts +141 -0
- package/src/tools/zenodo.ts +157 -0
- package/mcp-configs/academic-db/ChatSpatial.json +0 -17
- package/mcp-configs/academic-db/academia-mcp.json +0 -17
- package/mcp-configs/academic-db/academic-paper-explorer.json +0 -17
- package/mcp-configs/academic-db/academic-search-mcp-server.json +0 -17
- package/mcp-configs/academic-db/agentinterviews-mcp.json +0 -17
- package/mcp-configs/academic-db/all-in-mcp.json +0 -17
- package/mcp-configs/academic-db/alphafold-mcp.json +0 -20
- package/mcp-configs/academic-db/apple-health-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-mcp-server.json +0 -17
- package/mcp-configs/academic-db/bgpt-mcp.json +0 -17
- package/mcp-configs/academic-db/biomcp.json +0 -17
- package/mcp-configs/academic-db/biothings-mcp.json +0 -17
- package/mcp-configs/academic-db/brightspace-mcp.json +0 -21
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +0 -17
- package/mcp-configs/academic-db/climatiq-mcp.json +0 -20
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +0 -17
- package/mcp-configs/academic-db/deep-research-mcp.json +0 -17
- package/mcp-configs/academic-db/dicom-mcp.json +0 -17
- package/mcp-configs/academic-db/enrichr-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fec-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp.json +0 -19
- package/mcp-configs/academic-db/gget-mcp.json +0 -17
- package/mcp-configs/academic-db/gibs-mcp.json +0 -20
- package/mcp-configs/academic-db/gis-mcp-server.json +0 -22
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +0 -21
- package/mcp-configs/academic-db/google-researcher-mcp.json +0 -17
- package/mcp-configs/academic-db/idea-reality-mcp.json +0 -17
- package/mcp-configs/academic-db/legiscan-mcp.json +0 -19
- package/mcp-configs/academic-db/lex.json +0 -17
- package/mcp-configs/academic-db/m4-clinical-mcp.json +0 -21
- package/mcp-configs/academic-db/medical-mcp.json +0 -21
- package/mcp-configs/academic-db/nexonco-mcp.json +0 -20
- package/mcp-configs/academic-db/omop-mcp.json +0 -20
- package/mcp-configs/academic-db/onekgpd-mcp.json +0 -20
- package/mcp-configs/academic-db/openedu-mcp.json +0 -20
- package/mcp-configs/academic-db/opengenes-mcp.json +0 -20
- package/mcp-configs/academic-db/openstax-mcp.json +0 -21
- package/mcp-configs/academic-db/openstreetmap-mcp.json +0 -21
- package/mcp-configs/academic-db/opentargets-mcp.json +0 -21
- package/mcp-configs/academic-db/pdb-mcp.json +0 -21
- package/mcp-configs/academic-db/smithsonian-mcp.json +0 -20
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +0 -17
- package/mcp-configs/ai-platform/ai-counsel.json +0 -17
- package/mcp-configs/ai-platform/atlas-mcp-server.json +0 -17
- package/mcp-configs/ai-platform/counsel-mcp.json +0 -17
- package/mcp-configs/ai-platform/cross-llm-mcp.json +0 -17
- package/mcp-configs/ai-platform/gptr-mcp.json +0 -17
- package/mcp-configs/ai-platform/magi-researchers.json +0 -21
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +0 -22
- package/mcp-configs/ai-platform/open-paper-machine.json +0 -21
- package/mcp-configs/ai-platform/paper-intelligence.json +0 -21
- package/mcp-configs/ai-platform/paper-reader.json +0 -21
- package/mcp-configs/ai-platform/paperdebugger.json +0 -21
- package/mcp-configs/browser/decipher-research-agent.json +0 -17
- package/mcp-configs/browser/deep-research.json +0 -17
- package/mcp-configs/browser/everything-claude-code.json +0 -17
- package/mcp-configs/browser/exa-mcp.json +0 -20
- package/mcp-configs/browser/gpt-researcher.json +0 -17
- package/mcp-configs/browser/heurist-agent-framework.json +0 -17
- package/mcp-configs/browser/mcp-searxng.json +0 -21
- package/mcp-configs/browser/mcp-webresearch.json +0 -20
- package/mcp-configs/cloud-docs/confluence-mcp.json +0 -37
- package/mcp-configs/cloud-docs/google-drive-mcp.json +0 -35
- package/mcp-configs/cloud-docs/notion-mcp.json +0 -29
- package/mcp-configs/communication/discord-mcp.json +0 -29
- package/mcp-configs/communication/discourse-mcp.json +0 -21
- package/mcp-configs/communication/slack-mcp.json +0 -29
- package/mcp-configs/communication/telegram-mcp.json +0 -28
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +0 -17
- package/mcp-configs/data-platform/automl-stat-mcp.json +0 -21
- package/mcp-configs/data-platform/context-keeper.json +0 -17
- package/mcp-configs/data-platform/context7.json +0 -19
- package/mcp-configs/data-platform/contextstream-mcp.json +0 -17
- package/mcp-configs/data-platform/email-mcp.json +0 -17
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +0 -22
- package/mcp-configs/data-platform/mcp-excel-server.json +0 -21
- package/mcp-configs/data-platform/mcp-stata.json +0 -21
- package/mcp-configs/data-platform/mcpstack-jupyter.json +0 -21
- package/mcp-configs/data-platform/ml-mcp.json +0 -21
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +0 -20
- package/mcp-configs/data-platform/numpy-mcp.json +0 -21
- package/mcp-configs/database/neo4j-mcp.json +0 -37
- package/mcp-configs/database/postgres-mcp.json +0 -28
- package/mcp-configs/database/sqlite-mcp.json +0 -29
- package/mcp-configs/dev-platform/geogebra-mcp.json +0 -21
- package/mcp-configs/dev-platform/github-mcp.json +0 -31
- package/mcp-configs/dev-platform/gitlab-mcp.json +0 -34
- package/mcp-configs/dev-platform/latex-mcp-server.json +0 -21
- package/mcp-configs/dev-platform/manim-mcp.json +0 -20
- package/mcp-configs/dev-platform/mcp-echarts.json +0 -20
- package/mcp-configs/dev-platform/panel-viz-mcp.json +0 -20
- package/mcp-configs/dev-platform/paperbanana.json +0 -20
- package/mcp-configs/dev-platform/texflow-mcp.json +0 -20
- package/mcp-configs/dev-platform/texmcp.json +0 -20
- package/mcp-configs/dev-platform/typst-mcp.json +0 -21
- package/mcp-configs/dev-platform/vizro-mcp.json +0 -20
- package/mcp-configs/email/email-mcp.json +0 -40
- package/mcp-configs/email/gmail-mcp.json +0 -37
- package/mcp-configs/note-knowledge/ApeRAG.json +0 -17
- package/mcp-configs/note-knowledge/In-Memoria.json +0 -17
- package/mcp-configs/note-knowledge/agent-memory.json +0 -17
- package/mcp-configs/note-knowledge/aimemo.json +0 -17
- package/mcp-configs/note-knowledge/biel-mcp.json +0 -19
- package/mcp-configs/note-knowledge/cognee.json +0 -17
- package/mcp-configs/note-knowledge/context-awesome.json +0 -17
- package/mcp-configs/note-knowledge/context-mcp.json +0 -17
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +0 -17
- package/mcp-configs/note-knowledge/cortex.json +0 -17
- package/mcp-configs/note-knowledge/devrag.json +0 -17
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +0 -17
- package/mcp-configs/note-knowledge/engram.json +0 -17
- package/mcp-configs/note-knowledge/gnosis-mcp.json +0 -17
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +0 -19
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +0 -21
- package/mcp-configs/note-knowledge/mcp-memory-service.json +0 -21
- package/mcp-configs/note-knowledge/mcp-obsidian.json +0 -23
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +0 -20
- package/mcp-configs/note-knowledge/mcp-summarizer.json +0 -21
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +0 -21
- package/mcp-configs/note-knowledge/openzim-mcp.json +0 -20
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +0 -21
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +0 -20
- package/mcp-configs/reference-mgr/academix.json +0 -20
- package/mcp-configs/reference-mgr/arxiv-cli.json +0 -17
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +0 -21
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +0 -17
- package/mcp-configs/reference-mgr/chiken.json +0 -17
- package/mcp-configs/reference-mgr/claude-scholar.json +0 -17
- package/mcp-configs/reference-mgr/devonthink-mcp.json +0 -17
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +0 -19
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +0 -20
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +0 -21
- package/mcp-configs/reference-mgr/mcp-scholarly.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +0 -20
- package/mcp-configs/reference-mgr/mcp-zotero.json +0 -21
- package/mcp-configs/reference-mgr/mendeley-mcp.json +0 -20
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +0 -22
- package/mcp-configs/reference-mgr/onecite.json +0 -21
- package/mcp-configs/reference-mgr/paper-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +0 -21
- package/mcp-configs/reference-mgr/seerai.json +0 -21
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +0 -21
- package/mcp-configs/reference-mgr/sourcelibrary.json +0 -20
- package/mcp-configs/registry.json +0 -476
- package/mcp-configs/repository/dataverse-mcp.json +0 -33
- package/mcp-configs/repository/huggingface-mcp.json +0 -29
- package/skills/domains/business/xpert-bi-guide/SKILL.md +0 -84
- package/skills/domains/education/edumcp-guide/SKILL.md +0 -74
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +0 -107
- package/skills/research/automation/mcp-server-guide/SKILL.md +0 -211
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +0 -84
- package/src/tools/semantic-scholar.ts +0 -66
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: uk-legislation-api
|
|
3
|
+
description: "Access UK laws and statutory instruments via the Legislation.gov.uk API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "⚖️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["UK law", "legislation", "statutory instruments", "legal research", "Parliament", "regulatory analysis"]
|
|
10
|
+
source: "https://www.legislation.gov.uk"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# UK Legislation API (legislation.gov.uk)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The Legislation.gov.uk API, maintained by The National Archives, provides open access to the full text of UK legislation from 1267 to the present day. The database covers over 100,000 items including Acts of Parliament, Statutory Instruments, Scottish and Welsh legislation, and Northern Ireland statutes. All data is available as structured XML with Dublin Core metadata, Atom feeds, and HTML. The API supports point-in-time versions showing how legislation read at any given date, plus amendment tracking.
|
|
18
|
+
|
|
19
|
+
## Authentication
|
|
20
|
+
|
|
21
|
+
No authentication or API key is required. The API is fully open. Respect rate limits by adding reasonable delays between bulk requests.
|
|
22
|
+
|
|
23
|
+
## URL Structure
|
|
24
|
+
|
|
25
|
+
All legislation follows the pattern:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
https://www.legislation.gov.uk/{type}/{year}/{number}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Legislation Types
|
|
32
|
+
|
|
33
|
+
| Type Code | Description | Example |
|
|
34
|
+
|-----------|-------------|---------|
|
|
35
|
+
| `ukpga` | UK Public General Act | `/ukpga/2010/15` (Equality Act 2010) |
|
|
36
|
+
| `uksi` | UK Statutory Instrument | `/uksi/2020/1374` |
|
|
37
|
+
| `asp` | Act of Scottish Parliament | `/asp/2020/13` |
|
|
38
|
+
| `asc` | Act of Senedd Cymru (Wales) | `/asc/2021/4` |
|
|
39
|
+
| `nia` | Northern Ireland Act | `/nia/2022/2` |
|
|
40
|
+
| `ukla` | UK Local Act | `/ukla/2008/1` |
|
|
41
|
+
| `ukdsi` | UK Draft Statutory Instrument | `/ukdsi/2023/123` |
|
|
42
|
+
| `eur` | Retained EU Legislation | `/eur/2016/679` (GDPR) |
|
|
43
|
+
|
|
44
|
+
## Core Endpoints
|
|
45
|
+
|
|
46
|
+
### Full Legislation Text (XML)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Fetch the Equality Act 2010 — returns structured XML with Dublin Core metadata
|
|
50
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/data.xml"
|
|
51
|
+
# Response: <Legislation DocumentURI="http://www.legislation.gov.uk/ukpga/2010/15"
|
|
52
|
+
# NumberOfProvisions="564">
|
|
53
|
+
# <dc:title>Equality Act 2010</dc:title>
|
|
54
|
+
# <dc:description>An Act to make provision to require Ministers...</dc:description>
|
|
55
|
+
|
|
56
|
+
# Fetch Data Protection Act 2018
|
|
57
|
+
curl "https://www.legislation.gov.uk/ukpga/2018/12/data.xml"
|
|
58
|
+
# Response: <dc:title>Data Protection Act 2018</dc:title>
|
|
59
|
+
# NumberOfProvisions="1181"
|
|
60
|
+
|
|
61
|
+
# Fetch a Statutory Instrument
|
|
62
|
+
curl "https://www.legislation.gov.uk/uksi/2020/1374/data.xml"
|
|
63
|
+
# Response: <dc:title>The Health Protection (Coronavirus, Restric...</dc:title>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Specific Sections
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Fetch a single section
|
|
70
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/section/1/data.xml"
|
|
71
|
+
|
|
72
|
+
# Fetch table of contents
|
|
73
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/contents/data.xml"
|
|
74
|
+
|
|
75
|
+
# Fetch a specific Part
|
|
76
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/part/1/data.xml"
|
|
77
|
+
|
|
78
|
+
# Fetch a Schedule
|
|
79
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/schedule/1/data.xml"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Search and Discovery
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Search by title — returns HTTP 300 with multiple matches
|
|
86
|
+
curl "https://www.legislation.gov.uk/id?title=equality+act"
|
|
87
|
+
|
|
88
|
+
# Browse by type, title keyword, and year
|
|
89
|
+
curl "https://www.legislation.gov.uk/ukpga?title=data+protection&year=2018"
|
|
90
|
+
|
|
91
|
+
# List recent Acts via Atom feed
|
|
92
|
+
curl "https://www.legislation.gov.uk/new/ukpga/data.feed"
|
|
93
|
+
# Response: <openSearch:totalResults> with <entry> elements per Act
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Amendment Tracking
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Changes affecting a specific Act (Atom feed, paginated)
|
|
100
|
+
curl "https://www.legislation.gov.uk/changes/affected/ukpga/2010/15/data.feed"
|
|
101
|
+
# Response: <title>Changes to Legislation</title>
|
|
102
|
+
# <leg:totalPages>25</leg:totalPages>
|
|
103
|
+
# Each <entry> describes one amendment with source and target provisions
|
|
104
|
+
|
|
105
|
+
# Changes made BY a specific Act
|
|
106
|
+
curl "https://www.legislation.gov.uk/changes/affecting/ukpga/2010/15/data.feed"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Point-in-Time Versions
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Legislation as it stood on a specific date
|
|
113
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/2015-01-01/data.xml"
|
|
114
|
+
|
|
115
|
+
# Enacted (original) version
|
|
116
|
+
curl "https://www.legislation.gov.uk/ukpga/2010/15/enacted/data.xml"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Data Formats
|
|
120
|
+
|
|
121
|
+
| Suffix | Format | Content-Type |
|
|
122
|
+
|--------|--------|-------------|
|
|
123
|
+
| `/data.xml` | Legislation XML (CLML) | `application/xml` |
|
|
124
|
+
| `/data.feed` | Atom feed | `application/atom+xml` |
|
|
125
|
+
| `/data.csv` | CSV export | `text/csv` |
|
|
126
|
+
| (none) | HTML rendering | `text/html` |
|
|
127
|
+
|
|
128
|
+
The primary XML format uses the Crown Legislation Markup Language (CLML) schema with namespaces for `legislation`, `ukm:Metadata`, and Dublin Core (`dc:`, `dct:`) elements. Each document includes `NumberOfProvisions`, `RestrictExtent` (geographic applicability like `E+W+S+N.I.`), and `RestrictStartDate`.
|
|
129
|
+
|
|
130
|
+
## Academic Use Cases
|
|
131
|
+
|
|
132
|
+
- **Legislative history**: Track how a statute has evolved using point-in-time versions and amendment feeds
|
|
133
|
+
- **Policy analysis**: Compare regulatory regimes across UK jurisdictions (England, Scotland, Wales, NI)
|
|
134
|
+
- **Corpus linguistics**: Build legislative text corpora from XML for NLP analysis of legal language
|
|
135
|
+
- **Regulatory impact studies**: Use the changes feed to measure legislative amendment frequency
|
|
136
|
+
- **Comparative law**: Contrast UK statutory instruments with primary legislation structure
|
|
137
|
+
- **Brexit research**: Analyse retained EU legislation (type `eur`) and its UK modifications
|
|
138
|
+
|
|
139
|
+
## Python Usage
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
import requests
|
|
143
|
+
from xml.etree import ElementTree as ET
|
|
144
|
+
|
|
145
|
+
BASE = "https://www.legislation.gov.uk"
|
|
146
|
+
NS = {"leg": "http://www.legislation.gov.uk/namespaces/legislation",
|
|
147
|
+
"ukm": "http://www.legislation.gov.uk/namespaces/metadata",
|
|
148
|
+
"dc": "http://purl.org/dc/elements/1.1/",
|
|
149
|
+
"atom": "http://www.w3.org/2005/Atom"}
|
|
150
|
+
|
|
151
|
+
def get_legislation(leg_type: str, year: int, number: int) -> dict:
|
|
152
|
+
"""Fetch UK legislation metadata and full XML."""
|
|
153
|
+
url = f"{BASE}/{leg_type}/{year}/{number}/data.xml"
|
|
154
|
+
resp = requests.get(url)
|
|
155
|
+
resp.raise_for_status()
|
|
156
|
+
root = ET.fromstring(resp.content)
|
|
157
|
+
meta = root.find(".//ukm:Metadata", NS)
|
|
158
|
+
return {
|
|
159
|
+
"title": meta.findtext("dc:title", namespaces=NS),
|
|
160
|
+
"description": meta.findtext("dc:description", namespaces=NS),
|
|
161
|
+
"provisions": root.attrib.get("NumberOfProvisions"),
|
|
162
|
+
"extent": root.attrib.get("RestrictExtent"),
|
|
163
|
+
"uri": root.attrib.get("DocumentURI"),
|
|
164
|
+
"xml": resp.content
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
# Example: fetch the Equality Act 2010
|
|
168
|
+
act = get_legislation("ukpga", 2010, 15)
|
|
169
|
+
print(f"{act['title']} — {act['provisions']} provisions, extent: {act['extent']}")
|
|
170
|
+
# Output: Equality Act 2010 — 564 provisions, extent: E+W+S+N.I.
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## References
|
|
174
|
+
|
|
175
|
+
- [Legislation.gov.uk API Documentation](https://www.legislation.gov.uk/developer)
|
|
176
|
+
- [CLML Schema Documentation](https://legislation.github.io/clml-schema/)
|
|
177
|
+
- [Legislation.gov.uk URI Scheme](https://www.legislation.gov.uk/developer/uris)
|
|
178
|
+
- [The National Archives](https://www.nationalarchives.gov.uk/)
|
|
179
|
+
- [Atom Feed Specification](https://www.legislation.gov.uk/developer/formats/atom)
|
|
@@ -16,5 +16,5 @@ Select the skill matching the user's need, then `read` its SKILL.md.
|
|
|
16
16
|
| [papers-we-love-guide](./papers-we-love-guide/SKILL.md) | Community-curated directory of influential CS research papers |
|
|
17
17
|
| [rss-paper-feeds](./rss-paper-feeds/SKILL.md) | Set up RSS feeds and alerts to track new publications in your research area |
|
|
18
18
|
| [semantic-paper-radar](./semantic-paper-radar/SKILL.md) | Semantic literature discovery and synthesis using embeddings |
|
|
19
|
-
| [semantic-scholar-recs-guide](./semantic-scholar-recs-guide/SKILL.md) |
|
|
19
|
+
| [semantic-scholar-recs-guide](./semantic-scholar-recs-guide/SKILL.md) | Paper discovery via recommendation APIs (OpenAlex, CrossRef citation networks) |
|
|
20
20
|
| [zotero-arxiv-daily-guide](./zotero-arxiv-daily-guide/SKILL.md) | Guide to Zotero arXiv Daily for personalized daily paper recommendations |
|
|
@@ -24,7 +24,7 @@ A skill for setting up automated citation alerts and tracking systems that notif
|
|
|
24
24
|
| Web of Science | Citation alert, search alert, journal ToC | WoS-indexed journals | Institutional |
|
|
25
25
|
| Scopus | Citation alert, search alert, author alert | Scopus-indexed journals | Institutional |
|
|
26
26
|
| PubMed | Email alert (My NCBI) | Biomedical literature | Free |
|
|
27
|
-
|
|
|
27
|
+
| OpenAlex | Work tracking, author profiles, concept feeds | All disciplines | Free |
|
|
28
28
|
| ResearchGate | Author follow, recommendation | Member-uploaded papers | Free |
|
|
29
29
|
|
|
30
30
|
### Setting Up Google Scholar Alerts
|
|
@@ -76,7 +76,7 @@ def design_alert_system(research_topics: list[str],
|
|
|
76
76
|
"frequency": "weekly"
|
|
77
77
|
},
|
|
78
78
|
"author_alerts": {
|
|
79
|
-
"platform": "
|
|
79
|
+
"platform": "OpenAlex + Scopus",
|
|
80
80
|
"authors": key_authors,
|
|
81
81
|
"frequency": "monthly"
|
|
82
82
|
},
|
|
@@ -36,7 +36,7 @@ Strategy 1 - Search by conference name:
|
|
|
36
36
|
DBLP: Browse conference page -> search within proceedings
|
|
37
37
|
|
|
38
38
|
Strategy 2 - Search by topic across all venues:
|
|
39
|
-
|
|
39
|
+
OpenAlex: Filter by type "proceedings-article"
|
|
40
40
|
Google Scholar: Use keywords, then check venue names in results
|
|
41
41
|
|
|
42
42
|
Strategy 3 - Track specific conferences:
|
|
@@ -101,7 +101,7 @@ Tiers vary by subfield. Always check the ranking relevant to your specific area.
|
|
|
101
101
|
3. OpenReview: NeurIPS, ICLR, and others host papers with reviews
|
|
102
102
|
4. Institutional repository: Check the authors' university repository
|
|
103
103
|
5. Conference website: Some conferences offer free proceedings
|
|
104
|
-
6.
|
|
104
|
+
6. OpenAlex: Aggregates metadata and OA links from multiple sources
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
### Workshop Papers vs. Main Conference
|
|
@@ -51,7 +51,7 @@ How to use:
|
|
|
51
51
|
Litmaps (litmaps.com) creates dynamic, multi-seed citation maps that update as new papers are published.
|
|
52
52
|
|
|
53
53
|
Workflow:
|
|
54
|
-
1. Add one or more seed papers via DOI, title, or
|
|
54
|
+
1. Add one or more seed papers via DOI, title, or OpenAlex ID
|
|
55
55
|
2. The tool builds a citation graph showing how the papers are connected
|
|
56
56
|
3. Add "discover" nodes to expand the map with algorithmically suggested papers
|
|
57
57
|
4. Create "collections" to organize maps by topic
|
|
@@ -22,22 +22,16 @@ Whether you are entering a new field and need foundational papers, tracking the
|
|
|
22
22
|
|
|
23
23
|
## Algorithmic Recommendation Services
|
|
24
24
|
|
|
25
|
-
###
|
|
25
|
+
### OpenAlex Related Works
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
OpenAlex provides concept-based and citation-based discovery for 250M+ works across all disciplines:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
#
|
|
31
|
-
curl
|
|
32
|
-
-H "Content-Type: application/json" \
|
|
33
|
-
-d '{
|
|
34
|
-
"positivePaperIds": ["CorpusId:12345", "CorpusId:67890"],
|
|
35
|
-
"negativePaperIds": ["CorpusId:11111"],
|
|
36
|
-
"fields": "title,authors,year,citationCount,url"
|
|
37
|
-
}'
|
|
30
|
+
# Find works related to a specific paper via its concepts and citations
|
|
31
|
+
curl "https://api.openalex.org/works?filter=cites:W2741809807&sort=cited_by_count:desc&per_page=10"
|
|
38
32
|
```
|
|
39
33
|
|
|
40
|
-
|
|
34
|
+
Use OpenAlex's concept graph to find related work by browsing papers tagged with the same research concepts, or trace citation networks to find derivative and foundational papers.
|
|
41
35
|
|
|
42
36
|
### Connected Papers
|
|
43
37
|
|
|
@@ -70,7 +64,7 @@ Research Rabbit (researchrabbitapp.com) lets you build collections of papers and
|
|
|
70
64
|
When algorithmic tools are insufficient, manual citation-based techniques remain powerful:
|
|
71
65
|
|
|
72
66
|
### Forward Citation Chaining
|
|
73
|
-
Start with a foundational paper. Find all papers that cite it (using Google Scholar,
|
|
67
|
+
Start with a foundational paper. Find all papers that cite it (using Google Scholar, OpenAlex, or Web of Science). Screen these citing papers by title and abstract to find relevant descendants. Repeat for the most important descendants.
|
|
74
68
|
|
|
75
69
|
### Backward Citation Mining
|
|
76
70
|
Read the reference list of a key paper. Identify and retrieve the most important cited works. This traces the intellectual lineage of ideas and helps you find the seminal papers in a subfield.
|
|
@@ -89,7 +83,7 @@ A sustainable paper discovery practice requires more than one-off searches. Buil
|
|
|
89
83
|
|
|
90
84
|
1. **Check preprint alerts**: Review your arXiv, bioRxiv, or SSRN email alerts or RSS feeds (15 min).
|
|
91
85
|
2. **Scan citation alerts**: Review Google Scholar citation alerts for new papers citing your key references (10 min).
|
|
92
|
-
3. **Process recommendation queue**: Review suggestions from
|
|
86
|
+
3. **Process recommendation queue**: Review suggestions from OpenAlex, Research Rabbit, or Connected Papers for any recently added seed papers (10 min).
|
|
93
87
|
4. **Social signals**: Scan academic Twitter/Mastodon, relevant subreddits, or lab group Slack channels for shared papers (10 min).
|
|
94
88
|
5. **Triage and queue**: Add promising papers to your "to read" queue with a priority tag (high/medium/low) and the reason you flagged them.
|
|
95
89
|
|
|
@@ -113,7 +107,7 @@ Finding papers outside your primary field is particularly challenging because yo
|
|
|
113
107
|
|
|
114
108
|
## References
|
|
115
109
|
|
|
116
|
-
-
|
|
110
|
+
- OpenAlex API: https://api.openalex.org
|
|
117
111
|
- Connected Papers: https://www.connectedpapers.com
|
|
118
112
|
- Research Rabbit: https://www.researchrabbitapp.com
|
|
119
113
|
- Paper Recommendation: https://github.com/pengzhenghao/paper-recommendation
|
|
@@ -95,34 +95,40 @@ Recommended: Set alerts for:
|
|
|
95
95
|
- Key competitor or collaborator publications
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
###
|
|
98
|
+
### OpenAlex Citation Tracking
|
|
99
99
|
|
|
100
100
|
```python
|
|
101
101
|
import requests
|
|
102
102
|
|
|
103
|
-
def
|
|
103
|
+
def track_citations_openalex(work_id: str) -> dict:
|
|
104
104
|
"""
|
|
105
|
-
Monitor citations for a specific paper via
|
|
105
|
+
Monitor citations for a specific paper via OpenAlex.
|
|
106
106
|
|
|
107
107
|
Args:
|
|
108
|
-
|
|
109
|
-
email: Email for notifications
|
|
108
|
+
work_id: OpenAlex work ID (e.g., 'W2741809807') or DOI
|
|
110
109
|
"""
|
|
111
|
-
|
|
110
|
+
headers = {"User-Agent": "ResearchPlugins/1.0 (https://wentor.ai)"}
|
|
112
111
|
response = requests.get(
|
|
113
|
-
f"https://api.
|
|
114
|
-
|
|
112
|
+
f"https://api.openalex.org/works/{work_id}",
|
|
113
|
+
headers=headers
|
|
115
114
|
)
|
|
116
115
|
data = response.json()
|
|
117
116
|
|
|
117
|
+
# Get recent citing works
|
|
118
|
+
citing_resp = requests.get(
|
|
119
|
+
"https://api.openalex.org/works",
|
|
120
|
+
params={"filter": f"cites:{work_id}", "sort": "publication_date:desc", "per_page": 10},
|
|
121
|
+
headers=headers
|
|
122
|
+
)
|
|
123
|
+
citing = citing_resp.json().get("results", [])
|
|
124
|
+
|
|
118
125
|
return {
|
|
119
126
|
'paper': data.get('title', ''),
|
|
120
|
-
'current_citations': data.get('
|
|
121
|
-
'
|
|
122
|
-
c
|
|
123
|
-
|
|
124
|
-
]
|
|
125
|
-
'alert_email': email,
|
|
127
|
+
'current_citations': data.get('cited_by_count', 0),
|
|
128
|
+
'recent_citing_works': [
|
|
129
|
+
{'title': c.get('title'), 'year': c.get('publication_year')}
|
|
130
|
+
for c in citing
|
|
131
|
+
],
|
|
126
132
|
'status': 'configured'
|
|
127
133
|
}
|
|
128
134
|
```
|
|
@@ -31,16 +31,16 @@ Key components:
|
|
|
31
31
|
- **Vector database**: Stores and indexes embeddings for fast similarity search. Options include ChromaDB (local), Qdrant, Pinecone, or Weaviate.
|
|
32
32
|
- **Similarity metric**: Cosine similarity is standard for comparing text embeddings.
|
|
33
33
|
|
|
34
|
-
### Using
|
|
34
|
+
### Using OpenAlex's Search API
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
OpenAlex indexes 250M+ works and supports search queries across all disciplines:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
#
|
|
40
|
-
curl "https://api.
|
|
39
|
+
# Search works via the OpenAlex API
|
|
40
|
+
curl "https://api.openalex.org/works?search=attention+mechanisms+for+graph+neural+networks&per_page=20"
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
The search endpoint uses
|
|
43
|
+
The search endpoint uses relevance-ranked matching. Combine with concept filters and citation data for more targeted discovery. For true semantic matching, build a local embedding index (see below).
|
|
44
44
|
|
|
45
45
|
### Building a Personal Semantic Index
|
|
46
46
|
|
|
@@ -84,7 +84,7 @@ This local index lets you search across all papers you have collected using natu
|
|
|
84
84
|
Use semantic search to expand your awareness beyond your current reading:
|
|
85
85
|
|
|
86
86
|
1. **Seed**: Take the abstract of your current paper (or a paragraph describing your research question).
|
|
87
|
-
2. **Search**: Run it as a semantic query against a large corpus (
|
|
87
|
+
2. **Search**: Run it as a semantic query against a large corpus (OpenAlex, CrossRef, or your local index).
|
|
88
88
|
3. **Filter**: Remove papers you have already read. Sort by a combination of semantic similarity and recency.
|
|
89
89
|
4. **Cluster**: Group the top 50 results into thematic clusters using k-means or HDBSCAN on their embeddings.
|
|
90
90
|
5. **Explore clusters**: Each cluster represents a related subtopic. Read the most-cited paper in each cluster to understand the connection to your work.
|
|
@@ -103,7 +103,7 @@ Semantic search excels at finding papers from other fields that address similar
|
|
|
103
103
|
Set up periodic semantic searches to detect new papers in your area:
|
|
104
104
|
|
|
105
105
|
1. Define 3-5 "concept vectors" by encoding descriptions of your core research interests.
|
|
106
|
-
2. Weekly, search against newly published papers (last 7 days) from arXiv or
|
|
106
|
+
2. Weekly, search against newly published papers (last 7 days) from arXiv or OpenAlex.
|
|
107
107
|
3. Rank new papers by maximum similarity to any of your concept vectors.
|
|
108
108
|
4. Papers above your similarity threshold enter your reading queue automatically.
|
|
109
109
|
|
|
@@ -137,7 +137,7 @@ Compare your research question against the semantic landscape of existing work.
|
|
|
137
137
|
|
|
138
138
|
## References
|
|
139
139
|
|
|
140
|
-
-
|
|
140
|
+
- OpenAlex API: https://api.openalex.org
|
|
141
141
|
- SPECTER2 model: https://huggingface.co/allenai/specter2
|
|
142
142
|
- ChromaDB: https://www.trychroma.com
|
|
143
143
|
- ResearchGPT: https://github.com/mukulpatnaik/researchgpt
|