{"action":"created","issue":{"url":"https://api.github.com/repos/dhlab-basel/Knora/issues/166","repository_url":"https://api.github.com/repos/dhlab-basel/Knora","labels_url":"https://api.github.com/repos/dhlab-basel/Knora/issues/166/labels{/name}","comments_url":"https://api.github.com/repos/dhlab-basel/Knora/issues/166/comments","events_url":"https://api.github.com/repos/dhlab-basel/Knora/issues/166/events","html_url":"https://github.com/dhlab-basel/Knora/pull/166","id":158889129,"number":166,"title":"New standoff design","user":{"login":"benjamingeer","id":558389,"avatar_url":"https://avatars.githubusercontent.com/u/558389?v=3","gravatar_id":"","url":"https://api.github.com/users/benjamingeer","html_url":"https://github.com/benjamingeer","followers_url":"https://api.github.com/users/benjamingeer/followers","following_url":"https://api.github.com/users/benjamingeer/following{/other_user}","gists_url":"https://api.github.com/users/benjamingeer/gists{/gist_id}","starred_url":"https://api.github.com/users/benjamingeer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjamingeer/subscriptions","organizations_url":"https://api.github.com/users/benjamingeer/orgs","repos_url":"https://api.github.com/users/benjamingeer/repos","events_url":"https://api.github.com/users/benjamingeer/events{/privacy}","received_events_url":"https://api.github.com/users/benjamingeer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"tobiasschweizer","id":6000023,"avatar_url":"https://avatars.githubusercontent.com/u/6000023?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasschweizer","html_url":"https://github.com/tobiasschweizer","followers_url":"https://api.github.com/users/tobiasschweizer/followers","following_url":"https://api.github.com/users/tobiasschweizer/following{/other_user}","gists_url":"https://api.github.com/users/tobiasschweizer/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasschweizer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasschweizer/subscriptions","organizations_url":"https://api.github.com/users/tobiasschweizer/orgs","repos_url":"https://api.github.com/users/tobiasschweizer/repos","events_url":"https://api.github.com/users/tobiasschweizer/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasschweizer/received_events","type":"User","site_admin":false},"assignees":[{"login":"tobiasschweizer","id":6000023,"avatar_url":"https://avatars.githubusercontent.com/u/6000023?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasschweizer","html_url":"https://github.com/tobiasschweizer","followers_url":"https://api.github.com/users/tobiasschweizer/followers","following_url":"https://api.github.com/users/tobiasschweizer/following{/other_user}","gists_url":"https://api.github.com/users/tobiasschweizer/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasschweizer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasschweizer/subscriptions","organizations_url":"https://api.github.com/users/tobiasschweizer/orgs","repos_url":"https://api.github.com/users/tobiasschweizer/repos","events_url":"https://api.github.com/users/tobiasschweizer/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasschweizer/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-06-07T10:24:51Z","updated_at":"2016-07-20T13:12:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dhlab-basel/Knora/pulls/166","html_url":"https://github.com/dhlab-basel/Knora/pull/166","diff_url":"https://github.com/dhlab-basel/Knora/pull/166.diff","patch_url":"https://github.com/dhlab-basel/Knora/pull/166.patch"},"body":"This pull request is for the implementation of the new standoff design taking shape in #101.\r\n\r\nWhat's done so far:\r\n\r\n* `StandoffUtil` converts from XML to standoff and back, using its own data structures, without doing anything with RDF.\r\n  * Includes support for non-hierarchical [CLIX](http://conferences.idealliance.org/extreme/html/2004/DeRose01/EML2004DeRose01.html#t6) markup.\r\n\r\nWhat needs to be done:\r\n\r\n* Refactor the knora-base ontology as described [here](https://github.com/dhlab-basel/Knora/issues/101#issuecomment-219990173).\r\n  * Also allow a `TextValue` to share its string with another `TextValue`.\r\n* In `StandoffUtil`, implement a way of specifying a mapping between namespaced XML tags and attribute names and standoff RDF class and property names, and provide a default mapping that works for the current API.\r\n  * For non-hierarchical markup, in addition to CLIX, support XML milestones that can be terminated by a list of start or end tags specified in the mapping (e.g. syllable milestones that can be terminated by anything except the start or end of a word).\r\n* Change the case classes used in `StandoffUtil` so they store RDF class and property names rather than namespaced XML names.\r\n* Change the SPARQL for querying and updating standoff so it uses those case classes.\r\n  * When creating a `TextValue`, accept an optional `TextValue` IRI whose string can be shared.\r\n  * Add a route that accepts XML and a mapping, and creates a `TextValue` with standoff.\r\n  * Add a route that accepts a mapping and a `TextValue` IRI, and exports the `TextValue` as XML.\r\n* Tests.\r\n* Documentation.\r\n"},"comment":{"url":"https://api.github.com/repos/dhlab-basel/Knora/issues/comments/233944402","html_url":"https://github.com/dhlab-basel/Knora/pull/166#issuecomment-233944402","issue_url":"https://api.github.com/repos/dhlab-basel/Knora/issues/166","id":233944402,"user":{"login":"tobiasschweizer","id":6000023,"avatar_url":"https://avatars.githubusercontent.com/u/6000023?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasschweizer","html_url":"https://github.com/tobiasschweizer","followers_url":"https://api.github.com/users/tobiasschweizer/followers","following_url":"https://api.github.com/users/tobiasschweizer/following{/other_user}","gists_url":"https://api.github.com/users/tobiasschweizer/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasschweizer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasschweizer/subscriptions","organizations_url":"https://api.github.com/users/tobiasschweizer/orgs","repos_url":"https://api.github.com/users/tobiasschweizer/repos","events_url":"https://api.github.com/users/tobiasschweizer/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasschweizer/received_events","type":"User","site_admin":false},"created_at":"2016-07-20T13:12:19Z","updated_at":"2016-07-20T13:12:19Z","body":"TODO:\r\n- abstract out base types for value types (like a date) so they can be inherited be the type specific value objects (like DateValue) and a specific standoff tag (StandoffDateTag). "}}
{"actor":{"display_login":"tobiasschweizer"}}