Skip to content

Nanopublishing with Cursor AI IDE & Iolanta

What is a Nanopublication?

Choice of tools

Why Cursor AI IDE?


Tool Decision Reason Version Evaluated
Cursor IDE Yes No issues found so far Current @ 2025-09-18
JetBrains IDE + JetBrains AI Assistant No Cannot run a command and directly consume its output, we have to resort to copy-paste, which is not ergonomic at all. 2025.2.0.1

Choosing a topic

A good nanopublication topic should express a single, clear knowledge claim that can stand alone and be verified. The assertion should be:

  • Focused — One main statement or relationship
  • Verifiable — Based on facts, sources, or established knowledge
  • Self-contained — Understandable without external context
  • Structured — Can be expressed using Linked Data vocabularies and URIs

Good topics

  • Factual relationships: "Rhysling crater is named after the fictional character Rhysling"
  • Scientific claims: "TRAPPIST-1 system has 7 planets"
  • Taxonomic statements: "Pluto is not a planet"
  • Domain-specific knowledge: "Mosquitoes bite humans"

What to avoid

  • Multiple unrelated claims in one assertion
  • Vague or ambiguous statements
  • Opinions without factual basis
  • Topics that require extensive external context to understand

Identifying suitable topics

Look for statements that: 1. Connect entities (people, places, concepts) with clear relationships 2. Can be expressed using standard vocabularies (Schema.org, DBpedia, Wikidata) 3. Have resolvable URIs for the entities involved 4. Make a meaningful contribution to a knowledge graph

Claim

Rhysling crater on the Moon was named after the fictional character Rhysling, also known as Noisy, from Robert A. Heinlein's short story "The Green Hills of Earth".

Then, we are asking the editor in the chat:

Convert this into an LD document.

After some thinking, the document changes to this:

---
"@context":
  "@import": https://json-ld.org/contexts/dollar-convenience.jsonld
  schema: https://schema.org/
  rdfs: http://www.w3.org/2000/01/rdf-schema#
  wd: https://www.wikidata.org/entity/

  named-after:
    "@id": wd:P138
    "@type": "@id"

  schema:author:
    "@type": "@id"

  schema:character:
    "@type": "@id"

  schema:containedInPlace:
    "@type": "@id"

  appears-in:
    "@reverse": schema:character
    "@type": "@id"

$id: https://www.wikidata.org/entity/Q24229338
$type:
  - schema:Place
  - https://www.wikidata.org/entity/Q3240715
schema:containedInPlace: https://www.wikidata.org/entity/Q405
schema:description: A lunar crater.

named-after:
  $type: schema:Person
  rdfs:label: Rhysling
  schema:description: A fictional character.
  schema:alternateName: Noisy
  appears-in:
    $type: https://www.wikidata.org/entity/Q49084
    rdfs:label: The Green Hills of Earth
    schema:author: https://www.wikidata.org/entity/Q123078
---

Rhysling crater on the Moon was named after the fictional character Rhysling, also known as Noisy, from Robert A. Heinlein's short story "The Green Hills of Earth".

Not working further

We have a pyld bug which prevents this document from being renderable in Iolanta. We'll fix it.