Skip to content
Browse files

implemented unbake (for turtle), added some notes towards a delicious…

…-style bookmarklet
  • Loading branch information...
1 parent 04d3fc8 commit cdc27759c1c37a53fe8cbd407437ecd670dccb97 @danja committed Apr 16, 2012
View
3 baked/meta.ttl
@@ -1,14 +1,13 @@
# Graphs baked by Seki
-prefix stuff: <http://purl.org/stuff> .
+@prefix stuff: <http://purl.org/stuff> .
<http://hyperdata.org/seki/Hello> a stuff:Graph .
<http://hyperdata.org/seki/HelloAgain> a stuff:Graph .
<http://hyperdata.org/seki/HelloThree> a stuff:Graph .
<http://hyperdata.org/seki/Hello5> a stuff:Graph .
<http://hyperdata.org/seki/Hello4> a stuff:Graph .
<http://hyperdata.org/seki/Q> a stuff:Graph .
-<http://dannyayers.com/> a stuff:Graph .
<http://hyperdata.org/seki/Hello9> a stuff:Graph .
<http://hyperdata.org/A> a stuff:Graph .
<http://hyperdata.org/D> a stuff:Graph .
View
129 misc/post.html
@@ -1,55 +1,76 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" version="XHTML+RDFa 1.0">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"></meta>
- <title>Rhizomik - ReDeFer - RDF2HTML</title>
- <link href="/redefer-services/style/rhizomer.css" type="text/css" rel="stylesheet"></link>
- </head>
- <body>
- <div xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="rdf2html">
- <div class="description">
- <table about="http://hyperdata.org/Hello" typeof="sioc:Post">
- <tr>
- <th colspan="2"><a class="browse" href="http://hyperdata.org/Hello" title="Browse http://hyperdata.org/Hello">Hello</a><div xmlns="" class="connector"> a </div><a class="browse" href="http://rdfs.org/sioc/ns#Post" title="Browse http://rdfs.org/sioc/ns#Post">Post</a></th>
- </tr>
- <tr class="http://rdfs.org/sioc/ns#content">
- <td><a class="browse" href="http://rdfs.org/sioc/ns#content" title="Browse http://rdfs.org/sioc/ns#content">content</a></td>
- <td property="sioc:content" content="My first post.">
- <div class="property-object">My first post.</div>
- </td>
- </tr>
- <tr class="http://purl.org/dc/terms/date">
- <td><a class="browse" href="http://purl.org/dc/terms/date" title="Browse http://purl.org/dc/terms/date">date</a></td>
- <td property="dc:date" content="2012-04-02T07:24:53.676Z">
- <div class="property-object">2012-04-02T07:24:53.676Z</div>
- </td>
- </tr>
- <tr class="http://xmlns.com/foaf/0.1/maker">
- <td><a class="browse" href="http://xmlns.com/foaf/0.1/maker" title="Browse http://xmlns.com/foaf/0.1/maker">maker</a></td>
- <td>
- <div class="property-object" rel="foaf:maker">
- <table typeof="rdfs:Resource">
- <tr class="http://xmlns.com/foaf/0.1/nick">
- <td><a class="browse" href="http://xmlns.com/foaf/0.1/nick" title="Browse http://xmlns.com/foaf/0.1/nick">nick</a></td>
- <td property="foaf:nick" content="danja">
- <div class="property-object">danja</div>
- </td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- <tr class="http://purl.org/dc/terms/title">
- <td><a class="browse" href="http://purl.org/dc/terms/title" title="Browse http://purl.org/dc/terms/title">title</a></td>
- <td property="dc:title" content="Hello World!">
- <div class="property-object">Hello World!</div>
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div id="footlogo">
- <div id="logo"><a href="http://rhizomik.net"><img src="/redefer-services/images/rhizomer.small.png" alt="Rhizomik"></img> Powered by Rhizomik
- </a></div>
- </div>
- </body>
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ version="XHTML+RDFa 1.0">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"></meta>
+<title>Rhizomik - ReDeFer - RDF2HTML</title>
+<link href="/redefer-services/style/rhizomer.css" type="text/css"
+ rel="stylesheet"></link>
+</head>
+<body>
+ <div xmlns:dc="http://purl.org/dc/terms/"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:sioc="http://rdfs.org/sioc/ns#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="rdf2html">
+ <div class="description">
+ <table about="http://hyperdata.org/Hello" typeof="sioc:Post">
+ <tr>
+ <th colspan="2"><a class="browse"
+ href="http://hyperdata.org/Hello"
+ title="Browse http://hyperdata.org/Hello">Hello</a>
+ <div xmlns="" class="connector">a</div>
+ <a class="browse" href="http://rdfs.org/sioc/ns#Post"
+ title="Browse http://rdfs.org/sioc/ns#Post">Post</a></th>
+ </tr>
+ <tr class="http://rdfs.org/sioc/ns#content">
+ <td><a class="browse" href="http://rdfs.org/sioc/ns#content"
+ title="Browse http://rdfs.org/sioc/ns#content">content</a></td>
+ <td property="sioc:content" content="My first post.">
+ <div class="property-object">My first post.</div>
+ </td>
+ </tr>
+ <tr class="http://purl.org/dc/terms/date">
+ <td><a class="browse" href="http://purl.org/dc/terms/date"
+ title="Browse http://purl.org/dc/terms/date">date</a></td>
+ <td property="dc:date" content="2012-04-02T07:24:53.676Z">
+ <div class="property-object">2012-04-02T07:24:53.676Z</div>
+ </td>
+ </tr>
+ <tr class="http://xmlns.com/foaf/0.1/maker">
+ <td><a class="browse" href="http://xmlns.com/foaf/0.1/maker"
+ title="Browse http://xmlns.com/foaf/0.1/maker">maker</a></td>
+ <td>
+ <div class="property-object" rel="foaf:maker">
+ <table typeof="rdfs:Resource">
+ <tr class="http://xmlns.com/foaf/0.1/nick">
+ <td><a class="browse"
+ href="http://xmlns.com/foaf/0.1/nick"
+ title="Browse http://xmlns.com/foaf/0.1/nick">nick</a></td>
+ <td property="foaf:nick" content="danja">
+ <div class="property-object">danja</div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ <tr class="http://purl.org/dc/terms/title">
+ <td><a class="browse" href="http://purl.org/dc/terms/title"
+ title="Browse http://purl.org/dc/terms/title">title</a></td>
+ <td property="dc:title" content="Hello World!">
+ <div class="property-object">Hello World!</div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div id="footlogo">
+ <div id="logo">
+ <a href="http://rhizomik.net"><img
+ src="/redefer-services/images/rhizomer.small.png" alt="Rhizomik"></img>
+ Powered by Rhizomik </a>
+ </div>
+ </div>
+</body>
</html>
View
BIN reference-docs/ldstudy12.pdf
Binary file not shown.
View
10 src/Constants.js
@@ -0,0 +1,10 @@
+var constants = {
+ typeForExtension : {
+ ".ttl" : "text/turtle",
+ ".rdf" : "application/rdf+xml",
+ ".html" : "text/html"
+ // ".json" : "text/json" ??
+ }
+};
+
+module.exports = constants;
View
21 src/TurtleHandler.js
@@ -15,10 +15,23 @@ TurtleHandler.prototype = {
value1 : "default_value",
// uses http://www.w3.org/TR/sparql11-http-rdf-update/#http-put
- "PUT" : function(uri, inputStream){
+ "PUT" : function(uri, data, callback){
+
+ console.log("URI in PUT = "+uri);
var client = http.createClient(config.sparqlPort, config.sparqlHost);
+ var queryPath = config.sparqlGraphEndpoint + "?graph=" + escape(uri);
// HERE HERE HERE
- //
+ var headers = {
+ "Content-type" : "text/turtle"
+ }
+ var clientRequest = client.request("PUT", queryPath, headers);
+ clientRequest.end(data);
+
+ // handle SPARQL server response
+ clientRequest.on('response', function(queryResponse) {
+ callback(queryResponse.statusCode,
+ queryResponse.headers);
+ });
},
// uses http://www.w3.org/TR/sparql11-http-rdf-update/#http-get
@@ -56,6 +69,10 @@ TurtleHandler.prototype = {
});
},
+ /* utility - gets list of named graph URIs
+ * as object bindings
+ * used by admin/Admin.js
+ */
getGraphs : function(callback) {
// the client that will talk to the SPARQL server
var client = http.createClient(config.sparqlPort, config.sparqlHost);
View
43 src/admin/Admin.js
@@ -1,7 +1,9 @@
+var fs = require('fs');
+
var TurtleHandler = require('../TurtleHandler');
var config = require('../ConfigDefault').config;
var FileReader = require('./FileReader');
-var fs = require('fs');
+var Constants = require('../Constants');
// Constructor
function Admin(sekiRequest, sekiResponse) {
@@ -24,7 +26,7 @@ Admin.prototype = {
var handler = new TurtleHandler();
handler.getGraphs(function(bindings) {
// console.log(JSON.stringify(bindings, null, '\t'));
- var meta = "prefix stuff: <http://purl.org/stuff> .\n\n";
+ var meta = "@prefix stuff: <http://purl.org/stuff> .\n\n";
for (x in bindings) {
// console.log(bindings[x].graph);
var uri = bindings[x].graph;
@@ -42,7 +44,7 @@ Admin.prototype = {
// console.log("filename = " + filename);
// filename needs to be prefixed with __dirname ??
var dirs = filename.split("/");
- console.log("dirs = " + dirs);
+ // console.log("dirs = " + dirs);
var dir = "";
for ( var i = 0; i < dirs.length - 1; i++) {
dir += dirs[i];
@@ -60,7 +62,6 @@ Admin.prototype = {
stream.on('error', function(e) {
console.log("Error writing to file : " + e);
});
-
stream.write("# Baked by Seki \n\n");
var handler = new TurtleHandler();
@@ -84,12 +85,34 @@ Admin.prototype = {
console.log("Admin.unbake called");
var fileReader = new FileReader();
- fileReader.treeWalk(config.baked, function(file,next) {
- console.log("File = " + file);
- // HERE HERE HERE
- // read file
- // decode extension, filter, make nice name
- // PUT into store
+ fileReader.treeWalk(config.baked, function(file, next) {
+ // console.log("File = " + file);
+ var dot = file.lastIndexOf(".");
+ if (dot != -1) {
+ var type = Constants.typeForExtension[file.substring(dot)];
+
+ // console.log("ext = " + file.substring(dot));
+ if (type) {
+ // console.log("type = " + type);
+ fs.readFile(file, 'utf8', function(err, data) {
+ if (err) {
+ console.error("Could not open file: %s", err);
+ } else {
+ var uri = config.uriBase + file.substring(config.baked.length,dot);
+
+ // PUT into store
+ // NB should switch onto the appropriate content handler
+ // currently preset for turtle
+ var handler = new TurtleHandler();
+
+ handler.PUT(uri, data,
+ function(statusCode, headers){
+ console.log("PUT returned a "+statusCode);
+ });
+ }
+ });
+ }
+ }
next(false); // weird, but it works
}, function(msg) {
console.log("Done = " + msg);
View
9 src/admin/FileReader.js
@@ -38,19 +38,18 @@ FileReader.prototype = {
// Apache Licence 2.0
function treeWalk(root, fileCb, doneCb) {
- // this.value2 = argument + 100;
- console.log("FileReader.treeWalk called");
+ // console.log("FileReader.treeWalk called");
// function forAllFiles(root, fileCb, doneCb) {
fs.readdir(root, function processDir(err, files) {
if (err) {
console.log("TreeWalk error [1] :"+err);
// fileCb(err);
} else {
- console.log("files.length = "+files.length);
+ // console.log("files.length = "+files.length);
if (files.length > 0) {
var file = root + '/' + files.shift();
- console.log("file = "+file);
+ // console.log("file = "+file);
fs.stat(file, function processStat(err, stat) {
if (err) {
console.log("TreeWalk error [2] :"+err);
@@ -71,7 +70,7 @@ function treeWalk(root, fileCb, doneCb) {
console.log("TreeWalk error [4] :"+err);
// doneCb(err);
} else {
- console.log("calling processDir on "+files);
+ // console.log("calling processDir on "+files);
processDir(false, files);
}
});
View
4 www/admin.html
@@ -12,15 +12,15 @@
<h1>Admin</h1>
<h2>Bake</h2>
-
+<em>Write named graphs to files</em>
<form action="/admin/bake" method="post">
<p>
<input type="submit" value="Submit" /></p>
</form>
<hr />
<h2>Unbake</h2>
-
+<em>Read named graphs from files</em>
<form action="/admin/unbake" method="post">
<label>User </label><input type="text" name="user" value="danja" />
View
2 www/bookmarklet.html
@@ -0,0 +1,2 @@
+<a title="Bookmark"
+ href="javascript:(function(){f=&#39;http://localhost:8888/miniform.html?url=&#39;+encodeURIComponent(window.location.href)+&#39;&amp;title=&#39;+encodeURIComponent(document.title)+&#39;&amp;notes=&#39;+encodeURIComponent(&#39;&#39;+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text))+&#39;&amp;v=6&amp;&#39;;a=function(){if(!window.open(f+&#39;noui=1&amp;jump=doclose&#39;,&#39;deliciousuiv6&#39;,&#39;location=1,links=0,scrollbars=0,toolbar=0,width=710,height=660&#39;))location.href=f+&#39;jump=yes&#39;};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()">Bookmark</a>
View
0 www/css/old/four.css → www/css/four.css
File renamed without changes.
View
3 www/form.html
@@ -12,6 +12,9 @@
<h1>Seki Post Form</h1>
<p>
<form action="/post" method="post">
+
+ <input type="hidden" value="post" name="type" />
+
<label for="uri">Item URI</label>
<input type="text" name="uri" id="uri" />
View
92 www/four.html
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <title>Listy</title>
+ <meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" />
+ <meta name="author" content="Danny Ayers" />
+ <link rel="stylesheet" href="css/four.css" type="text/css" media="Screen" />
+ <link rel="stylesheet" href="css/tree.css" type="text/css" media="Screen" />
+ <script type="text/javascript" src="js/CollapsibleLists.js">
+ </script>
+ <script type="text/javascript">
+ OnloadScheduler.schedule(function(){ CollapsibleLists.apply(); });</script>
+
+<link rel="stylesheet" href="./css/lists.css" type="text/css">
+<script language="JavaScript" type="text/javascript" src="./js/coordinates.js"></script>
+<script language="JavaScript" type="text/javascript" src="./js/drag.js"></script>
+<script language="JavaScript" type="text/javascript" src="./js/dragdrop.js"></script>
+<script language="JavaScript" type="text/javascript"><!--
+ window.onload = function() {
+ var lists = document.getElementsByTagName( "ul" );
+ for (var i = 0; i < lists.length; i++) {
+DragDrop.makeListContainer( lists[i] );
+ lists[i].onDragOver = function() { this.style["background"] = "#EEF"; };
+ lists[i].onDragOut = function() {this.style["background"] = "none"; };
+ }
+
+ };
+ //-->
+
+</script>
+</head>
+
+<body>
+
+<div id="fourContainer">
+
+<div class="top left quarter">
+<h1>main list (one)</h1>
+<!-- ul class="collapsibleList treeView" -->
+<ul id="phonetic" style="margin-left: 1em; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; ">
+ <li>Parent item
+ <ul id="phonetic" class="sortable boxy" style="margin-left: 1em; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; ">
+ <li><a
+ href="http://code.stephenmorley.org/javascript/collapsible-lists/">Collapsible
+ lists in JavaScript</a></li>
+ <li>Child item</li>
+ </ul>
+ </li>
+ <li>Parent item
+ <ul>
+ <li>Child item</li>
+ <li>Child item</li>
+ </ul>
+ </li>
+</ul>
+</div>
+
+<div class="top right quarter">
+<h1>target list (two)</h1>
+<!-- ul class="collapsibleList treeView" -->
+<ul id="numeric" class="sortable boxier collapsibleList treeView" style="margin-right: 1em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; border-image: initial; ">
+ <li>Parent item
+ <ul class="sortable boxier">
+ <li><a
+ href="http://code.stephenmorley.org/javascript/collapsible-lists/">Collapsible
+ lists in JavaScript</a></li>
+ <li>Child item</li>
+ </ul>
+ </li>
+ <li>Parent item
+ <ul>
+ <li>Child item</li>
+ <li>Child item</li>
+ </ul>
+ </li>
+</ul>
+</div>
+<div class="bottom left quarter">
+<h1>iframe (three)</h1>
+<iframe name="frame" src="frametest.html" width="100%" height="288" scrolling="auto" frameborder="1">[Your user agent does not support frames or is currently configured not to display rames.]</iframe>
+</div>
+
+<div class="bottom right quarter">
+<h1>textarea (four)</h1>
+<textarea>textarea</textarea>
+</div>
+</div>
+</body>
+</html>
View
23 www/js/bookmarklet.js
@@ -0,0 +1,23 @@
+(function() {
+ f = 'http://localhost:8888/miniform.html?url='
+ + encodeURIComponent(window.location.href)
+ + '&title='
+ + encodeURIComponent(document.title)
+ + '&notes='
+ + encodeURIComponent(''
+ + (window.getSelection ? window.getSelection()
+ : document.getSelection ? document.getSelection()
+ : document.selection.createRange().text))
+ + '&v=6&';
+ a = function() {
+ if (!window
+ .open(f + 'noui=1&jump=doclose', 'deliciousuiv6',
+ 'location=1,links=0,scrollbars=0,toolbar=0,width=710,height=660'))
+ location.href = f + 'jump=yes'
+ };
+ if (/Firefox/.test(navigator.userAgent)) {
+ setTimeout(a, 0)
+ } else {
+ a()
+ }
+})()
View
6 www/js/bookmarklet.txt
@@ -0,0 +1,6 @@
+(function(){f='http://localhost:8888/miniform.html?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'&notes='+encodeURIComponent(''+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text))+'&v=6&';a=function(){if(!window.open(f+'noui=1&jump=doclose','deliciousuiv6','location=1,links=0,scrollbars=0,toolbar=0,width=710,height=660'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()
+
+
+/*
+javascript:(function(){f='http://localhost:8888/miniform.html?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'&notes='+encodeURIComponent(''+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text))+'&v=6&';a=function(){if(!window.open(f+'noui=1&jump=doclose','deliciousuiv6','location=1,links=0,scrollbars=0,toolbar=0,width=710,height=660'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()
+*/
View
623 www/lists/workflowy/dump_2012-04-11.txt
@@ -0,0 +1,623 @@
+- TODO
+ - ToBlog
+ - RWW, JSON, surface area and agents
+ - the better things are described, the more reusable they are
+ - http://www.w3.org/Submission/2012/02/
+ - http://lists.w3.org/Archives/Public/public-rww/2012Apr/0025.html
+ - Lone Wolf dev in a community
+ - https://www.facebook.com/danny.ayers/posts/10150666977117475
+ - https://plus.google.com/u/0/104323674441008487802/posts/KYwmT2qE9VL
+ - http://iamsamy.blogspot.it/2012/04/where-is-casual-programming.html
+ - SPICE vocab
+ - Resume
+ - graph of interests
+ - timeline?
+ - http://patametadata.blogspot.it/2012/04/semantic-html-resume.html
+ - Real World
+ - Business card
+ - Font
+ - http://141.89.225.43/patchr/
+ - agent model!
+ - js in models http://www.ilrt.org/discovery/2001/03/rdf-moo/
+ - called from HTML or node engine etc.
+ - microdata/RDFa templater
+ - SWIB hook to remote store - fuseki GUI
+ - transclusion - apply to <a href="..." rel="include"
+ - https://hacks.mozilla.org/2011/11/insertadjacenthtml-enables-faster-html-snippet-injection/
+ - little language based on XML proc
+ - Distributed Comments : custom trackback (as comments alternative)
+ - enter URL of your comment (it should be publicly-readable)
+ - enter title to display on link
+ - enter your name or alias
+ - enter your personal URI (optional)
+ - requirements : the target must include a link to the post you are commenting on
+ - comment on Twitter, FB, G+
+ - allow me to add related links
+ - Pub-Sub on URI templates
+ - a feed tells you there's been a change in a resource "range"
+ - RWW list mail - WebID and APIs
+ - 2012-12
+ - + no-links rendering
+ - "Web Outline" - links-only rendering
+- A Manifesto for Web Agents (/hyperdata manifesto?)
+ - Core values and beliefs
+ - communication is good, so anything which reduces friction, misunderstanding is likely to be beneficial
+ - serendipity
+ - Re. ontologies: "Does it answer a business question or—better—does it anticipate & address the next question.” - https://twitter.com/#!/kerfors/status/190058712705142784
+ - progressive enhancement: server-side too
+ - there are more activities than browsing
+ - interactions/affordances - hypermedia
+ - iframes by danbri, via Flickr pinned
+ - visibility of data
+ - Tantek
+ - every resource should have one canonical internal representation (for DRY)
+ - this should be advertised if possible (Link header? q factors)
+ - measure everything, iterate
+ - http://peterfox.com.au/manifesto_write.htm
+- IEEE Piece
+ - If computers were human
+ - world turned upsde down
+ - layered abstraction the other way up, starting with humans
+ - yay! http://wronghands1.wordpress.com/2012/03/01/the-outernet/
+ -
+ - Affordances
+ - http://www.makemedia.com/blog/2012/03/15/what-is-the-future-for-web-intents/
+ - Dark Ages
+ - ??? taking a photo rather than experiencing the moment ???
+ - embodied AI
+ - http://en.wikipedia.org/wiki/Embodied_cognition
+- One-Liners
+ - the better things are described, the more reusable they are
+- Salzburg
+ - http://wiki.iks-project.eu/index.php/Workshops/Salzburg2012
+ - http://www.iks-project.eu/
+ - investigate IKS projects
+ - apply to my blog
+ - https://docs.google.com/document/d/1XzdsjCfPylcyOoNtDfAgz15HwRdCD-0e0ixh21_U0y0/edit?hl=en_US&pli=1
+- UK
+ - wireless route - ask
+ - maze carving
+ - something for Leslie
+- Seki
+ - https://github.com/danja/seki and https://plus.google.com/b/102910670341143019851/
+ - Goals/Purpose/Aims?
+ - refactor description
+ - current : Seki is a front-end to an independent SPARQL server using node.js
+ - new : Personal Linked Data Platform ??
+ - support all my planned apps :)
+ - yak shaving not bikeshedding!
+ - minimizing impedance mismatch
+ - doc management, data management, message management
+ - a target : Linked Data Profile - http://www.w3.org/Submission/2012/02/
+ - also http://www.w3.org/2012/ldp/charter#scope
+ - http://www.w3.org/2001/sw/wiki/TurtlePatch
+ - TODO
+ - admin utility: save/drop/load commands
+ - implement as Bake??
+ - [COMPLETE] save:
+ - [COMPLETE] walk through graphs
+ - [COMPLETE] save each to file
+ - load
+ - [COMPLETE] walk fs
+ - load each file to graph
+ - would need to disable auto-file-read where graphs are out of sync
+ - Use XHTML fragments, deliver using AHAH
+ - http://domscripting.com/presentations/xtech2006/
+ - http://duganchen.ca/single-page-web-app-architecture-done-right/
+ - https://github.com/mpuig/hijax
+ - https://github.com/ded/Reqwest
+ - set up support for GET "application/json"
+ - JSONHandler
+ - separate query section from serving section
+ - refactor GET "text/html" to shape of JSONHandler
+ - move current handling of RDF to RDFHandler
+ - ?? named graphs straight proxy to Fuseki?
+ - proxy SPARQL & HTTP Update to Fuseki
+ - Accept type
+ - may be tricky with SPARQL SELECT vs. CONSTRUCT
+ - plus PUT etc.
+ - use mustache templating
+ - https://github.com/janl/mustache.js#readme
+ - mock authentication
+ - prepare for client-side RDF
+ - put http-proxy based router on input,
+ - Accept: RDF -> auth -> Public
+ - Accept: HTML -> Seki -> auth -> Public
+ - start test framework
+ - Proc
+ - http://vocab.deri.ie/rdforms
+ - http://www.w3.org/2009/sparql/docs/tests/
+ - reorganize packages
+ - merge dev branch back into main
+ - make packageable
+ - http://howtonode.org/how-to-module
+ - package.json
+ - npm?
+ - test on server
+ - try with Scute
+ - implement I Ching service
+ - Special Pages (a la Wiki) e.g. list of resources (a la hypermedia discovery)
+ - tweak assembler to create another dataset, to support one Public + one Private
+ - implement authentication/authorization
+ - (see Seki on G+)
+ - Basic over HTTP for now
+ - ACL based on
+ - http://www.w3.org/ns/auth/acl#
+ - roles as in Dominik's papers
+ - http://www.w3.org/community/rww/wiki/AccessControl
+ - Bergi's vocab
+ - http://ns.bergnet.org/tac/0.1/triple-access-control#
+ - SPIN
+ - http://spinrdf.org/spin.html
+ - http://spinrdf.org/sp.html
+ - http://trueg.wordpress.com/2012/03/19/you-do-not-need-to-know-rdf-or-foaf-to-use-webid/
+ - tweak input router to HTTPS as appropriate
+ - test with Virtuoso
+ - play with templates
+ - Go templates:
+ - https://plus.google.com/u/0/105544220472422222613/posts/UaU2pCTUFuk
+ - incorporate URI templates?
+ - DSL?
+ - property paths
+ - pipelines
+ - affordances
+ - javascript in model
+ - look into deployment in Cloud
+ - http://www.amundsen.com/blog/archives/1116
+ - map to agent model
+ - https://secure.flickr.com/photos/danja/6788357883/
+ - https://secure.flickr.com/photos/danja/5558883807/
+ - pick another app to implement
+ - incorporate project vocab
+ - bookmarker
+ - +notes : tag QI (quick idea :)
+ - listy thing
+ - remember federation
+ - /stuff namespace
+ - http://open.vocab.org/
+ - something using VoID
+ - http://demo.lod2.eu/lod2demo
+ - http://data.totl.net/
+ - http://www.windley.com/archives/2012/03/ways_not_places.shtml
+ - http://wiki.webhooks.org/w/page/13385124/FrontPage
+ - http://code.google.com/p/elda/source/browse/elda-testing-webapp/src/test/java/com/epimorphics/lda/systemtest/ResponseStatusTests.java
+ - http://www.snee.com/bobdc.blog/2012/03/playing-with-sparql-graph-stor.html
+ - First Application : serve I Ching data
+ - Aim (MVP)
+ - provide RDF and HTML representations of all (public) resources at individual deref'able URLs
+ - HTML representation will support link-based navigation and representation editing through forms
+ - clean source data, convert to rough RDF/XML (nearly done)
+ - load data
+ - one model for all hexagrams
+ - one model for vocabs (pipeline input)
+ - serve data
+ - page templates
+ - edit data via HTML forms
+ - Play
+ - visualizations: check: http://mbostock.github.com/d3/ex/
+ - Requirements (based on suggestions from @ephemerian and @kendall)
+ - authentication
+ - Basic over HTTPS
+ - https://github.com/magnetik/node-webid
+ - authorization
+ - Private store contains ACL
+ - initially
+ - Private store admin R/W only, inaccessible directly
+ - Public anyone R admin W
+ - logging
+ - text - for debugging (must be a node util available)
+ - RDF model - for analytics
+ - federation
+ - it should be trivial to run federated queries
+ - SPARQL repository - prepared queries for e.g. selecting by shared interests
+ - bake/unbake
+ - caching
+ - text search
+ - throttling
+ - versioning
+ - layer on top
+ - support for Linked Data API
+ - http://code.google.com/p/linked-data-api/
+ - WebDAV
+ - Test Framework
+ - http://www.w3.org/2009/sparql/docs/tests/
+ - implementation
+ - use zombie for HTML bits
+ - // what would an RDF zombie look like?
+ - Design
+ - https://github.com/danja/seki/blob/dev/src/tests/notes.txt
+ - Common Graphs
+ - ACL
+ - event logs
+ - registry of other services/Seki instances (federation!)
+ - VoID
+ - SPARQL repository
+ - Nice to have
+ - data validation
+ - rules/reasoning/explanation/statistical stuff (much later!)
+ - Reference
+ - http://www.w3.org/community/rww/wiki/AccessControl
+ - http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html
+ - http://trueg.wordpress.com/2012/03/15/webid-a-guide-for-the-clueless/
+ - http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
+ - http://www.w3.org/TR/HTTP-in-RDF10/
+ - http://prescod.net/rest/mistakes/
+ - http://javascript.infogami.com/Javascript_in_Ten_Minutes
+ - http://backbonejs.org/
+ - https://github.com/antoniogarrote/rdfstore-js
+ - http://howtonode.org/traitsjs
+ - http://betterexplained.com/articles/how-to-make-a-bookmarklet-for-your-web-application/
+ - https://github.com/shapeshed/nodejsbook.io.examples
+ - http://nodeguide.com/beginner.html
+ - http://css-tricks.com/snippets/html/post-data-to-an-iframe/
+ - visualization
+ - http://jesusabdullah.github.com/2011/02/26/plolt.html
+ - http://solutoire.com/flotr/
+ - http://bost.ocks.org/mike/hive/
+ - http://code.google.com/p/sgvizler/
+ - https://github.com/alangrafu/visualRDF#readme
+ - http://codinginparadise.org/projects/svgweb/docs/QuickStart.html
+ - http://mbostock.github.com/d3/ex/force.html
+ - App Ideas (see separate list)
+ - SPARQL repository
+ - blog
+ - Wiki
+ - https://www.jottit.com
+ - projects
+ - https://trello.com/
+ - general purpose recommender
+ - create a theme
+ - add items
+ - if you like this -> you'll like that
+ - SVG Whiteboard
+ - federated...
+ - http://ifttt.com/
+ - http://notebookjs.me/#
+ - allow Listy Thing *Pages*
+ - webfinger thing
+ - http://tools.ietf.org/html/draft-jones-simple-web-discovery-02
+ - the dreaded RSS aggregator
+ - https://github.com/danmactough/node-feedparser
+ - http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html
+ - http://oli.web.cmu.edu/openlearning/forstudents/freecourses/media-programming
+ - http://bionicteaching.com/?p=2176
+ - Courseware
+ - start by taking *exactly this* and expressing it in RDF
+ - http://www.inf.unibz.it/~franconi/dl/course/
+ - http://labs.mondeca.com/dataset/lov/details/vocabulary_crsw.html
+ - natural history square metre
+ - microscope slide
+- Proc
+ - Agent Model
+ - agents message each other
+ - an agent is a computer = a computing unit
+ - diagram of computer
+ - http://www.c-jump.com/CIS77/CPU/VonNeumann/lecture.html
+ - XProc mapping (informative)
+ - Implementations
+ - Beeps - demo GA
+ - Synth
+ - modules separated by HTTP!
+ - Testing
+ - Vocab Validator : Data Stars
+ - http://pedantic-web.org/tools.html
+ - remember Vapour
+ - RDF lint
+ - http://ebiquity.umbc.edu/blogger/2012/03/04/lov-secrets-of-the-real-ontologies-of-the-lod-cloud/
+ - http://greggkellogg.net/2012/03/18/a-new-rdfa-test-harness
+ - term for steward? https://plus.google.com/114406186864069390644/posts/8d239nCmf8d
+ - Seki see Seki
+ - zip compression chain - demo GA
+ - http://www.nada.kth.se/~viggo/problemlist/compendium.html
+ - Video!
+ - Parameters - refactor nitRandom
+ - Visualization
+ - http://code.google.com/p/sgvizler/
+ - http://code.google.com/apis/chart/interactive/docs/gallery/orgchart.html#Data_Format
+ - Dedicated editor
+ - Mad Ideas
+ - make a computer http://www.c-jump.com/CIS77/CPU/VonNeumann/lecture.html
+- Web Beeps
+ - Process Modelling
+ - http://www.w3.org/TR/xproc/
+ - self-replicating thing..?
+ - http://www.garshol.priv.no/blog/225.html
+ - more write-up
+ - "mail Web Beeps"
+ - bit of promo - podcasters
+ - recorder widget
+ - "add beep widget to your site"
+ -
+ - vocab
+ - real-time vs. not
+ - monitoring - durations? heartbeat?
+ - Turtle generation
+ - describe() - visitor pattern?
+ - Cache-control
+ - http://code.google.com/p/rdf-pipeline/
+- Fuseki in a Box
+ - startup:
+ - run locally
+ - connect to existing store
+ - panes
+ - add triples (model dropt-down)
+ - delete triples " + clear model
+ - query
+ - add IdeaGraph-style drop box for Upload to Cloud
+ - - nah, better: a directory that eats whatever you drop into it
+ - http://www.activestate.com/blog/2012/03/install-stackato-micro-cloud-one-command
+- SPICE Vocabulary : Resources
+ - Vocabulary homepage : http://purl.org/stuff/spice
+ - SPICE Reference
+ - Wikipedia : http://en.wikipedia.org/wiki/SPICE
+ - The SPICE Page : http://bwrc.eecs.berkeley.edu/classes/icbook/spice/
+ - (Core) Circuit Elements : http://bwrc.eecs.berkeley.edu/classes/icbook/spice/UserGuide/elements_fr.html
+ - this may be scrapable for data
+ - RDF
+ - A Quick Intro (rather old, but still valid) http://www.rdfabout.com/quickintro.xpd
+ - RDF at the W3C (specifications etc) : http://www.w3.org/RDF/
+- Project vocab
+ - https://plus.google.com/107429617152575897589/posts/7pj84m9LT56
+- Affordances
+ - RDFPub
+ - http://www.amundsen.com/blog/archives/1083
+ - http://tools.ietf.org/html/rfc5023#section-5
+ - http://www.aaronsw.com/weblog/000931
+ - http://www.bbc.co.uk/news/business-16968125
+ - TiddlyWiki
+ - Named Graphs as modular programs
+ - components are literal javascript functions
+ - possibly tied to queries
+ - https://github.com/antoniogarrote/rdfstore-js
+ - http://code.google.com/p/rdfquery/
+ - Entity/Component
+ - http://piemaster.net/2011/07/entity-component-primer/
+ - [gesture] does get on resource, including found triples in current graph
+ - http://stateless.co/hal_specification.html
+ - Intents
+ - http://designpush.pbworks.com/w/page/48061310/FrontPage
+ - http://www.makemedia.com/blog/2012/03/15/what-is-the-future-for-web-intents/
+- Named Graph (including agent stuff)
+ - JS nodes corresponding to methods for use in browser?
+ - simplest thing that could possible work!
+ - Affordances - document (graph)-level triples
+- Manuel
+ - as new kind of browser
+ - as game - link follower = game player
+ - two windows:
+ - Adventure-like text interactions
+ - change text colour for media type (doc web/data web)
+ - low-level net interactions
+ - goals - answering a specifc question
+ - get folks to add Easter Eggs to data sets?
+ - potted queries etc. in online repository
+ - keyed off current URI (e.g. SPARQL endpoints)
+ - annotated -title, creator, date, description
+ - http://datatracker.ietf.org/doc/draft-gregorio-uritemplate/?include_text=1
+ - x = construct(endpointURI, query)
+ - http://talideon.com/weblog/2005/07/javascript-memoization.cfm
+- Scute
+ - Make usable as a text editor
+ - Ctrl-S saves etc.
+ - sort out tabs
+ - one model per tab?
+ - format source (do tabs)
+ - open Recent (files)
+ - Vocab Authoring Assistant (term reuse)
+ - point it to proposed vocab in Current graph
+ - give it an empty New graph
+ - point it to known candidate vocabs - call them Existing
+ - ditto lov, sindice etc.
+ - for each of your terms:
+ - offer similar terms from Existing (with full descriptions)
+ - need similarity measure - algorithms?
+ - offer options:
+ - sameAs term in Existing
+ - (replace)
+ - add advisory annotation to New
+ - (reference)
+ - add Current term, with sameAs Existing to New
+ - similar to existing
+ - creating statement in New involving term from Current, subClass | superClass / subProperty | superProperty Existing term
+ - copy relevant triples from Current to New
+ - genuinely new term
+ - copy relevant triples from Current to New
+ - (save New)
+ - check, if ok replace Current with New
+ - (later add doc generation tools - specgen or whatever)
+ - gnome-do style mode switcher
+ - better define modes - modeless UI!
+ - undo() - Command pattern
+ - evolve scratchpad into clipboard
+ - everything that goes on the system clipboard goes on the scratchpad
+ - gets minimized to icon
+ - mouseover to show contents, click to copy to clipboard
+ - make Help editable
+- Revisit Later
+ - Tokens
+ - http://dannyayers.com/stuff/token-thing/source.html
+ - icon on a page is a token : ■
+ - you can drag that token to the bookmarks bar
+ - (it's actually a link or script)
+ - empty box on a page is a token receiver : □
+ - you can drag a token from the bookmarks bar into the receiver
+ - (it's actually an <input> field)
+ - what to pass across?
+ - form associated with the token that you fill in
+ - when you pass the token along, it passes the data from the form fields
+ - http://en.wikipedia.org/wiki/Geometric_Shapes
+ - http://en.wikipedia.org/wiki/Information_card
+ -
+- Interstices
+ - make model
+ - crawler for seeding images?
+ - sliders UI
+ - Mechanical Turk for seeding data?
+ -
+- "How Should the Web Work?"
+ - open a browser, start typing
+ - modes stuff?
+ - why do I go to gmail.com when I want to see things related to danny.ayers@gmail.com?
+- Modules
+ - make pipelines a la beeps
+ - http://www.snee.com/bobdc.blog/2012/02/pull-rdf-metadata-out-of-jpegs.html
+ - http://apigee.com/about/products/free API toolkit
+- Principle - ??
+ - what's shown on blog is determined by a SPARQL query (+?)
+ - as the query is changed, what's shown changes in real time
+ - // and apply to layout
+ - which components are visible?
+- App Ideas
+ - Local server
+ - server-side component acts as proxy
+ - when disconnect, server offers cached
+ - analyze coverage of existing apps (a la Interstices)
+ - Idea Capture!
+ - include prj:helps etc
+ - Where are you?
+ - situated agents http://en.wikipedia.org/wiki/Situated
+ - agents a bit like tamagotchi
+ - quasi MOO
+ - rooms a la MUD
+ - like library rooms
+ - like IRC but associated with web resources
+ - when you are in a particular room, you can talk to others in that room
+ - MyRooms?
+ - post link bookmarklet a la del.icio.us
+ - background link follower/crawler
+ - notify when two people are nearby
+ - Link Aggregator
+ - http://www.linkrdr.com/links/add_feed/
+ - add subscription list : OPML/twitter/whatever
+ - accumulate contained links
+ - Listy Thing
+ - http://plcmcl2-things.blogspot.com/ 23 things
+ - http://danja.tiddlyspace.com/
+ - http://notebookjs.me/#
+ - auto-comparison of items in different lists based on text search (like a two-way search)
+ - allow symlinking across: sameAs/seeAlso (actualy sameTopicAs, dc:related?)
+ - Web Presentation : pages are slides
+ - preset
+ - put focus of a page on the link to next slide
+ - pre-recorded sequence of URLs (each a "slide")
+ - can record audio+cues to run
+ - Clonable
+ - http://www.clonestop.com/
+ - http://www.scriptcopy.com/
+ - StackOverflow clone
+ - https://github.com/anantgarg/Qwench
+ - quasi-REST auth: http://stackoverflow.com/questions/319530/restful-authentication
+ - Copy, Transform, Combine (remix vid)
+ - Pinterest, not just pictures
+ - https://pinboard.in/
+ - "Story Behind"/ find sources
+ - take a piece like: http://online.wsj.com/article/SB10001424052970203646004577213010291701378.html
+ - find the papers
+ - possibly;
+ - http://www.brainmusic.org/MBB91%20Webpage/Sloboda_1991.pdf
+ - http://psy2.ucsd.edu/~vjkpublications/pdf/2010%20The%20influence%20of%20affect%20on%20music%20choice%20Ch.25,%20H-book%20of%20M-E.pdf
+ - http://www.getcited.org/pub/102502981
+ - Why Wasn't I Consulted
+ - http://www.ftrain.com/wwic.html
+ - Least Interesting People
+ - along the lines of Facebook recommendations, but who you should unsubscribe from
+ - I did X because of Y
+ - e.g. I learnt how to use SPARQL because of <this post>
+ - Hearing test
+ - https://plus.google.com/u/0/112609322932428633493/posts/NKcC8DKoyHb
+ - https://piazza.com/
+ - Big Plans
+ - Personal Web Server Proxy service
+ - Algorithm repository
+ - lazyweb
+- ShareJS
+ - http://sharejs.org/
+ - http://lifehacker.com/5899346/co+meeting-is-google-wave+inspired-group-collaboration-tool
+ - remote pair programming
+ - Collaborative Comments :
+ - blog sidebar
+ - live edit
+ - freeze button (with auth) - adds as comment
+ - Wiki
+ - Shared Lists
+ - on JSON objects? Turtle?
+ - http://plcmcl2-things.blogspot.com/
+ - http://the23thingsproject.pbworks.com/w/page/20848476/FrontPage
+ - 22 Design an Application
+ - see also
+ - http://flowingdata.com/2012/03/19/live-coding-implemented/
+ - http://ace.ajax.org/
+ - http://gabrielflor.it/
+- Daily
+ - 1/2 hr sites
+ - 1/2 hr reading
+- Blog
+ - http://marshallk.com/add-one-line-to-your-blog-or-twitter-could-become-your-primary-identity
+ - mode switch: skimming/reading
+ - ACK button (a la Like, +1)
+ - http://www.addthis.com/features#.T2chE4xSQ-o
+ - pinterest buttons
+ - http://sharethis.com/
+ - normal | mobile version | navigation page | data | flesh version
+ - next/previous
+ - add left sidebar
+ - improve font, see http://www.tbray.org/ongoing/misc/Colophon
+ - link to Web Beep (My Projects)
+ - Web Beep for this post (next to title)
+ - fix G+ button
+ - fix archives
+ - http://labs.mondeca.com/sparqlEndpointsStatus/index.html
+ - Google Ads, analytics *everywhere*
+ - comments!!!
+ - add hit count property?
+ - add word count property
+ - wtf to do with http://hyperdata.org/microblog/
+ - "Buy Me a Coffee" - see
+ - VoID
+ - Red Pill/Green Pill
+ - http://aksw.org/Projects/RDFaCE
+ - oEmbed (for twitter)
+ - http://tinyurl.com/89g24gr
+- Sites
+ - Get everything nicely organised and linked
+ - add discrete adverts & analytics
+ - add RDF for everything - especially images, mp3 & vids
+ - microdata/RDFa on index pages (at least)
+ - templater?
+ - integrate with blog data
+ -
+ - Stuff
+ - Woodcarving
+ - Jigs
+ - Knifes
+ - Tips
+ - Misc
+ - stone carving & paintings
+ - Tech
+- XMLNS
+ - creative 404s
+ - vocab wiki
+ - VoID
+- General
+ - Mailing List
+ - add links
+ - github pages
+ - blog
+ - etc.
+ - fix danny.ayers.name
+ - Position Statement
+ - FOAF
+ - dating page
+ - G+ pages for all domains & projects
+- Jottings
+ - Cloud = commodification of infrastructure (but - p@ : RaisetheUnitofcurrencytobeapplication&servicesinsteadofinfrastructure
+ -
+- Creative Writing
+ - http://www.ted.com/talks/andrew_stanton_the_clues_to_a_great_story.html
+ - http://www.katsommers.com/projects/how-not-to-write-a-novel/
+- Plan A
+ - one person takes each app to MVP
+ - Golden Rules
+ - incremental improvements must always be possible
+ - when switching work activity, leave things so they can be restarted without effort
+
View
35 www/miniform.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Seki Post Form</title>
+ <style type="text/css">
+ label {float:left; clear:left; width:12em; margin:0em 1em; text-align:right;}
+ input, textarea {margin:0.5em 0em; margin-left:13em; display:block; }
+ </style>
+ </head>
+ <body>
+<h1>Seki Post Form</h1>
+<p>
+<form action="/post" method="post">
+
+<input type="hidden" value="bookmark" name="type" />
+
+ <label for="uri">Item URI</label>
+ <input type="text" name="uri" id="uri" />
+
+ <label for="title">Title</label>
+ <input type="text" name="title" id="title" />
+
+ <label for="nick">By</label>
+ <input type="text" name="nick" id="nick" />
+
+ <label for="content">Content</label>
+
+ <textarea name="content" id="content" rows="2" cols="20"></textarea>
+
+ <input type="submit" value="Submit" />
+</form>
+</p>
+</body>
+</html>

0 comments on commit cdc2775

Please sign in to comment.
Something went wrong with that request. Please try again.