# Time and place The graph itself has no timestamps. When something happened and where it was are facts you assert on a thing, and both carry their precision. ## Time `assert_time` states when something was. The relation is `At` (it happened then), or `Began` and `Ended` for the two ends of a span. The shape of the value is the precision: `1953` is a year, `1953-04-14` a day, `1953-04-14T10:30` a minute. Asking for a finer granularity than the value carries is refused rather than filled in. One fact per thing and relation is active: asserting again switches it, and the answer names what was replaced. In the test, `assert_time` with relation `At` and time `1902` on a source answered with granularity Year, and `find_in_period` from `1900` to `1905` returned it with `certain: true`. - `find_in_period` takes two bounds, both inclusive and as coarse as you write them: from `1998-03` to `1998-03` is that whole month. A claim stated only to the year overlaps a March window without necessarily falling into it; such a hit is reported as possible, not certain. - `time_coverage` counts which years carry anything, before you know what to ask for. Pass a year to see its months. - "Sometime" is a value: a time fact pointing at the calendar root says the event happened and the date is open. That is a statement, not a gap. - `time_node` gives you the calendar node of a date, for vocabularies that hold dates in a property slot. Documents get an `At` fact when they are created, so a note written today stands on the same timeline as a dated source. ### Intervals A house can define spans of its own: a semester, a term of office, the period a report covers. `assert_interval` makes a thing an interval between two calendar bounds. Other things borrow its time with `assert_time` and the interval's id; their precision is then the interval's span. A search window that covers the interval finds them for certain. ## Place `assert_place` states where something was, in decimal degrees (WGS84), with a granularity from Zone down to Exact. A coarse claim is anchored to its cell of the spatial grid rather than pretending to metres: in the test, a point asserted with granularity Locality came back with the coordinate of its cell, a few hundred metres off the one given. Nothing is checked against a gazetteer. `find_nearby` takes a coordinate and a radius in metres and returns hits ordered by distance, each marked certain or possible, with the distance. In the test the source was found within five kilometres at 337.4 metres. Places as individuals are created with `create_place`; put the coordinate on the place identity. Places form a containment ladder with `PartOf`, ending at the place root that `overview` names. ## Go deeper - [finding-things](finding-things.md): combining time and place with structure - [the-building-blocks](the-building-blocks.md) - [evidence-and-provenance](evidence-and-provenance.md)