# Are you a front-end developer, interested in Solid, but unfamiliar with Linked Data? Try Tripledoc

**URL:** <https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421>\
**Category:** Developer Experience\
**Created:** [November 19, 2019, 12:03pm UTC](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421 "2019-11-19T12:03:26Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [August 12, 2020, 8:48am UTC](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421/21 "2020-08-12T08:48:36Z")

</div>

> I need to create /root/index.ttl#this as a subject in a /root/year/month/day/chat.ttl doc

Hmm, Tripledoc doesn’t currently support subject identifiers that are not relative to the containing Document, unfortunately ☹

So while you’d be able to add a message to `chat.ttl` with a timestamp as ID, you cannot add a pointer from the root Document inside something other than the root Document:

```auto
const chatDoc = await fetchDocument('root/year/month/day/chat.ttl');
const conversation = chatDoc.addSubject({ identifier: 'Msg1555487418787' });
conversation.addDateTime(dct.created, new Date());
conversation.addString(sioc.content, "hi");
conversation.addRef(foaf.maker, "https://example.com/profile/card#me");
chatDoc.save([conversation]);

```

---

<div class="post-metadata">

**Author:** ![Smag0](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/smag0/32/310_2.png) [@Smag0](https://forum.solidproject.org/u/Smag0)\
**Post date:** [August 12, 2020, 12:48pm UTC](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421/22 "2020-08-12T12:48:03Z")

</div>

Well this is bad… As I must deal with two libs and two post, that throw two websocket notifications…  
Either the libs can simply implement the specs, either the solid specs for Chat must be simplier…  
Do you know if the last @inrupt/solid-client implement this index.ttl#this creation ?

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [August 12, 2020, 2:18pm UTC](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421/23 "2020-08-12T14:18:55Z")

</div>

Yes! So what Tripledoc calls a `TripleSubject` is called a `Thing` in solid-client, and you can choose to give it either an identifier or a full URL. Off the top of my head, the code snippet I posted above using solid-client (but including the back-reference) would look like this:

```auto
const chatDoc = await getSolidDataset('root/year/month/day/chat.ttl');
let conversation = createThing({ name: 'Msg1555487418787' });
conversation = addDateTime(conversation, dct.created, new Date());
conversation = addStringNoLocale(conversation, sioc.content, "hi");
conversation = addUrl(conversation, foaf.maker, "https://example.com/profile/card#me");

let backReference = createThing({ url: '/root/index.ttl#this' });
backReference = addUrl(backReference, flow.message, '/long-chat/2019/04/17/chat.ttl#Msg1555487418787');

let docToSave = setThing(chatDoc, conversation);
docToSave = setThing(chatDoc, backReference);

const updatedDoc = saveSolidDatasetAt('root/year/month/day/chat.ttl', docToSave);

```

Sorry that Tripledoc does not (currently) satisfy that use case; the Long Chat data layout is somewhat more convoluted than what I knew people did with RDF when it was written.

---

<div class="post-metadata">

**Author:** ![Smag0](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/smag0/32/310_2.png) [@Smag0](https://forum.solidproject.org/u/Smag0)\
**Post date:** [August 12, 2020, 3:30pm UTC](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421/24 "2020-08-12T15:30:37Z")

</div>

> [@Vincent](#):
>
> Sorry that Tripledoc does not (currently) satisfy that use case;

No worry, we all are here to learn and experiment… 😊 Thxs for all that good tools 👍🏆 that let other focus on the functionalities

[Previous page](https://forum.solidproject.org/t/are-you-a-front-end-developer-interested-in-solid-but-unfamiliar-with-linked-data-try-tripledoc/2421.md?page=1)
