Manipulate my Addressbook data via CRUD RESTful using Addressbook CardDAV Endpoint
What?
AddressBook CRUD (
Create,
Read,
Update,
Delete) Endpoint Service.
Why?
Using CRUD RESTful Endpoint service provides an easy way to manage contacts.
How?
Knowing an Addressbook CRUD Endpoint Service endpoint URL, one can perform the following activities:
- Copy-paste vCard files containing contacts.
So once pasted, the system creates the contacts;
- Edit contact(s);
- Update contact(s);
- Delete contact(s);
- Update RDF Data for the Addressbook instance.
Depending on the instance's model:
Example with Addressbook instance that has Member model from type "Closed" and is not set "Visible to public"
- Suppose a user, for ex.
"demo", has created Addressbook instance with name "demoAddressBook" and
Member model
is "Closed":
- Mount the Addressbook CardDAV Endpoint URL
http://localhost:8890/DAV/home/demo/addressbooks/demoAddressBook/>
- Drop a .vcf file, for ex.
kidehen.vcf into the mapped CardDAV Addressbook folder:
-- kidehen.vcf
BEGIN:VCARD
VERSION:3.0
REV:2012-01-23T15:30:04-05:00
UID:B12074BC-DB7B-47F5-856E-2DBD08923381-ABSPlugin
NICKNAME:Idehen
FN:Kingsley Idehen
N:Idehen;Kingsley;;
ORG:OpenLink Software
TITLE:CEO
END:VCARD
- The user demo's Addressbook Dataspace instance UI now should show under "My Contacts" the new imported contact(s):
-
Generate an X.509 Certificate hosted WebID for user "demo" WebID.
-
Secure your SPARQL Endpoint via user "demo" WebID, for ex.:
-- user "demo" WebID:
http://localhost:8890/dataspace/person/demo#this
-- SPARQL-WebID Endpoint:
-- https://localhost:4433/sparql-webid
- Access the SPARQL-WebID Endpoint.
- When challenged for authentication select the generated from above certificate for user "demo":
- The SPARQL-WebID Endpoint UI should be presented:
- Enter the following query:
SELECT *
FROM <http://localhost:8890/dataspace/protected/demoAddressBook>
WHERE {?s ?p ?o}
- As result no rows are found.
Example with Addressbook instance that has Member model from type "Opened" and is set "Visible to Public"
- Suppose a user, for ex.
"demo", has created Addressbook instance with name "demoAddressBook" and
Member model
is "Opened" and is set "Visible to Public".
- Mount the Addressbook CardDAV Endpoint URL
http://localhost:8890/DAV/home/demo/addressbooks/demoAddressBook/>
- Drop a .vcf file, for ex.
kidehen.vcf into the mapped CardDAV Addressbook folder:
-- kidehen.vcf
BEGIN:VCARD
VERSION:3.0
REV:2012-01-23T15:30:04-05:00
UID:B12074BC-DB7B-47F5-856E-2DBD08923381-ABSPlugin
NICKNAME:Idehen
FN:Kingsley Idehen
N:Idehen;Kingsley;;
ORG:OpenLink Software
TITLE:CEO
END:VCARD
- The user demo's Addressbook Dataspace instance UI now should show under "My Contacts" the new imported contact(s):
- Access the SPARQL Public Endpoint.
- Suppose the inserted from above contact has id=1004.
- Enter the following query:
SELECT *
FROM <http://localhost:8890/dataspace>
WHERE {<http://localhost:8890/dataspace/demo/addressbook/demoAddressBook/1004> ?p ?o}
- Click "Run Query".
- As result the freshly inserted RDF Data for the contact in question will be displayed:
Related