Profile advisor
Paste a column of dates from a collection and the advisor says which conventions the data uses, before anything is parsed. Each string is still parsed on its own; the advisor only recommends the profile to parse it under, and writes that profile out for you to review and save. Nothing you paste is stored.
Or try a corpus sample: yearrange (museum catalogues) timetwister (US archives) Getty ULAN (artist dates) EDTF specification examples PMC (Paul Mellon Centre) outputs
EDTF specification examples 60 analysed · via the service
Recommendations
- Nothing stands out; the default profile should serve. Run the corpus tooling on a sample to confirm.
Suggested profile
Nothing in the data called for a change from the default profile.
{
"inherits": "default",
"name": "suggested",
"description": "Suggested by the profile advisor from 60 strings: nothing differed from the default. Review before use."
}
Vocabulary
| Kind | Word or notation | Strings | For example |
|---|---|---|---|
| Century notations | roman | 6 | 2004-XX 1985-04-XX 1985-XX-XX |
Shapes
| Shape | Strings | For example | Why it matters |
|---|---|---|---|
| Numeric dates | 3 | 2004-02-01/2005-02-08 2004-02-01/2005-02 2004-02-01/2005 | Day, month and year as numbers. |
| Day-first evidence | 0 | A first number over 12, so it can only be a day. | |
| Month-first evidence | 0 | A second number over 12, so the first is the month. | |
| Two-digit years | 0 | Need a window to become four-digit years. | |
| Bracketed | 7 | [1667,1668,1670..1672] [..1760-12-03] [1760-12..] | Inferred dates in MARC style. |
| Seasons | 0 | Need a hemisphere and a winter policy. | |
| Undated | 0 | The text says there is no date. | |
| Open ends | 0 | Before, after, present, a trailing dash. | |
| Decades | 0 | 1950s and the like; band words apply to them too. | |
| Period words | 0 | Dynasties, reigns and named periods need period tables. |
The same advice from code
The advisor is a library call and an endpoint on the dates API; the response carries these counts, the examples, the recommendations, the suggested profile and a Markdown rendering.
POST https://dates.linkedart.net/v1/advise
Content-Type: text/plain
early 19th century
ca. 1850
7/4/1776
var report = ProfileAdvisor.Analyse(File.ReadLines("dates.txt"));
Console.WriteLine(report.ToMarkdown());
File.WriteAllText("profiles/mine.json", report.SuggestedProfileJson("mine").ToJsonString(ParseProfile.JsonOptions));
Or from the repository: dotnet run --project tools/Corpus -- advise dates.txt.