Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide IPFS hashes in TimeMaps #233

Open
machawk1 opened this issue Jul 17, 2017 · 1 comment
Open

Provide IPFS hashes in TimeMaps #233

machawk1 opened this issue Jul 17, 2017 · 1 comment

Comments

@machawk1
Copy link
Member

ipwb currently uses the hash "locator" (see #41) field in CDXJ's JSON block to retain the IPFS hashes for the HTTP headers and HTTP payload as extracted from a WARC and maintains the association with the URI-R and datetime.

ipwb currently is working toward full Memento compatibility (#105) but it may be useful to identify these same hashes in a TimeMap.

This would be not an issue with CDXJ TimeMap, as we could use a similar mechanism of storing the data in the CDXJ block. However, Link format syntax are more strict.

https://github.com/hvdsomp/signposting is working on introducing the "identifier" relation type and ties in persistent identifiers like DOI-URLs. IPFS hashes are extremely descriptive of the content is identifies.

Figure out a way to elegantly display this information in TimeMaps, both of Link and CDXJ format, for the potential interoperability with other tools.

@machawk1
Copy link
Member Author

machawk1 commented Nov 14, 2017

As of 5ecd56b, ipwb only supports Link formatted TimeMaps. #180 would add support for CDXJ and JSON TimeMaps.

In this ticket we ought to flesh out how a sample TimeMap with the hash should look. For example,
$ ipwb index ipwb/samples/warcs/5mementos.warc | ipwb replay then curl http://localhost:5000/timemap/link/memento.us returns

<memento.us/>; rel="original",
<http://localhost:5000/timemap/link/memento.us>; rel="self"; type="application/link-format",
<http://localhost:5000/20130202100000/memento.us/>; rel="first memento"; datetime="Sat, 02 Feb 2013 10:00:00 GMT",
<http://localhost:5000/20140114100000/memento.us/>; rel="memento"; datetime="Tue, 14 Jan 2014 10:00:00 GMT",
<http://localhost:5000/20140115101500/memento.us/>; rel="memento"; datetime="Wed, 15 Jan 2014 10:15:00 GMT",
<http://localhost:5000/20161231110000/memento.us/>; rel="memento"; datetime="Sat, 31 Dec 2016 11:00:00 GMT",
<http://localhost:5000/20161231110001/memento.us/>; rel="last memento"; datetime="Sat, 31 Dec 2016 11:00:01 GMT"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant