inrupt / inrupt/solid-client-js

RDF-star support

Open
#1,486 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
245
Forks
42
Avg merge
12h 49m
Merged PRs (30d)
22

Description

Search terms you've used

RDF-star, embedded triple, RDF*

Feature suggestion

Being able to write statement-level annotations as RDF-star to the datapod

Expected functionality/enhancement

There are a few ways to abstract this, but something along the lines of:

let newBookThing2 = createThing({ name: "book2" });

// Const addStringNoLocale<T>(thing, property, value, annotation): T
newBookThing2 = addStringNoLocale(newBookThing2, SCHEMA.name, "ZYX987 of Example Poetry", [
[SCHEMA.creator, "Miel"]
]);
// Alternative, less-invasive Const addAnnotation<T>(property, value): T (picks last added triple)
newBookThing2 = addStringNoLocale(newBookThing2, SCHEMA.name, "ZYX987 of Example Poetry");
newBookThing2 = addAnnotation(SCHEMA.creator,  "Miel"]
]);

// Writes: <> schema:name "ZYX987 of Example Poetry" {| schema:creator "Miel" |}

Actual functionality/enhancement

/

Use Cases

Adding general provenance info to pod data

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating createThing, addStringNoLocale, and the existing datapod serialization or writing entry points. Compare how statement-level annotations would fit the current API and RDF output; done should include a decided interface and support for writing the shown RDF-star annotation form.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.