{"action":"created","issue":{"url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/89","repository_url":"https://api.github.com/repos/rdfjs/representation-task-force","labels_url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/89/labels{/name}","comments_url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/89/comments","events_url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/89/events","html_url":"https://github.com/rdfjs/representation-task-force/issues/89","id":180069619,"number":89,"title":"Simplify canonical form for performance","user":{"login":"RubenVerborgh","id":675313,"avatar_url":"https://avatars.githubusercontent.com/u/675313?v=3","gravatar_id":"","url":"https://api.github.com/users/RubenVerborgh","html_url":"https://github.com/RubenVerborgh","followers_url":"https://api.github.com/users/RubenVerborgh/followers","following_url":"https://api.github.com/users/RubenVerborgh/following{/other_user}","gists_url":"https://api.github.com/users/RubenVerborgh/gists{/gist_id}","starred_url":"https://api.github.com/users/RubenVerborgh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RubenVerborgh/subscriptions","organizations_url":"https://api.github.com/users/RubenVerborgh/orgs","repos_url":"https://api.github.com/users/RubenVerborgh/repos","events_url":"https://api.github.com/users/RubenVerborgh/events{/privacy}","received_events_url":"https://api.github.com/users/RubenVerborgh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rdfjs/representation-task-force/labels/design","name":"design","color":"eb6420"},{"url":"https://api.github.com/repos/rdfjs/representation-task-force/labels/LowLevel%20API","name":"LowLevel API","color":"5319e7"},{"url":"https://api.github.com/repos/rdfjs/representation-task-force/labels/proposal","name":"proposal","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-09-29T14:45:05Z","updated_at":"2016-09-30T18:39:24Z","closed_at":null,"body":"The canonical form needs to be fast, because it is the unique key for each term. As such, it is the prime candidate for indexing etc., which is a very common task (triple stores, query engines).\r\n\r\nThe current canonical form requires escaping, which is horribly slow and brings the computation cost of `toCanonical` at log(n) with n the length of the value. (This can be cached, but then memory size doubles.)\r\n\r\nI propose a much more simple canonical form, for instance what I [am using here](https://github.com/RubenVerborgh/N3.js#triple-representation).\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/comments/250820846","html_url":"https://github.com/rdfjs/representation-task-force/issues/89#issuecomment-250820846","issue_url":"https://api.github.com/repos/rdfjs/representation-task-force/issues/89","id":250820846,"user":{"login":"elf-pavlik","id":876431,"avatar_url":"https://avatars.githubusercontent.com/u/876431?v=3","gravatar_id":"","url":"https://api.github.com/users/elf-pavlik","html_url":"https://github.com/elf-pavlik","followers_url":"https://api.github.com/users/elf-pavlik/followers","following_url":"https://api.github.com/users/elf-pavlik/following{/other_user}","gists_url":"https://api.github.com/users/elf-pavlik/gists{/gist_id}","starred_url":"https://api.github.com/users/elf-pavlik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elf-pavlik/subscriptions","organizations_url":"https://api.github.com/users/elf-pavlik/orgs","repos_url":"https://api.github.com/users/elf-pavlik/repos","events_url":"https://api.github.com/users/elf-pavlik/events{/privacy}","received_events_url":"https://api.github.com/users/elf-pavlik/received_events","type":"User","site_admin":false},"created_at":"2016-09-30T18:39:24Z","updated_at":"2016-09-30T18:39:24Z","body":"> The current canonical form requires escaping, which is horribly slow and brings the computation cost of toCanonical at log(n) with n the length of the value.\r\n\r\n@RubenVerborgh could you possibly explain a bit more about this slow escaping? Does it only affect Literal or also other types of Term?"}}
{"actor":{"display_login":"elf-pavlik"}}