15.07.2016 Views

MARKLOGIC SERVER

Inside-MarkLogic-Server

Inside-MarkLogic-Server

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Valid<br />

Start: 2016-01-01<br />

End: ∞<br />

System<br />

Start: 2016-01-05<br />

End: ∞<br />

Alameda<br />

Doc 1<br />

Created 2016-01-05<br />

Figure 10: A document representing a person's location at a given time is added to a bitemporal<br />

database.<br />

Now let's say that the person moved to Berkeley on January 10, and we learn this on<br />

January 12. We insert this knowledge as a new temporal document (Doc 3). To go<br />

with this new document, MarkLogic creates a document to reflect the person's time in<br />

Alameda as we know it now (Doc 2). MarkLogic also updates our first document to give<br />

it a system end date. The first document is now a historical record of what we knew<br />

about the person up to January 12:<br />

Valid<br />

Start: 2016-01-01<br />

End: ∞<br />

System<br />

Start: 2016-01-05<br />

End: 2016-01-12<br />

Alameda<br />

Valid<br />

Start: 2016-01-01<br />

End: 2016-01-10<br />

System<br />

Start: 2016-01-12<br />

End: ∞<br />

Alameda<br />

Valid<br />

Start: 2106-01-10<br />

End: ∞<br />

System<br />

Start: 2106-01-12<br />

End: ∞<br />

Berkeley<br />

Doc 1<br />

Created 2016-01-05<br />

Doc 2 Doc 3<br />

Created 2016-01-12<br />

Figure 11: A new person document (Doc 3) reflects the new location information. MarkLogic adds a<br />

document (Doc 2) and updates the original version (Doc 1) to fill in the historical record.<br />

On January 15, we discover a mistake: the person actually moved to Berkeley on<br />

January 8! No problem. We insert a revised document noting the new valid times (Doc<br />

5). Behind the scenes, MarkLogic creates a document (Doc 4) and edits system end<br />

times in existing documents (Doc 2, Doc 3) to maintain an accurate historical record:<br />

Valid<br />

Start: 2016-01-01<br />

End: 2016-01-10<br />

System<br />

Start: 2016-01-12<br />

End: 2016-01-15<br />

Alameda<br />

Valid<br />

Start: 2016-01-10<br />

End: ∞<br />

System<br />

Start: 2016-01-12<br />

End: 2016-01-15<br />

Berkeley<br />

Valid<br />

Start: 2016-01-01<br />

End: 2016-01-08<br />

System<br />

Start: 2016-01-15<br />

End: ∞<br />

Alameda<br />

Valid<br />

Start: 2016-01-08<br />

End: ∞<br />

System<br />

Start: 2016-01-15<br />

End: ∞<br />

Berkeley<br />

Doc 2<br />

Doc 3<br />

Created 2016-01-12<br />

Doc 4 Doc 5<br />

Created 2016-01-15<br />

Figure 12: The person's location information changes again (Doc 5). Again, MarkLogic adds a<br />

document (Doc 4) and updates times to fill in the historical record.<br />

91

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!