Bitemporality and edge properties

I've been messing around with bitemporal databases lately and was thinking that the new edge properties might be just what's needed to do that in Stardog. Any thoughts on what might be required to do that? I'm guessing it would at least require a custom transaction listener to include start transaction time and default valid time properties if they weren't included. Can you access property attributes in a transaction listener? The second part I'm less sure of. I guess you'd need to hook into updates/deletes to update the property attributes rather than actually delete the triple.

And once quick followup question on the subject of property attributes. Does any of the virtual graph mappings support property attributes? If not any plans to add that?

Is your question around implementing a data model or Stardog supporting this natively. The former is possible but would be slow and I would not recommend it. To be efficient you would need range index around start/endValidTime and start/endSystemTime. The system time would need to be handle by the insert/delete to be trustworthy. I guess properties on ObjectProperty (edge) could be used to represent it in a RDF manner, but what about the DataProperty (properties).

Disclaimer I have not played with RDF+ yet but found the topic interesting