|
17 | 17 | ## Addressbook |
18 | 18 |
|
19 | 19 | You can create an addressbook containing persons and groups, by adding triples to RDF documents on your pod. |
20 | | -To create an addressbook, create a document for it, e.g. addressBook.ttl, and add the following triples to that document: |
21 | | -* <addressBook.ttl#this> a vcard:AddressBook |
22 | | -* <addressBook.ttl#this> dc:title "New address Book" |
23 | | -* <addressBook.ttl#this> acl:owner <owner.ttl#me> |
| 20 | +To create an addressbook, create a document for it, e.g. /address-book/index.ttl, and add the following triples to that document: |
| 21 | +* </address-book/index.ttl#this> a vcard:AddressBook |
| 22 | +* </address-book/index.ttl#this> dc:title "New address Book" |
| 23 | +* </address-book/index.ttl#this> acl:owner </profile/card#me> |
24 | 24 |
|
25 | | -You can create separate documents for the people index and for the groups index, as long as you link to those from the main addressBook.ttl document in the following ways: |
26 | | -* <addressBook.ttl#this> vcard:nameEmailIndex <peopleIndex.ttl> |
27 | | -* <addressBook.ttl#this> vcard:groupIndex <groupIndex.ttl> |
| 25 | +You can create separate documents for the people index and for the groups index, as long as you link to those from the main /address-book/index.ttl document in the following ways: |
| 26 | +* </address-book/index.ttl#this> vcard:nameEmailIndex </address-book/peopleIndex.ttl> |
| 27 | +* </address-book/index.ttl#this> vcard:groupIndex </address-book/groupIndex.ttl> |
28 | 28 |
|
29 | | -To indicate that a person johnDoe.ttl with full name "John Doe" is in addressbook addressBook.ttl, add the following triples: |
30 | | -* <johnDoe.ttl#this> vcard:inAddressBook addressBook.ttl#this (NB: needs to be in peopleIndex.ttl) |
31 | | -* <johnDoe.ttl#this> a vcard:Individual |
32 | | -* <johnDoe.ttl#this> vcard:fn "John Doe" |
| 29 | +To indicate that a person /johnDoe.ttl with full name "John Doe" is in addressbook /address-book/index.ttl, add the following triples: |
| 30 | +* </johnDoe.ttl#this> vcard:inAddressBook /address-book/index.ttl#this (NB: needs to be in /address-book/peopleIndex.ttl) |
| 31 | +* </johnDoe.ttl#this> a vcard:Individual |
| 32 | +* </johnDoe.ttl#this> vcard:fn "John Doe" |
33 | 33 |
|
34 | | -To indicate that addressbook addressBook.ttl has a group called "Colleagues", add the following triples: |
| 34 | +To indicate that addressbook /address-book/index.ttl has a group called "Colleagues", add the following triples: |
35 | 35 |
|
36 | | -* <addressBook.ttl#this> vcard:includesGroup colleagues.ttl#this (NB: needs to be in groupIndex.ttl) |
37 | | -* <colleagues.ttl#this> a vcard:Group |
38 | | -* <colleagues.ttl#this> vcard:fn "Colleagues" |
| 36 | +* </address-book/index.ttl#this> vcard:includesGroup /address-book/colleagues.ttl#this (NB: needs to be in /address-book/groupIndex.ttl) |
| 37 | +* </address-book/colleagues.ttl#this> a vcard:Group |
| 38 | +* </address-book/colleagues.ttl#this> vcard:fn "Colleagues" |
39 | 39 |
|
40 | 40 | ## Profile |
41 | 41 | ### Profile document |
42 | | -To add information to your webid profile, you can use the following triples. Suppose your webid is https://example.com/profile/card#me, then your profile document is https://example.com/profile/card (without the '#me'). Add the following triples to it: |
43 | | -* <https://example.com/profile/card> a foaf:PersonalProfileDocument |
44 | | -* <https://example.com/profile/card> foaf:maker <https://example.com/profile/card#me> |
45 | | -* <https://example.com/profile/card> foaf:primaryTopic <https://example.com/profile/card#me> |
| 42 | +To add information to your webid profile, you can use the following triples. Suppose your webid is /profile/card#me, then your profile document is /profile/card (without the '#me'). Add the following triples to it: |
| 43 | +* </profile/card> a foaf:PersonalProfileDocument |
| 44 | +* </profile/card> foaf:maker </profile/card#me> |
| 45 | +* </profile/card> foaf:primaryTopic </profile/card#me> |
46 | 46 |
|
47 | 47 | ### You as a person |
48 | 48 | Now say your name is "John Doe", then add these triples to your profile document to publish your identity as a person: |
49 | | -* <https://example.com/profile/card#me> a foaf:Person |
50 | | -* <https://example.com/profile/card#me> a schema:Person |
51 | | -* <https://example.com/profile/card#me> foaf:name "John Doe" |
| 49 | +* </profile/card#me> a foaf:Person |
| 50 | +* </profile/card#me> a schema:Person |
| 51 | +* </profile/card#me> foaf:name "John Doe" |
52 | 52 |
|
53 | 53 | ### Linking to your pod |
54 | | -Say your pod is at https://pod.example.com, with the LDN inbox at https://pod.example.com/inbox/, to link from your identity to your pod: |
55 | | -* <https://example.com/profile/card#me> solid:account </> |
56 | | -* <https://example.com/profile/card#me> pim:storage </> |
57 | | -* <https://example.com/profile/card#me> ldp:inbox </inbox/> |
| 54 | +Say your pod is at /pod, with the LDN inbox at /pod/inbox/, to link from your identity to your pod: |
| 55 | +* </profile/card#me> solid:account </pod> |
| 56 | +* </profile/card#me> pim:storage </pod> |
| 57 | +* </profile/card#me> ldp:inbox </pod/inbox/> |
58 | 58 |
|
59 | 59 | ### Preferences |
60 | 60 | To publish some of your generic preferences to apps, use: |
61 | | -* <https://example.com/profile/card#me> pim:preferencesFile </settings/prefs.ttl> |
62 | | -* <https://example.com/profile/card#me> solid:publicTypeIndex </settings/publicTypeIndex.ttl> |
63 | | -* <https://example.com/profile/card#me> solid:privateTypeIndex </settings/privateTypeIndex.ttl> |
| 61 | +* </profile/card#me> pim:preferencesFile </settings/prefs.ttl> |
| 62 | +* </profile/card#me> solid:publicTypeIndex </settings/publicTypeIndex.ttl> |
| 63 | +* </profile/card#me> solid:privateTypeIndex </settings/privateTypeIndex.ttl> |
64 | 64 |
|
65 | 65 | # Chat |
66 | | -To create a chat conversation, create a document, e.g. chat.ttl, and add the following triples to it: |
67 | | -* <chat.ttl#this> a mee:LongChat |
68 | | -* <chat.ttl#this> dc:author <https://example.com/profile/card#me> |
69 | | -* <chat.ttl#this> dc:created "2018-07-06T21:36:04Z"^^XML:dateTime |
70 | | -* <chat.ttl#this> dc:title "Chat channel" |
| 66 | +To create a chat conversation, create a document, e.g. /chat.ttl, and add the following triples to it: |
| 67 | +* </chat.ttl#this> a mee:LongChat |
| 68 | +* </chat.ttl#this> dc:author </profile/card#me> |
| 69 | +* </chat.ttl#this> dc:created "2018-07-06T21:36:04Z"^^XML:dateTime |
| 70 | +* </chat.ttl#this> dc:title "Chat channel" |
71 | 71 |
|
72 | | -To add a message in the chat conversation, for instance where you say "hi", generate a timestamp like 1555487418787 and add the following triples to chat.ttl: |
73 | | -* <chat.ttl#Msg1555487418787> dct:created "2019-04-17T07:50:18Z"^^XML:dateTime |
74 | | -* <chat.ttl#Msg1555487418787> sioc:content "hi" |
75 | | -* <chat.ttl#Msg1555487418787> foaf:maker <https://example.com/profile/card#me> |
| 72 | +To add a message in the chat conversation, for instance where you say "hi", generate a timestamp like 1555487418787 and add the following triples to /chat.ttl: |
| 73 | +* </chat.ttl#Msg1555487418787> dct:created "2019-04-17T07:50:18Z"^^XML:dateTime |
| 74 | +* </chat.ttl#Msg1555487418787> sioc:content "hi" |
| 75 | +* </chat.ttl#Msg1555487418787> foaf:maker </profile/card#me> |
76 | 76 |
|
77 | 77 | Note that for historical reasons, for the chat conversation as a whole, we use `dc:created` and `dc:author`, whereas for the individual chat messages we use `dct:created` and `foaf:maker`. |
0 commit comments