Skip to content

MarkLogicUniversity/hands-on-rest

 
 

Repository files navigation

Hands-on REST: Working with MarkLogic's REST Client API

This project is used for hands-on sessions, guided by someone who is familiar with the MarkLogic REST API. The goal is that, after going through the exercises, a developer will be comfortable using the API to interact with MarkLogic.

Knowledge of JavaScript is assumed.

Introduction

MarkLogic is a document- and triple-store database. One of the features in MarkLogic 8 is a REST API. The exercises presented here will give you a taste of how the REST API works. Note that it is intended to get you started and show the power of the API, but it is not a full replacement for MarkLogic University's class on the subject.

Setup

  1. Download and Install MarkLogic 8.

  2. Clone the Geophoto repository.

  3. cd to a directory where you want to project to be

  4. git clone https://github.com/marklogic/Geophoto

  5. Follow Geophoto's setup instructions, including data import.

  6. In the hands-on-node directory, run npm install.

Geophoto

This session is based on the Geophoto application. Once you've cloned and set up the application and imported the data, start the application (see Geophoto's README for instructions).

See MarkLogic University's Using Node.js: The Geophoto App On Demand video for an overview of the Geophoto application.

Features

Things to note in the Geophoto application:

  • map view
    • click a marker
    • edit the image metadata
    • see the semantic info
  • geo search
    • circle search
    • MarkLogic also supports arbitrary polygons

Data Model

The database holds three types of data: binary images, metadata to describe them, and triples to provide context.

Execution

Trace the steps of editing the title of an image.

  • views/partials/edit.jade
  • public/js/editor/photoeditor.controller.js (updateTitle)
  • public/js/data/photofactory.js (update)
  • POST /api/image/update/:id/:update
  • routes.js: update -> apiupdate -> updateDocument (read, edit, write)

Additional Resources

About

Exercises for learning the MarkLogic REST Client API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.9%
  • XQuery 3.1%