|
| 1 | +# Data Shapes |
| 2 | +## Prefixes used: |
| 3 | +* @prefix ab: <http://www.w3.org/ns/pim/ab#>. |
| 4 | +* @prefix acl: <http://www.w3.org/ns/auth/acl#>. |
| 5 | +* @prefix dc: <http://purl.org/dc/elements/1.1/>. |
| 6 | +* @prefix vcard: <http://www.w3.org/2006/vcard/ns#>. |
| 7 | +* @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. |
| 8 | + |
| 9 | +## Addressbook |
| 10 | + |
| 11 | +You can create an addressbook containing persons and groups, by adding triples to RDF documents on your pod. |
| 12 | +To create an addressbook, create a document for it, e.g. addressBook.ttl, and add the following triples to that document: |
| 13 | +* <addressBook.ttl#this> a vcard:AddressBook |
| 14 | +* <addressBook.ttl#this> dc:title "New address Book" |
| 15 | +* <addressBook.ttl#this> acl:owner <owner.ttl#me> |
| 16 | + |
| 17 | +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: |
| 18 | +* <addressBook.ttl#this> vcard:nameEmailIndex <peopleIndex.ttl> |
| 19 | +* <addressBook.ttl#this> vcard:groupIndex <groupIndex.ttl> |
| 20 | + |
| 21 | +To indicate that a person johnDoe.ttl with full name "John Doe" is in addressbook addressBook.ttl, add the following triples: |
| 22 | +* <johnDoe.ttl#this> vcard:inAddressBook addressBook.ttl#this (NB: needs to be in peopleIndex.ttl) |
| 23 | +* <johnDoe.ttl#this> a vcard:Individual |
| 24 | +* <johnDoe.ttl#this> vcard:fn "John Doe" |
| 25 | + |
| 26 | +To indicate that addressbook addressBook.ttl has a group called "Colleagues", add the following triples: |
| 27 | + |
| 28 | +* <addressBook.ttl#this> vcard:includesGroup colleagues.ttl#this (NB: needs to be in groupIndex.ttl) |
| 29 | +* <colleagues.ttl#this> a vcard:Group |
| 30 | +* <colleagues.ttl#this> vcard:fn "Colleagues" |
0 commit comments