Making the web smarter

A powerful hub for building linked data applications

Build Apps with Linked Data

Accelerate your creativity, increase collaboration, reduce your workload and enhance your data.

With LINCD, using Linked Data (or Structured Data) in your application becomes a breeze.

Linked Data Registry

Shapes

Ontologies

UI Components

Library & build tools

Build apps powered by Linked Data using our LINCD.js library and dedicated guides

How it works

We link UI Components to structured data.

LINCD helps you structure your data

LINCD provides tools to map your existing data to Linked Data. Alternatively, you can pick a Linked Data source from the registry.

Shapes guide the way

Each UI component comes with a Shape that defines exactly what sort of data it requires.

Select LINCD components

LINCD can reveal UI components that match the structure of your data. You can use these components in your project with a single line of code.

Build your own LINCD modules

Build your own Ontologies, Shapes and/or Components and upload them to the lincd registry.
LINCD modules are currently built with React & Typescript. Other languages and libraries will be added in the future.

src/components/PersonView
1import {Person} from '../shapes/Person';
2
3//links this component to the Person shape
4@linkedComponentClass(Person)
5export class PersonClassView extends LinkedComponentClass<Person> {
6 render() {
7 //typescript knows that person is an instance of Person
8 let person = this.props.sourceShape;
9
10 //get the name of the person from the graph
11 return <h1>Hello {person.name}!</h1>;
12 }
13}
src/shapes/Person
1@linkedShape
2export class Person extends Shape {
3 //instances of this shape need to have rdf.type schema.Person
4 static targetClass: NamedNode = schema.Person;
5
6 //data validation: instances of this shape need to have
7 //exactly one value defined for the property schema.name
8 @literalProperty({
9 path: schema.givenName,
10 required: true,
11 dataType: xsd.string,
12 maxCount: 1,
13 })
14 get name() {
15 return this.getValue(schema.givenName);
16 }
17
18 // ...