Skip to content

Instantly share code, notes, and snippets.

@tilgovi
Created August 25, 2012 07:57
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tilgovi/3462300 to your computer and use it in GitHub Desktop.
Save tilgovi/3462300 to your computer and use it in GitHub Desktop.
Open Annotation export from okfn/annotator-store
# -*- coding: utf-8 -*-
# <nbformat>3.0</nbformat>
# <codecell>
import json
import jsonld
import pprint
import rdflib
import rdflib_jsonld
import requests
NAMESPACES = {
"cnt": "http://www.w3.org/2011/content#",
"dc": "http://purl.org/dc/terms/",
"dctypes": "http://purl.org/dc/dcmitype/",
"oa": "http://www.w3.org/ns/openannotation/core/",
"oax": "http://www.w3.org/ns/openannotation/extension/"
}
CONTEXT = {
"id": "@id",
"consumer": {
"@id": "oa:generator",
"@type": "@id",
},
"updated": {
"@id": "oa:annotated",
"@type": "dc:date"
},
"user": {
"@id": "oa:annotator",
"@type": "dc:creator"
}
}
def preprocess(ann):
id = ann['id']
body = {
'@type': 'cnt:ContentAsText',
'cnt:chars': ann['text'],
'dc:format': 'text/plain'
},
target = {
'@type': 'oa:SpecificResource',
'ranges': ann['ranges'],
'oa:hasSelector': {
'@type': 'oax:TextQuoteSelector',
'oax:exact': ann['quote']
},
'oa:hasSource': ann['uri']
}
ann['@type'] = 'oa:Annotation'
ann['oa:hasBody'] = body
ann['oa:hasTarget'] = target
return ann
def export():
req = requests.get('https://test.hypothes.is/api/annotations')
annotations = map(preprocess, filter(lambda a: 'ranges' in a, req.json))
return {
"@context": LDCONTEXT,
"@graph": annotations
}
def run():
compacted = jsonld.compact(export(), NAMESPACES, {'base': 'https://test.hypothes.is/annotations/'})
print rdflib.ConjunctiveGraph().parse(data=json.dumps(compacted), format='json-ld').serialize(format='turtle')
if __name__ == '__main__':
run()
{'@context': {'cnt': 'http://www.w3.org/2011/content#',
'consumer': 'oa:generator',
'dc': 'http://purl.org/dc/terms/',
'oa': 'http://www.w3.org/ns/openannotation/core/',
'oa:hasBody': {'@type': 'cnt:ContentAsText'},
'oa:hasTarget': {'@type': 'oa:SpecificResource'},
'oax': 'http://www.w3.org/ns/openannotation/extension/',
'quote': {'@id': 'oa:hasSelector', '@type': 'oa:Selector'},
'updated': {'@id': 'oa:annotated', '@type': 'dc:date'},
'uri': {'@id': 'oa:hasSource', '@type': '@id'},
'user': {'@id': 'oa:annotator', '@type': 'dc:creator'}},
'@graph': [{'@id': u'https://test.hypothes.is/annotations/fNhMf1nJQ8m0mZZGEawtnw',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'he Hypot'},
'uri': u'http://hypothes.is/alpha.html'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'this',
'dc:format': 'text/plain'},),
'updated': u'2012-08-24T19:50:28.188731+00:00',
'user': u'acct:dwhly@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/5WPom-gmSGqB-WqjixoWew',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'Drag our bookmarklet to your bookmarks bar to annotate any page on the\n internet.'},
'uri': u'https://test.hypothes.is/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Is there an external page somewhere that is being used as a live test for this?',
'dc:format': 'text/plain'},),
'updated': u'2012-08-23T11:25:52.652979+00:00',
'user': u'acct:Gwylim@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/WTDaG8WnTqSl4IJLMu35qg',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'Enter your login credentials to claim your account.'},
'uri': u'https://test.hypothes.is/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Before you start swearing about the inability to login (like me) you do actually need to read this and *claim your account* before just entering your username and whatever you think your password is...\n\nThe account claiming/signup is jolly neat though :D well done.',
'dc:format': 'text/plain'},),
'updated': u'2012-08-23T11:19:30.108528+00:00',
'user': u'acct:Gwylim@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/L0lUE3cRTsKGYB4YsYQe7A',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'ly on the diversity of con'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'annotate',
'dc:format': 'text/plain'},),
'updated': u'2012-08-23T05:24:46.242899+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/nWemel9gQkC-CwtD13nXjA',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'new and continuing projects'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Which streets?',
'dc:format': 'text/plain'},),
'updated': u'2012-08-22T22:56:06.963873+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/AOv0gt34QLeAJG5AB8ljlQ',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'(1) A person who planned, authorized, committed, or aided the terrorist attacks that occurred on September 11, 2001, or harbored those responsible for those attacks.'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'k',
'dc:format': 'text/plain'},),
'updated': u'2012-08-22T04:21:06.037741+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/hjrG11eTQ7WZO64iocLNog',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'(e) AUTHORITIES.-Nothing in this section shall be construed to affect existing law or authorities relating to the detention of United States citizens, lawful resident aliens of the United States, or any other persons who are captured or arrested in the United States.'},
'uri': u'http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'This seems to say: "this section of the law does not change anything." You may find yourself asking- "If that\'s the case, then why was it written?" The key is in the word authority. Since the President has already claimed the authority to take military actions against US citizens, with the extrajudicial assassination of Anwar Al-Awlaki in September 2011, this section simply codifies his power into law.\n\nAnwar Al-Awlaki was a US citizen who maintained a pro-jihadist online magazine and Youtube channel. He was killed remotely, by drone in Afghanistan. He was not charged with any crime, and did not receive due process.\n\nThe 5th amendment allows no person to "be deprived of life, liberty, or property, without due process of law;"',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T23:30:25.204871+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/fD71-dKFRXS9MnL1v27yAg',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u"(c) DISPOSITION UNDER LAW OF WAR. -The disposition of a person under the law of war as described in subsection (a) may include the following:\n \n \n (1) Detention under the law of war without trial until the end of the hostilities authorized by the Authorization for Use of Military Force.\n \n \n (2) Trial under chapter 47A of title 10, United States Code (as amended by the Military Commissions Act of 2009 (title XVIII of Public Law 111-84)).\n \n \n (3) Transfer for trial by an alternative court or competent tribunal having lawful jurisdiction.\n \n \n (4) Transfer to the custody or control of the person's country of origin, any other foreign country, or any other foreign entity."},
'uri': u'http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Pay close attention to (1)- "the end of hostilities authorized by the Authorization for Use of Military Force" refers to the undeclared "War on Terror". Basically, the President is required to release his detainees when the War on Terror ends. Since the War on Terror is indefinite, the 2012 NDAA allows the President to hold detainees indefinitely, without the requirement of a trial.\n\nThis would appear to directly contradict the 6th amendment requirement for a "speedy and public trial."',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T23:29:44.078063+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/PH98gQagRoyzsoDJsvVWyg',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'(1) A person who planned, authorized, committed, or aided the terrorist attacks that occurred on September 11, 2001, or harbored those responsible for those attacks.'},
'uri': u'http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'This paragraph starts out by reiterating the authority granted to the President under the AUMF, the power to detain those involved in the execution of the terrorist attacks of 9/11. It then expands this authority, extending it to allow him to detain any person that he feels has committed a belligerent act. What is a "belligerent act"?\n\nThe fact is that the term "belligerent" can be taken to mean many different things. This is one of the main criticisms of the law. What is a belligerent act? You\'ll have to ask the President.',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T23:29:02.727944+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/qXiuKsO9Qj6LA-LgdGQk0g',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'Authorization for Use of Military Force (Public Law 107-40; 50 U.S.C. 1541 note)'},
'uri': u'http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'This refers to the AUMF, passed shortly after September 11, 2001. The intention of the AUMF was to catch and prosecute the planners of 9/11, and those who harbored them- Osama Bin Laden, Al Quaeda and the Taliban.\n\nOsama Bin Laden is dead. The US is now in talks with the Taliban after 10 years of war.',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T23:28:22.276367+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/GjqDyVRpTMKqsuqDdC0i-g',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'Interface Designer'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'this is my bio',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T18:15:52.344429+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/RrtbumcHSBC4rh-AaQUmYw',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'and whether any of them are yours.'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Another one here',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T01:12:52.309353+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/THr8LQwTQ1G3gd7CPqAUkg',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'make an annotation'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'yeah, woah',
'dc:format': 'text/plain'},),
'updated': u'2012-08-21T01:08:49.806562+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/UVnIBtFrTSeZ7KnPDPdKDg',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'Highlight any piece of text and click on the pen icon to make an annotation. Try it on this paragraph!'},
'uri': u'http://localhost:4567/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Annotation',
'dc:format': 'text/plain'},),
'updated': u'2012-08-20T23:49:28.882950+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/KpPiHUzRT3-cblrwedcqww',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u'New to Cryptocat? Check out this cool video!'},
'uri': u'https://crypto.cat/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Link to video is very small',
'dc:format': 'text/plain'},),
'updated': u'2012-08-19T03:48:30.803022+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/KS6mlJi-RxGucS4Wo4BPGQ',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u"In order to maximize conversation privacy for users, Cryptocat is moving to a browser-plugin only model. To access Cryptocat conversations, please install Cryptocat for Google Chrome. It's easy and takes less than a minute!"},
'uri': u'https://crypto.cat/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Link to extension is behind fake login screen',
'dc:format': 'text/plain'},),
'updated': u'2012-08-19T03:48:06.890009+00:00',
'user': u'acct:woah@test.hypothes.is'},
{'@id': u'https://test.hypothes.is/annotations/Q28M51w4SWigtdDYeuYjfw',
'@type': 'oa:Annotation',
'consumer': u'test.hypothes.is',
'http://www.w3.org/ns/openannotation/core/hasTarget': {'@type': 'oa:SpecificResource',
'oa:hasSelector': {'@type': 'oax:TextQuoteSelector',
'oax:exact': u"Cryptocat lets you instantly set up private conversations with some limitations. It's an open source encrypted alternative to other services.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tMessages are encrypted inside your own browser using AES-256. Encrypted data is securely wiped after one hour of inactivity.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tCryptocat also runs as a Tor hidden service (http://xdtfje3c46d2dnjd.onion) and works on your iPhone, Android and BlackBerry."},
'uri': u'https://crypto.cat/'},
'oa:hasBody': ({'@type': 'cnt:ContentAsText',
'cnt:chars': u'Instructions and details about service as small text below main unit',
'dc:format': 'text/plain'},),
'updated': u'2012-08-19T03:47:27.401454+00:00',
'user': u'acct:woah@test.hypothes.is'}],
'@id': 'https://test.hypothes.is/annotations'}
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:cnt="http://www.w3.org/2011/content#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:oa="http://www.w3.org/ns/openannotation/core/"
xmlns:oax="http://www.w3.org/ns/openannotation/extension/"
>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/GjqDyVRpTMKqsuqDdC0i-g">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_67ac4806-f354-401e-aab6-b56338a67bf4">
<dc:format>text/plain</dc:format>
<cnt:chars>this is my bio</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_400e2363-50d1-4ce1-a850-170fdda9451b">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_6ffb5695-e7c1-4cba-b8ab-e965747f8dd5">
<oax:exact>Interface Designer</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T18:15:52.344429+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/RrtbumcHSBC4rh-AaQUmYw">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_9a058336-cd92-4536-867b-c8ca850b40f0">
<dc:format>text/plain</dc:format>
<cnt:chars>Another one here</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_445f6af2-4f34-4ca9-94c3-e8aba2d42131">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_e91f3499-fbfe-4efe-8963-f87b30d7f855">
<oax:exact>and whether any of them are yours.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T01:12:52.309353+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/qXiuKsO9Qj6LA-LgdGQk0g">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_5bbf154a-cf22-4481-9a40-5d17ddf7fd8c">
<dc:format>text/plain</dc:format>
<cnt:chars>This refers to the AUMF, passed shortly after September 11, 2001. The intention of the AUMF was to catch and prosecute the planners of 9/11, and those who harbored them- Osama Bin Laden, Al Quaeda and the Taliban.
Osama Bin Laden is dead. The US is now in talks with the Taliban after 10 years of war.</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_b955d91f-8059-470a-9e96-5a649e88f091">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_798f2e75-4819-49d7-b86b-58b635274f24">
<oax:exact>Authorization for Use of Military Force (Public Law 107-40; 50 U.S.C. 1541 note)</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T23:28:22.276367+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/THr8LQwTQ1G3gd7CPqAUkg">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_9caef570-0cff-4692-842d-fc4b447e6da9">
<dc:format>text/plain</dc:format>
<cnt:chars>yeah, woah</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_5ffff422-0d21-47b6-bc7e-651bde255dba">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_8d1c71a7-608b-4db5-9a8e-7c153bf5523a">
<oax:exact>make an annotation</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T01:08:49.806562+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/KS6mlJi-RxGucS4Wo4BPGQ">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_90409a62-803e-445b-a8de-fb81dcf48528">
<dc:format>text/plain</dc:format>
<cnt:chars>Link to extension is behind fake login screen</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_a808517e-8f15-4b89-b522-da56ccdbd7c5">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_3216a35d-5f9f-4c08-b6c7-a3541ca842e6">
<oax:exact>In order to maximize conversation privacy for users, Cryptocat is moving to a browser-plugin only model. To access Cryptocat conversations, please install Cryptocat for Google Chrome. It's easy and takes less than a minute!</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="https://crypto.cat/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-19T03:48:06.890009+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/nWemel9gQkC-CwtD13nXjA">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_7bce4e10-4a47-411d-b779-2361e54a89fe">
<dc:format>text/plain</dc:format>
<cnt:chars>Which streets?</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_48524881-3741-4f06-8c30-d64a69531cc3">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_c3958be8-6c17-4917-b9b0-4e1947888cff">
<oax:exact>new and continuing projects</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-22T22:56:06.963873+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/L0lUE3cRTsKGYB4YsYQe7A">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_ec1bf43c-9e22-40a3-b30c-ebdc9a66ef89">
<dc:format>text/plain</dc:format>
<cnt:chars>annotate</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_a723dc54-0106-41d0-be30-34a983f0b3ba">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_fac685f0-1bd5-4a6e-88d9-bab35a43ff46">
<oax:exact>ly on the diversity of con</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-23T05:24:46.242899+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/AOv0gt34QLeAJG5AB8ljlQ">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_eee30ce4-762f-4e6e-ac4a-3a9bcca6b6de">
<dc:format>text/plain</dc:format>
<cnt:chars>k</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_1f98558f-ba82-4bf8-b05b-0accf0163844">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_b01d28b6-9201-47f8-a566-6b3769e5128b">
<oax:exact>(1) A person who planned, authorized, committed, or aided the terrorist attacks that occurred on September 11, 2001, or harbored those responsible for those attacks.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-22T04:21:06.037741+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/KpPiHUzRT3-cblrwedcqww">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_ab652370-6f5f-47b9-a0e5-1e6d860db541">
<dc:format>text/plain</dc:format>
<cnt:chars>Link to video is very small</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_6550276b-f0e6-428b-9177-ce69ba3681d1">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_b20ea8b8-41ff-44cf-92b5-f04dbce12b96">
<oax:exact>New to Cryptocat? Check out this cool video!</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="https://crypto.cat/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-19T03:48:30.803022+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/UVnIBtFrTSeZ7KnPDPdKDg">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_9e760306-9cef-4f32-8c2c-5a88eac116e8">
<dc:format>text/plain</dc:format>
<cnt:chars>Annotation</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_3f50817f-3845-4cf3-af8f-691ebdb7a359">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_49def554-ec34-4cc8-a36c-bb5646a2e0e0">
<oax:exact>Highlight any piece of text and click on the pen icon to make an annotation. Try it on this paragraph!</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://localhost:4567/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-20T23:49:28.882950+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/hjrG11eTQ7WZO64iocLNog">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_589f82b0-6cd5-49bc-811a-0ef7670a172f">
<dc:format>text/plain</dc:format>
<cnt:chars>This seems to say: "this section of the law does not change anything." You may find yourself asking- "If that's the case, then why was it written?" The key is in the word authority. Since the President has already claimed the authority to take military actions against US citizens, with the extrajudicial assassination of Anwar Al-Awlaki in September 2011, this section simply codifies his power into law.
Anwar Al-Awlaki was a US citizen who maintained a pro-jihadist online magazine and Youtube channel. He was killed remotely, by drone in Afghanistan. He was not charged with any crime, and did not receive due process.
The 5th amendment allows no person to "be deprived of life, liberty, or property, without due process of law;"</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_62db2d31-eb80-4c12-84f8-133cd88b2fcf">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_3b593715-72ed-40af-99b7-a47df7a40fa8">
<oax:exact>(e) AUTHORITIES.-Nothing in this section shall be construed to affect existing law or authorities relating to the detention of United States citizens, lawful resident aliens of the United States, or any other persons who are captured or arrested in the United States.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T23:30:25.204871+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/fD71-dKFRXS9MnL1v27yAg">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_ad3d498c-4fec-445e-a2ac-aa307a7d90af">
<dc:format>text/plain</dc:format>
<cnt:chars>Pay close attention to (1)- "the end of hostilities authorized by the Authorization for Use of Military Force" refers to the undeclared "War on Terror". Basically, the President is required to release his detainees when the War on Terror ends. Since the War on Terror is indefinite, the 2012 NDAA allows the President to hold detainees indefinitely, without the requirement of a trial.
This would appear to directly contradict the 6th amendment requirement for a "speedy and public trial."</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_2444e8e0-86b1-4b1a-95a2-14bc5d258211">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_55d23df9-f4cb-47cf-bea2-fe9c291676f7">
<oax:exact>(c) DISPOSITION UNDER LAW OF WAR. -The disposition of a person under the law of war as described in subsection (a) may include the following:
(1) Detention under the law of war without trial until the end of the hostilities authorized by the Authorization for Use of Military Force.
(2) Trial under chapter 47A of title 10, United States Code (as amended by the Military Commissions Act of 2009 (title XVIII of Public Law 111-84)).
(3) Transfer for trial by an alternative court or competent tribunal having lawful jurisdiction.
(4) Transfer to the custody or control of the person's country of origin, any other foreign country, or any other foreign entity.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T23:29:44.078063+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/Q28M51w4SWigtdDYeuYjfw">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_e7f4af39-f438-4d1e-b252-64a54af4cca9">
<dc:format>text/plain</dc:format>
<cnt:chars>Instructions and details about service as small text below main unit</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_e00af603-70af-49ee-a68d-fbdfd6a1aa0b">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_fa2b9cdf-87ac-44fd-bd2f-e83872857f4e">
<oax:exact>Cryptocat lets you instantly set up private conversations with some limitations. It's an open source encrypted alternative to other services.
Messages are encrypted inside your own browser using AES-256. Encrypted data is securely wiped after one hour of inactivity.
Cryptocat also runs as a Tor hidden service (http://xdtfje3c46d2dnjd.onion) and works on your iPhone, Android and BlackBerry.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="https://crypto.cat/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-19T03:47:27.401454+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/5WPom-gmSGqB-WqjixoWew">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_e19389ce-d566-4823-a093-4e6e8cbc4485">
<dc:format>text/plain</dc:format>
<cnt:chars>Is there an external page somewhere that is being used as a live test for this?</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_0c966564-8639-47f1-8f7c-5a64658bda1b">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_1d3e593c-65f3-4a84-8440-9f7a78e92e70">
<oax:exact>Drag our bookmarklet to your bookmarks bar to annotate any page on the
internet.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="https://test.hypothes.is/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:Gwylim@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-23T11:25:52.652979+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/fNhMf1nJQ8m0mZZGEawtnw">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_bab6a732-ca47-4ad9-8abf-cbbf5e4a6e1f">
<dc:format>text/plain</dc:format>
<cnt:chars>this</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_94c8f8b8-44df-4471-a203-80c8c5a58a4b">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_1b5357ee-a758-41e0-8708-922d23b91b0d">
<oax:exact>he Hypot</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://hypothes.is/alpha.html"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:dwhly@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-24T19:50:28.188731+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/PH98gQagRoyzsoDJsvVWyg">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_fef0b0a5-1de2-4e9b-8be9-cb6a942bbb50">
<dc:format>text/plain</dc:format>
<cnt:chars>This paragraph starts out by reiterating the authority granted to the President under the AUMF, the power to detain those involved in the execution of the terrorist attacks of 9/11. It then expands this authority, extending it to allow him to detain any person that he feels has committed a belligerent act. What is a "belligerent act"?
The fact is that the term "belligerent" can be taken to mean many different things. This is one of the main criticisms of the law. What is a belligerent act? You'll have to ask the President.</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_642e2813-0ff4-4a9f-88bc-f8f7515b3d0d">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_346d123e-e338-4c57-9eba-1d1f7904dad0">
<oax:exact>(1) A person who planned, authorized, committed, or aided the terrorist attacks that occurred on September 11, 2001, or harbored those responsible for those attacks.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="http://jtremback.github.com/hyp-frontpage-mock/c1df0f7/index.html"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:woah@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-21T23:29:02.727944+00:00</oa:annotated>
</oa:Annotation>
<oa:Annotation rdf:about="https://test.hypothes.is/annotations/WTDaG8WnTqSl4IJLMu35qg">
<oa:hasBody>
<cnt:ContentAsText rdf:nodeID="_9547666b-9c9f-405f-a191-5392936f715c">
<dc:format>text/plain</dc:format>
<cnt:chars>Before you start swearing about the inability to login (like me) you do actually need to read this and *claim your account* before just entering your username and whatever you think your password is...
The account claiming/signup is jolly neat though :D well done.</cnt:chars>
</cnt:ContentAsText>
</oa:hasBody>
<oa:hasTarget>
<oa:SpecificResource rdf:nodeID="_39d2d90c-ad57-4069-83b6-8e0f385ab856">
<oa:hasSelector>
<oax:TextQuoteSelector rdf:nodeID="_c822f063-34ef-4501-a685-fe65124ab605">
<oax:exact>Enter your login credentials to claim your account.</oax:exact>
</oax:TextQuoteSelector>
</oa:hasSelector>
<oa:hasSource rdf:resource="https://test.hypothes.is/"/>
</oa:SpecificResource>
</oa:hasTarget>
<oa:annotator rdf:datatype="http://purl.org/dc/terms/creator">acct:Gwylim@test.hypothes.is</oa:annotator>
<oa:generator>test.hypothes.is</oa:generator>
<oa:annotated rdf:datatype="http://purl.org/dc/terms/date">2012-08-23T11:19:30.108528+00:00</oa:annotated>
</oa:Annotation>
</rdf:RDF>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment