Manipulate my Calendar data via CRUD RESTful using Calendar CalDAV? Endpoint
What?
Calendar CRUD (Create, Read, Update, Delete) Endpoint Service.Why?
Using CRUD RESTful Endpoint service provides an easy way to manage calendar tasks/events.How?
Knowing an Calendar CRUD Endpoint Service endpoint URL, one can perform the following activities:- Copy-paste vCard files containing calendar tasks/events. So once pasted, the system creates the calendar tasks/events;
- Edit task(s)/event(s);
- Update task(s)/event(s);
- Delete task(s)/event(s);
- Update RDF Data for the Calendar instance.
Depending on the instance's model:
- When model is "Closed", will be updated the RDF Data for the instance's private graph:
http://cname/dataspace/protected/[name-of-the-instance]
- When model is "Opened", will be updated the RDF Data for the ODS Dataspace public graph:
http://cname/dataspace/[name-of-the-instance]
- When model is "Closed", will be updated the RDF Data for the instance's private graph:
Example with Calendar instance that has Member model from type "Closed" and is not set "Visible to public"
- Suppose a user, for ex.
"demo", has created Calendar instance with name "demoCalendar" and
Member model
is "Closed":
- Mount the Calendar CalDAV? Endpoint URL
http://localhost:8890/DAV/home/demo/calendars/demoCalendar/>
- Drop a .vcf file, for ex.
demo-calendar.ics into the mapped CalDAV? Calendar folder:
- The user demo's Calendar Dataspace instance UI now should show under "Tasks"/"Events" the new imported task(s)/event(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/demoCalendar> WHERE {?s ?p ?o}
- As result no rows are found.
Example with Calendar instance that has Member model from type "Opened" and is set "Visible to Public"
- Suppose a user, for ex.
"demo", has created Calendar instance with name "demoCalendar" and
Member model
is "Opened" and is set "Visible to Public".
- Mount the Calendar CalDAV? Endpoint URL
http://localhost:8890/DAV/home/demo/calendars/demoCalendar/>
- Drop a .ics file, for ex.
* demo-calendar.ics into the mapped CalDAV? Calendar folder:
- The user demo's Calendar Dataspace instance UI now should show under "Tasks"/"Events" the new imported task(s)/event(s):
- Access the SPARQL Public Endpoint.
- Suppose there is inserted from above task with id= 1032
- Enter the following query:
SELECT * FROM <http://localhost:8890/dataspace> WHERE { <http://localhost:8890/dataspace/demo/calendar/demoCalendar/Task/1032#this> ?p ?o }
- Click "Run Query".
- As result the freshly inserted RDF Data for the task in question will be displayed: