{movie.name}
43 |{movie.abstract}
44 |├── .gitattributes
├── .github
├── FUNDING.yml
└── workflows
│ ├── deno-test.yml
│ └── npm-publish.yml
├── examples
├── next-movie-database
│ ├── data
│ │ ├── utils.ts
│ │ ├── options.ts
│ │ ├── namespaces.ts
│ │ └── lens.ts
│ ├── .eslintrc.json
│ ├── components
│ │ ├── Loading.tsx
│ │ ├── Thumbnail.tsx
│ │ ├── Footer.tsx
│ │ ├── Links.tsx
│ │ ├── TypesView.tsx
│ │ └── Header.tsx
│ ├── app
│ │ ├── favicon.ico
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── search
│ │ │ └── page.tsx
│ │ └── movie
│ │ │ └── page.tsx
│ ├── next.config.js
│ ├── postcss.config.js
│ ├── .vscode
│ │ └── settings.json
│ ├── tailwind.config.ts
│ ├── README.md
│ ├── .gitignore
│ ├── public
│ │ ├── vercel.svg
│ │ └── next.svg
│ ├── tsconfig.json
│ └── package.json
├── react-dbpedia-actors
│ ├── src
│ │ ├── vite-env.d.ts
│ │ ├── main.tsx
│ │ ├── App.tsx
│ │ ├── store.ts
│ │ ├── Actor.tsx
│ │ └── Actors.tsx
│ ├── vite.config.ts
│ ├── tsconfig.node.json
│ ├── index.html
│ ├── tsconfig.json
│ └── package.json
├── react-query-todo-app
│ ├── src
│ │ ├── vite-env.d.ts
│ │ ├── main.tsx
│ │ ├── store.ts
│ │ └── components
│ │ │ ├── App.tsx
│ │ │ ├── UI.tsx
│ │ │ ├── Icons.tsx
│ │ │ ├── Add.tsx
│ │ │ └── Items.tsx
│ ├── vite.config.ts
│ ├── tsconfig.node.json
│ ├── index.html
│ ├── semantics
│ │ ├── todo_schema.shex
│ │ ├── todo_schema.ts
│ │ └── todo_ontology.ttl
│ ├── tsconfig.json
│ ├── README.md
│ └── package.json
├── custom-query
│ ├── deno.json
│ ├── store.ts
│ └── main.ts
├── import_map.json
├── react-bulletin-boards
│ ├── vite.config.ts
│ ├── tsconfig.node.json
│ ├── src
│ │ ├── vite-env.d.ts
│ │ ├── main.tsx
│ │ ├── App.tsx
│ │ ├── Form.tsx
│ │ └── store.ts
│ ├── index.html
│ ├── tsconfig.json
│ └── package.json
└── basic
│ ├── deno.json
│ ├── inverse.ts
│ ├── main.ts
│ └── arrays.ts
├── library
├── lens
│ ├── mod.ts
│ └── types.ts
├── utils.ts
├── engine
│ ├── mod.ts
│ ├── types.ts
│ └── query_engine_proxy.ts
├── sparql
│ ├── mod.ts
│ ├── escape.ts
│ ├── sparql_expression_builders.ts
│ ├── stringify.ts
│ ├── sparql_shared_builders.ts
│ └── sparql_tag.ts
├── schema
│ ├── search.ts
│ ├── mod.ts
│ ├── schema.ts
│ └── data_types.ts
├── namespace.ts
├── options.ts
└── translator.ts
├── scripts
├── dnt_import_map.json
├── generate_api.ts
├── extract_namespace.ts
└── dnt.ts
├── docs
├── features
│ ├── index.md
│ ├── pagination.md
│ ├── query-with-comunica.md
│ ├── supported-data-types.md
│ └── working-with-arrays.md
├── README.md
├── components
│ ├── index.md
│ ├── query-engine.md
│ └── options.md
├── table-of-contents.json
├── about-ldkit
│ └── index.md
└── getting-started
│ └── index.md
├── www
├── static
│ ├── favicon.ico
│ └── examples
│ │ ├── person.shex
│ │ └── person.jsonld
├── dev.ts
├── data
│ ├── api.ts
│ ├── steps.md
│ └── docs.ts
├── README.md
├── fresh.config.ts
├── components
│ ├── Jumbo.tsx
│ ├── Button.tsx
│ ├── App.tsx
│ ├── Footer.tsx
│ ├── Header.tsx
│ └── Icons.tsx
├── utils
│ ├── markdown.ts
│ └── doc.ts
├── routes
│ ├── _404.tsx
│ ├── _app.tsx
│ ├── gfm.css.ts
│ └── ontology
│ │ ├── index.tsx
│ │ ├── IRI.tsx
│ │ └── Resource.tsx
├── twind.config.ts
├── main.ts
├── deno.json
├── fresh.gen.ts
└── doc.config.ts
├── .gitignore
├── performance
├── benchmark
│ ├── deno.json
│ ├── common.ts
│ ├── results.csv
│ ├── results_overhead.csv
│ ├── overhead.ts
│ ├── populate.ts
│ ├── csv.ts
│ ├── csv_overhead.ts
│ ├── mocks.ts
│ └── README.md
└── dbpedia
│ ├── deno.json
│ ├── scenario1.ts
│ ├── README.md
│ ├── scenario2.ts
│ ├── scenario3.ts
│ └── common.ts
├── tests
├── test_deps.ts
├── sparql_expression_builders.test.ts
├── rdf.test.ts
├── treeiterator.test.ts
├── e2e
│ ├── dbpedia.test.ts
│ ├── rdf_types.test.ts
│ ├── custom_data_types.test.ts
│ ├── inverse.test.ts
│ └── multilang.test.ts
├── engine.test.ts
└── lens_pagination.test.ts
├── namespaces
├── ldkit.ts
├── dc.ts
├── rdfs.ts
├── rdf.ts
├── skos.ts
├── xsd.ts
├── foaf.ts
├── dcterms.ts
├── sioc.ts
└── owl.ts
├── sparql.ts
├── .vscode
├── settings.json
└── import_map.json
├── mod.ts
├── deno.json
├── rdf.ts
├── CITATION.cff
├── LICENSE
└── namespaces.ts
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: karelklima
2 |
--------------------------------------------------------------------------------
/examples/next-movie-database/data/utils.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/library/lens/mod.ts:
--------------------------------------------------------------------------------
1 | export * from "./lens.ts";
2 |
--------------------------------------------------------------------------------
/scripts/dnt_import_map.json:
--------------------------------------------------------------------------------
1 | {
2 | "imports": {
3 | }
4 | }
5 |
--------------------------------------------------------------------------------
/library/utils.ts:
--------------------------------------------------------------------------------
1 | export { readableFromWeb } from "npm:readable-from-web@^1";
2 |
--------------------------------------------------------------------------------
/docs/features/index.md:
--------------------------------------------------------------------------------
1 | # Advanced LDkit usage
2 |
3 | Select topic from the menu.
4 |
--------------------------------------------------------------------------------
/examples/react-dbpedia-actors/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
Loading...
; 3 | } 4 | -------------------------------------------------------------------------------- /examples/next-movie-database/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karelklima/ldkit/main/examples/next-movie-database/app/favicon.ico -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # LDkit documentation 2 | 3 | This is the LDkit documentation source. You can see it live at 4 | [ldkit.io](https://ldkit.io). 5 | -------------------------------------------------------------------------------- /examples/next-movie-database/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {} 3 | 4 | module.exports = nextConfig 5 | -------------------------------------------------------------------------------- /examples/next-movie-database/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /www/dev.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S deno run -A --watch=static/,routes/ 2 | 3 | import dev from "$fresh/dev.ts"; 4 | 5 | await dev(import.meta.url, "./main.ts"); 6 | -------------------------------------------------------------------------------- /www/data/api.ts: -------------------------------------------------------------------------------- 1 | import RAW_API from "../../docs/api.json" with { type: "json" }; 2 | 3 | export type Api = typeof RAW_API; 4 | 5 | export const api: Api = RAW_API; 6 | -------------------------------------------------------------------------------- /examples/next-movie-database/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.defaultFormatter": "esbenp.prettier-vscode", 4 | "editor.tabSize": 2 5 | } 6 | -------------------------------------------------------------------------------- /examples/custom-query/deno.json: -------------------------------------------------------------------------------- 1 | { 2 | "importMap": "../import_map.json", 3 | "tasks": { 4 | "main": "deno run --allow-net --allow-env ./main.ts" 5 | }, 6 | "lock": false 7 | } 8 | -------------------------------------------------------------------------------- /examples/import_map.json: -------------------------------------------------------------------------------- 1 | { 2 | "imports": { 3 | "ldkit": "../mod.ts", 4 | "ldkit/namespaces": "../namespaces.ts", 5 | "ldkit/sparql": "../sparql.ts", 6 | "ldkit/rdf": "../rdf.ts" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /www/README.md: -------------------------------------------------------------------------------- 1 | # LDkit website 2 | 3 | This is the LDkit website source. You can see it live at 4 | [ldkit.io](https://ldkit.io). 5 | 6 | [](https://fresh.deno.dev) 7 | -------------------------------------------------------------------------------- /examples/react-bulletin-boards/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /examples/react-dbpedia-actors/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }); 8 | -------------------------------------------------------------------------------- /examples/react-query-todo-app/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /examples/next-movie-database/data/options.ts: -------------------------------------------------------------------------------- 1 | import { type Options } from "ldkit"; 2 | 3 | export const options: Options = { 4 | source: "https://dbpedia.org/sparql", 5 | language: "en", 6 | logQuery: (query) => console.log("SPARQL QUERY", query), 7 | }; 8 | -------------------------------------------------------------------------------- /library/sparql/mod.ts: -------------------------------------------------------------------------------- 1 | export * from "./sparql_tag.ts"; 2 | export { ASK, CONSTRUCT, DESCRIBE, SELECT } from "./sparql_query_builders.ts"; 3 | export { DELETE, INSERT, WITH } from "./sparql_update_builders.ts"; 4 | export * from "./sparql_expression_builders.ts"; 5 | -------------------------------------------------------------------------------- /www/fresh.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "$fresh/server.ts"; 2 | import twindPlugin from "$fresh/plugins/twind.ts"; 3 | import twindConfig from "./twind.config.ts"; 4 | 5 | export default defineConfig({ 6 | plugins: [twindPlugin(twindConfig)], 7 | }); 8 | -------------------------------------------------------------------------------- /examples/react-dbpedia-actors/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/react-query-todo-app/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/react-bulletin-boards/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/basic/deno.json: -------------------------------------------------------------------------------- 1 | { 2 | "importMap": "../import_map.json", 3 | "tasks": { 4 | "main": "deno run --allow-net --allow-env ./main.ts", 5 | "arrays": "deno run -A ./arrays.ts", 6 | "inverse": "deno run -A ./inverse.ts" 7 | }, 8 | "lock": false 9 | } 10 | -------------------------------------------------------------------------------- /performance/benchmark/deno.json: -------------------------------------------------------------------------------- 1 | { 2 | "imports": { 3 | "ldkit": "../../mod.ts" 4 | }, 5 | "tasks": { 6 | "test": "deno run --allow-net --allow-env --allow-write ./test.ts", 7 | "populate": "deno run --allow-net --allow-env ./populate.ts" 8 | }, 9 | "lock": false 10 | } 11 | -------------------------------------------------------------------------------- /examples/next-movie-database/components/Thumbnail.tsx: -------------------------------------------------------------------------------- 1 | export function Thumbnail({ imageUrl }: { imageUrl: string | null }) { 2 | if (!imageUrl) { 3 | return
9 | Something went wrong, the page you requested is missing!
10 |
11 | Hopefully we will find it soon.
12 |
7 |
8 | DBpedia
12 |
13 | Wikipedia
10 | Welcome, fellow ontologist! 11 |
12 | 13 |16 | LDkit ontology is a collection of terms that are utilized when working 17 | with LDkit library for optimal developer experience. 18 |
19 | 20 |ldkit
24 | https://ldkit.io/ontology/
27 | 10 | Welcome, fellow ontologist! 11 |
12 | 13 |
16 | ldkit:IRI{" "}
17 | is a term that represents an Internationalized Resource Identifier,
18 | specially designed to be used with LDkit library in schema
19 | definitions.
20 |
ldkit:IRI
26 | https://ldkit.io/ontology/IRI
29 | 10 | Welcome, fellow ontologist! 11 |
12 | 13 |
16 | ldkit:Resource{" "}
17 | is a term that is used internally in the LDkit library when building
18 | entities from RDF graphs into shapes defined by data schema. Each
19 | entity to be decoded from the graph must be of type{" "}
20 | ldkit:Resource in order to be processed correctly.
21 |
ldkit:Resource
27 | https://ldkit.io/ontology/Resource
30 | {movie.abstract}
44 |No records found.
; 97 | } 98 | 99 | return ( 100 |