Skip to content

Commit 4241930

Browse files
committed
documentation
1 parent 4505f05 commit 4241930

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# marklogic
22

3-
This repository contains MarkLogic code samples. Start here: [uml2es](uml2es). TODO - relative link not working.
3+
This repository contains MarkLogic code samples. Start here: [uml2es](uml2es).

uml2es/README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# UML to Entity Services Sample
22

3+
## Intro
4+
35
This is a toolkit to support modeling MarkLogic data in UML and mapping that UML model to Entity Services. For background, refer to the following blog posts:
46

57
- <http://www.marklogic.com/blog/how-to-model-manage-entities-uml/>
@@ -14,4 +16,16 @@ The toolkit consists of the following parts:
1416
- examples/blockFactory: A sample UML model that shows a technique for denormalization.
1517
- examples/umlModels: All models
1618

17-
TODO - how to use this toolkit; where to start, what to do...
19+
## How We Expect You Will Use This Toolkit
20+
As a user, you want to design a data model using UML and then ingest data into MarkLogic that conforms to this model. Put differently, you plan to put significant data into MarkLogic and want to ensure that the structure of this data follows a well considered model.
21+
22+
If that's you, we think this toolkit is for you. You will need the following ingredients:
23+
24+
- A **third-party UML tool** that supports XMI 2.x export and UML profiles with tagged values. In the examples provided in this toolkit we use MagicDraw and Eclipse EMF. In this tool you will design UML class diagrams. Roughly speaking, the classes map to documents in MarkLogic; the attributes of the class map to document elements in MarkLogic.
25+
- The **UML profile for MarkLogic**, provided in the umlProfile folder of this toolkit. You import this profile into your UML toolkit and then proceed to apply stereotypes from the profile to your classes and attributes. Using a stereotype, you can designate that a specific attribute should have a range index in MarkLogic, for example. In the umlProfile folder of this toolkit, you can find a full reference of the stereotypes we provide.
26+
- A **transform module** to map your UML model to a form understood by MarkLogic: the Entity Services model. This module, written in XQuery, is in the uml2esTransform folder of this toolkit. There is a two-step process to using this module. First, you export your UML model to XMI (that's short for XMI Metadata Interchange); your UML tool needs to support that feature. Second, you pass in your XMI as input to the transform; it ouputs a JSON Entity Services model descriptor. Don't worry; the examples in this toolkit show how to call the transform and where it fits in your build-deploy-ingest workflow.
27+
- A **build-deploy-ingest framework** to deploy your UML model to MarkLogic and ingest source data into MarkLogic in the form prescribed by the model. In other words, you need for your UML model to be more than a picture; you need MarkLogic code that shapes your data to fit the model. This toolkit provides several examples of a gradle-based approach. We recommend you one of these examples as your starting point, tailoring it for your needs.
28+
29+
## Where To Begin
30+
Dive into the examples! The movies example is a good place to start. If you are planning to use MarkLogic's data hub framework, or if you are interested in semantics, begin with the hr example.
31+

uml2es/uml2esTransform/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This project contains modules used to support UML to Entity Services conversion.
1+
This folder contains modules used to support UML to Entity Services conversion.
22

33
The examples included in this distribution demonstate how to use this transform.
44

0 commit comments

Comments
 (0)