Ignoring duplicates on updated import (from Obsidian)

I have just recently downloaded AT and am exploring the possibilities with excitement. It did not take me long to figure out how to correctly format the information that I am gathering in a couple of different YAML properties in Obsidian so that it could be easily exported as a CSV and then imported into AT. But I have run into a problem: I would love to be able to update the timeline in AT as I work, periodically importing only the new dates that I have gathered in Obsidian while keeping any relationship or other links that I have created in AT. I tested this, and a new import is treated as entirely new information, meaning any event that I have already imported just gets duplicated. I have been unable to find a way to filter out or merge duplicate events, either on import or after the fact. I do recognize that there is currently no way to sync information between AT and Obsidian, but I would love to be able to build relationships in AT as I go rather than having to wait until all of my Obsidian note-taking is finished. A search of this forum only produced one possible solution for this problem (Is it possible to combine timeline files?), which would involve exporting everything from AT, merging it with the export from Obsidian in CSV format, and then manually removing duplicates before re-importing everything back into AT. Does anyone have any better ideas, or have I missed an AT feature that I could use for my workflow?

It looks like updating Aeon Timeline 3 via csv import is not entirely without problems; see:

However, if the method described in your post really works, the best way to automate your workflow is to write a script that merges your csv files and removes the duplicates. This shouldn’t be too difficult with Python, or with any other language that comes with csv support.

The method I described was purely theoretical. I haven’t tried it myself yet. And since I have no programming skills, writing a script in Python would not be a trivial task for me. For now, I think I’ll just use a temporary tag in Obsidian every time I enter a new event and then transfer things over to Aeon in batches. Thanks for warning me off of going the export/edit/re-import route! You saved me a lot of time and head scratching. Hopefully some way of detecting and removing duplicates will arrive soon.

I’m sorry if I have discouraged you. In fact, experience with synchronization via csv is most welcome here.
However, adding new events via csv isn’t a problem, is it?

Are there any special advantages in creating the events with Obsidian? It is much easier the other way around, because I have programmed a tool that can generate Obsidian pages with all relationships and metadata from an Aeon Timeline project. See this post:

This works completely without the detour via csv. Unfortunately, the file format of Aeon Timeline 3 is such that you can read it with third-party software, but not write it straight away.

1 Like

No, I see no problems adding new CSV events to AT as long as I keep track of which ones are new in Obsidian. As for why I haven’t considered going the other way around, well… it’s complicated. Right now, I am just using a YAML property to note down any event (or decision, decree, or law, etc.) as I’m taking notes from my archival sources. I am trying to link chronologies that no one would ordinarily think to juxtapose. Think: some politician makes a momentous announcement or decision on the same day they wrote an extremely trivial letter. The triviality of some of my data means that I have a lot of it, and many of my events are not really events in the strictly historical sense of the word. Most will end up on the rubbish heap (or simply the footnotes) before I construct my argument. AT is what will help me see where the links are, so that is where I’ll do the timeline part of my analysis. It makes more sense to me to gather the bulk of the data in Obsidian, where I can’t visualize it particularly well and where I can very easily tune out the trivial stuff without having to delete it. I’ll winnow the timeline in AT down to what I am actually going to use in my argument. If I used a workflow that went the other way around, I’d have to keep switching back and forth between the two programs as I process notes. This way, I just chuck the dates into the Obsidian properties while I’m in note-taking mode, without needing to pause to ask whether they are going to be important or not.

I will, however, look into your tool, which may lead me to some other useful workflows. There might be no reason to limit myself to only one direction, for instance. Perhaps re-importing some information to Obsidian will be useful, particularly since I am already compiling an index of people and laws. Maybe I could use your tool to create an “events” category in my Obsidian index. I strongly suspect that I’m missing some possibilities, and I now have some homework to do. Thanks for helping me think this through!

1 Like

It is possible to use CSV importing to update events in your timeline (without events getting duplicated).
However you need to set up your csv file correctly, so that it has an Internal Identifier column that is used to determine if the event already exists or not. You can read about this here: Updating existing items via Import - Aeon Timeline 3 Knowledge Base

The error that the other user was getting with this was because they had different items with the same name in their timeline. This is an issue that will be fixed in a future update.

1 Like

This sounds very promising. I will look into it. Thanks!

1 Like