Skip to main content
Module

x/ldkit/examples/basic/main.ts

LDkit - Linked Data query toolkit for TypeScript developers
Go to Latest
File
import { type Context, createLens } from "ldkit";import { dbo, rdfs, xsd } from "ldkit/namespaces";
// Create a context for query engineconst context: Context = { sources: ["https://dbpedia.org/sparql"], // SPARQL endpoint language: "en", // Preferred language};
// Create a schemaconst PersonSchema = { "@type": dbo.Person, name: rdfs.label, abstract: dbo.abstract, birthDate: { "@id": dbo.birthDate, "@type": xsd.date, },} as const;
// Create a resource using the data schema and context aboveconst Persons = createLens(PersonSchema, context);
// List all personsconst persons = await Persons.find(undefined, 10);for (const person of persons) { console.log(person.name); // string console.log(person.birthDate); // Date}
// Get a particular person identified by IRIconst ada = await Persons.findByIri("http://dbpedia.org/resource/Ada_Lovelace");console.log(ada?.name); // string "Ada Lovelace"console.log(ada?.birthDate); // Date object of 1815-12-10
// Get total count of all personsconst count = await Persons.count();console.log(count); // number
// Insert a new personPersons.insert({ $id: "http://dbpedia.org/resource/Alan_Turing", name: "Alan Turing", birthDate: new Date("1912-06-23"),});
// Modify a person's namePersons.update({ $id: "http://dbpedia.org/resource/Alan_Turing", name: "Not Alan Turing",});
// Delete a personPersons.delete("http://dbpedia.org/resource/Alan_Turing");