Platform Linked Data Nederland, 9 April 2019
Ruben Verborgh
The Solid ecosystem enables you to use the apps you need, while storing your data wherever you want.
You own your data,
and share it
with the apps and people you choose.
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "#ruben-likes-pldn-2019",
"type": "Like",
"actor": "https://ruben.verborgh.org/profile/#me",
"object": "http://www.pilod.nl/wiki/PLDN-Solid_Kick-Off#this",
"published": "2019-04-08T20:00:00Z"
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "#ruben-likes-pldn-2019",
"type": "Like",
"actor": "https://ruben.verborgh.org/profile/#me",
"object": "http://www.pilod.nl/wiki/PLDN-Solid_Kick-Off#this",
"published": "2019-04-08T20:00:00Z"
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"@graph": [{
"type": "Like",
"actor": "https://ruben.verborgh.org/profile/#me",
"object": "http://www.pilod.nl/wiki/PLDN-Solid_Kick-Off#this",
"published": "2019-04-08T20:00:00Z"
},{
"type": "Like",
"actor": "https://example.org/people/pieter#me",
"object": "http://www.pilod.nl/wiki/PLDN-Solid_Kick-Off#this",
"published": "2019-04-08T20:05:00Z"
}]
}
You’re using Semantic Web technology?
Developers have never wanted it.
const person = node('https://me.example.org/#me')
person.label
person.friends.firstName
const label = await person.label
for await (const name of person.friends.firstName)
console.log(name)
const person = node('https://me.example.org/#me')
const query = await person.friends.firstName.sparql
SELECT ?firstName WHERE {
<https://me.example.org/#me> foaf:knows ?v0.
?v0 foaf:givenName ?firstName.
}
<LoggedIn>
<p>Welcome, <Value src="user.firstName"/></p>
<Image src="user.image" defaultSrc="profile.svg"/>
<ul>
<li><Link href="user.inbox">Your inbox</Link></li>
<li><Link href="user.homepage">Your homepage</Link></li>
</ul>
<h2>Your friends</h2>
<List src="user.friends.firstName"/>
</LoggedIn>