Skip to content

Commit 277c451

Browse files
Add conventions.md
1 parent f9b4bf7 commit 277c451

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Documentation/conventions.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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

Comments
 (0)