diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/assets/contexts/nexus/core/shacl20170720/context.json b/assets/contexts/nexus/core/shacl20170720/context.json deleted file mode 100644 index 74e465b0..00000000 --- a/assets/contexts/nexus/core/shacl20170720/context.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "@context": { - "owl": "http://www.w3.org/2002/07/owl#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "skos": "http://www.w3.org/2004/02/skos/core#", - "prov": "http://www.w3.org/ns/prov#", - "sh": "http://www.w3.org/ns/shacl#", - "shsh": "http://www.w3.org/ns/shacl-shacl#", - "dcterms": "http://purl.org/dc/terms/", - "schema": "http://schema.org/", - "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/", - "shext": "http://www.w3.org/ns/shacl/ext#", - "class": { - "@id": "sh:class", - "@type": "@id" - }, - "rootClass": { - "@id": "shext:rootClass", - "@type": "@id" - }, - "path": { - "@id": "sh:path", - "@type": "@id" - }, - "qualifiedValueShape": { - "@id": "sh:qualifiedValueShape", - "@type": "@id" - }, - "qualifiedValueShapesDisjoint": { - "@id": "sh:qualifiedValueShapesDisjoint", - "@type": "xsd:boolean" - }, - "qualifiedMinCount": { - "@id": "sh:qualifiedMinCount", - "@type": "xsd:integer" - }, - "qualifiedMaxCount": { - "@id": "sh:qualifiedMaxCount", - "@type": "xsd:integer" - }, - "maxCount": { - "@id": "sh:maxCount", - "@type": "xsd:integer" - }, - "minCount": { - "@id": "sh:minCount", - "@type": "xsd:integer" - }, - "minInclusive": { - "@id": "sh:minInclusive" - }, - "maxInclusive": { - "@id": "sh:maxInclusive" - }, - "maxExclusive": { - "@id": "sh:maxExclusive" - }, - "minExclusive": { - "@id": "sh:minExclusive" - }, - "in": { - "@id": "sh:in", - "@container": "@list" - }, - "imports": { - "@id": "owl:imports", - "@type": "@id", - "@container": "@set" - }, - "datatype": { - "@id": "sh:datatype", - "@type": "@id" - }, - "description": { - "@id": "sh:description" - }, - "name": { - "@id": "sh:name" - }, - "severity": { - "@id": "sh:severity" - }, - "nodeKind": { - "@id": "sh:nodeKind", - "@type": "@id" - }, - "BlankNode": { - "@id": "sh:BlankNode" - }, - "BlankNodeOrIRI": { - "@id": "sh:BlankNodeOrIRI" - }, - "BlankNodeOrLiteral": { - "@id": "sh:BlankNodeOrLiteral" - }, - "IRI": { - "@id": "sh:IRI" - }, - "IRIOrLiteral": { - "@id": "sh:IRIOrLiteral" - }, - "Literal": { - "@id": "sh:Literal" - }, - "prefix": { - "@id": "sh:prefix", - "@type": "xsd:string" - }, - "declare": { - "@id": "sh:declare" - }, - "namespace": { - "@id": "sh:namespace", - "@type": "xsd:anyURI" - }, - "Violation": { - "@id": "sh:Violation" - }, - "suggestedShapesGraph": { - "@id": "sh:suggestedShapesGraph", - "@type": "@id" - }, - "shapesGraph": { - "@id": "sh:shapesGraph", - "@type": "@id" - }, - "node": { - "@id": "sh:node", - "@type": "@id" - }, - "property": { - "@id": "sh:property", - "@type": "@id", - "@container": "@set" - }, - "targetClass": { - "@id": "sh:targetClass", - "@type": "@id" - }, - "targetObjectsOf": { - "@id": "sh:targetObjectsOf", - "@type": "@id" - }, - "targetSubjectsOf": { - "@id": "sh:targetSubjectsOf", - "@type": "@id" - }, - "targetNode": { - "@id": "sh:targetNode", - "@type": "@id" - }, - "target": { - "@id": "sh:target", - "@type": "@id" - }, - "isDefinedBy": { - "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", - "@type": "@id" - }, - "shapes": { - "@reverse": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", - "@type": "@id", - "@container": "@set" - }, - "Shape": { - "@id": "sh:Shape" - }, - "NodeShape": { - "@id": "sh:NodeShape" - }, - "PropertyShape": { - "@id": "sh:PropertyShape" - }, - "or": { - "@id": "sh:or", - "@type": "@id", - "@container": "@list" - }, - "and": { - "@id": "sh:and", - "@type": "@id", - "@container": "@list" - }, - "xone": { - "@id": "sh:xone", - "@type": "@id", - "@container": "@list" - }, - "not": { - "@id": "sh:not", - "@type": "@id", - "@container": "@list" - }, - "lessThan": { - "@id": "sh:lessThan", - "@type": "@id" - }, - "hasValue": { - "@id": "sh:hasValue" - }, - "resultMessage": { - "@id": "sh:message" - }, - "deactivated": { - "@id": "sh:deactivated" - }, - "pattern": { - "@id": "sh:pattern" - }, - "label": { - "@id": "rdfs:label", - "@type": "xsd:string" - }, - "comment": { - "@id": "rdfs:comment", - "@type": "xsd:string" - }, - "editorialNote": { - "@id": "skos:editorialNote", - "@type": "xsd:string" - }, - "seeAlso": { - "@id": "rdfs:seeAlso", - "@type": "@id" - } - } -} \ No newline at end of file diff --git a/assets/contexts/nexus/core/shacl20170720/prefixmapings.html b/assets/contexts/nexus/core/shacl20170720/prefixmapings.html deleted file mode 100644 index 39e198ed..00000000 --- a/assets/contexts/nexus/core/shacl20170720/prefixmapings.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
-
-
-
-
-
- - -
-
-
- -
-
- - -
- - - - - - - - diff --git a/assets/contexts/nexus/core/shacl20170720/v0.1.0.json b/assets/contexts/nexus/core/shacl20170720/v0.1.0.json deleted file mode 100644 index 2aef7ec8..00000000 --- a/assets/contexts/nexus/core/shacl20170720/v0.1.0.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "@context": [ - { - "owl": "http://www.w3.org/2002/07/owl#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "skos": "http://www.w3.org/2004/02/skos/core#", - "prov": "http://www.w3.org/ns/prov#", - "sh": "http://www.w3.org/ns/shacl#", - "shsh": "http://www.w3.org/ns/shacl-shacl#", - "dcterms": "http://purl.org/dc/terms/", - "schema": "http://schema.org/", - "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/", - "nsg": "https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/", - "class": { - "@id": "sh:class", - "@type": "@id" - }, - "path": { - "@id": "sh:path", - "@type": "@id" - }, - "qualifiedValueShape": { - "@id": "sh:qualifiedValueShape", - "@type": "@id" - }, - "qualifiedValueShapesDisjoint": { - "@id": "sh:qualifiedValueShapesDisjoint", - "@type": "xsd:boolean" - }, - "qualifiedMinCount": { - "@id": "sh:qualifiedMinCount", - "@type": "xsd:integer" - }, - "qualifiedMaxCount": { - "@id": "sh:qualifiedMaxCount", - "@type": "xsd:integer" - }, - "maxCount": { - "@id": "sh:maxCount", - "@type": "xsd:integer" - }, - "minCount": { - "@id": "sh:minCount", - "@type": "xsd:integer" - }, - "minInclusive": { - "@id": "sh:minInclusive" - }, - "maxInclusive": { - "@id": "sh:maxInclusive" - }, - "maxExclusive": { - "@id": "sh:maxExclusive" - }, - "minExclusive": { - "@id": "sh:minExclusive" - }, - "in": { - "@id": "sh:in", - "@container": "@list" - }, - "imports": { - "@id": "owl:imports", - "@type": "@id", - "@container": "@set" - }, - "datatype": { - "@id": "sh:datatype", - "@type": "@id" - }, - "description": { - "@id": "sh:description" - }, - "name": { - "@id": "sh:name" - }, - "severity": { - "@id": "sh:severity" - }, - "nodeKind": { - "@id": "sh:nodeKind", - "@type": "@id" - }, - "BlankNode": { - "@id": "sh:BlankNode" - }, - "BlankNodeOrIRI": { - "@id": "sh:BlankNodeOrIRI" - }, - "BlankNodeOrLiteral": { - "@id": "sh:BlankNodeOrLiteral" - }, - "IRI": { - "@id": "sh:IRI" - }, - "IRIOrLiteral": { - "@id": "sh:IRIOrLiteral" - }, - "Literal": { - "@id": "sh:Literal" - }, - "prefix": { - "@id": "sh:prefix", - "@type": "xsd:string" - }, - "declare": { - "@id": "sh:declare" - }, - "namespace": { - "@id": "sh:namespace", - "@type": "xsd:anyURI" - }, - "Violation": { - "@id": "sh:Violation" - }, - "suggestedShapesGraph": { - "@id": "sh:suggestedShapesGraph", - "@type": "@id" - }, - "shapesGraph": { - "@id": "sh:shapesGraph", - "@type": "@id" - }, - "node": { - "@id": "sh:node", - "@type": "@id" - }, - "property": { - "@id": "sh:property", - "@type": "@id", - "@container": "@set" - }, - "targetClass": { - "@id": "sh:targetClass", - "@type": "@id" - }, - "targetObjectsOf": { - "@id": "sh:targetObjectsOf", - "@type": "@id" - }, - "targetSubjectsOf": { - "@id": "sh:targetSubjectsOf", - "@type": "@id" - }, - "targetNode": { - "@id": "sh:targetNode", - "@type": "@id" - }, - "target": { - "@id": "sh:target", - "@type": "@id" - }, - "isDefinedBy": { - "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", - "@type": "@id" - }, - "shapes": { - "@reverse": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", - "@type": "@id", - "@container": "@set" - }, - "Shape": { - "@id": "sh:Shape" - }, - "NodeShape": { - "@id": "sh:NodeShape" - }, - "PropertyShape": { - "@id": "sh:PropertyShape" - }, - "or": { - "@id": "sh:or", - "@type": "@id", - "@container": "@list" - }, - "and": { - "@id": "sh:and", - "@type": "@id", - "@container": "@list" - }, - "xone": { - "@id": "sh:xone", - "@type": "@id", - "@container": "@list" - }, - "not": { - "@id": "sh:not", - "@type": "@id", - "@container": "@list" - }, - "lessThan": { - "@id": "sh:lessThan", - "@type": "@id" - }, - "hasValue": { - "@id": "sh:hasValue" - }, - "resultMessage": { - "@id": "sh:message" - }, - "deactivated": { - "@id": "sh:deactivated" - }, - "pattern": { - "@id": "sh:pattern" - }, - "label": { - "@id": "rdfs:label", - "@type": "xsd:string" - }, - "comment": { - "@id": "rdfs:comment", - "@type": "xsd:string" - }, - "editorialNote": { - "@id": "skos:editorialNote", - "@type": "xsd:string" - }, - "seeAlso": { - "@id": "rdfs:seeAlso", - "@type": "@id" - } - } - ] -} \ No newline at end of file diff --git a/assets/datamodelling/modelling.svg b/assets/datamodelling/modelling.svg deleted file mode 100644 index 824d6f23..00000000 --- a/assets/datamodelling/modelling.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
{
  "@context":"{base}/bbp/core/neurosciencegraph/v0.1.0",
  "@type":"Subject",
  "species":"Rattus Norvegicus",
  "age":"Post-natal 11"
}
[Not supported by viewer]
Entity types: Subject
[Not supported by viewer]
Taxonomy
Vocabulary
[Not supported by viewer]
Entity properties: species, age
<font face="Courier New" style="font-size: 12px">Entity properties: species, age</font>
What are the entities we care about ?
<font face="Courier New" style="font-size: 14px"><b>What are the entities we care about ?</b></font>
Constraints: - allowed properties
             - allowed types for 
               property values
             - property values 
               cardinality 
[Not supported by viewer]
Schema
[Not supported by viewer]


Schema
(SHACL)
[Not supported by viewer]
Description
(JSON-LD)
[Not supported by viewer]
{
   "@context":[
       "{{basecontexts}}/nexus/core/shacl20170720/v0.1.0",
       "{{basecontexts}}/bbp/core/neurosciencegraph/v0.1.0"
   ],
   "@type":"Shape",
  "targetClass":"Subject",
    "property":[{
      "path":"species",
         "datatype":"xsd:string",
       "minCount":1,
   }, {
       "path":"age",
       "datatype":"xsd:string"
   }]
}
[Not supported by viewer]
How to describe them ?
[Not supported by viewer]
constrains the description 
of an entity
[Not supported by viewer]
hasValuesDefinedIn
[Not supported by viewer]
Ontology
(NCBI Taxonomy)
[Not supported by viewer]
What are the entities
of interest in 
an organization ?
[Not supported by viewer]
How are they 
structured ?
[Not supported by viewer]
How to describe
and relate them ?
[Not supported by viewer]
How to know that their
descriptions are valid and
 conform to expectations ?
[Not supported by viewer]
\ No newline at end of file diff --git a/assets/images/circuit_1instance_target.svg b/assets/images/circuit_1instance_target.svg deleted file mode 100644 index 2b4130a1..00000000 --- a/assets/images/circuit_1instance_target.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
@type
[Not supported by viewer]
bbp:Circuit
[Not supported by viewer]
bbp:Circuit_1
[Not supported by viewer]
bbp:Circuit_2
[Not supported by viewer]
bbp:Entity
[Not supported by viewer]
bbp:SynthesisRelease
[Not supported by viewer]
@type
[Not supported by viewer]
isa
[Not supported by viewer]
isa
[Not supported by viewer]
\ No newline at end of file diff --git a/assets/images/favicon.png b/assets/images/favicon.png deleted file mode 100644 index 23ccc2ba..00000000 Binary files a/assets/images/favicon.png and /dev/null differ diff --git a/assets/images/spo.svg b/assets/images/spo.svg deleted file mode 100644 index b2da7cb8..00000000 --- a/assets/images/spo.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
predicate
[Not supported by viewer]
subject
[Not supported by viewer]
object
[Not supported by viewer]
\ No newline at end of file diff --git a/assets/interactive.html b/assets/interactive.html deleted file mode 100644 index 4e4a138d..00000000 --- a/assets/interactive.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - Title - - - - -
- - \ No newline at end of file diff --git a/assets/javascripts/application-268d62d82d.js b/assets/javascripts/application-268d62d82d.js deleted file mode 100644 index fde3b02b..00000000 --- a/assets/javascripts/application-268d62d82d.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - Material for MkDocs - Copyright (c) 2016-2017 Martin Donath - License: MIT -*/ -window.app=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=35)}([function(e,t,n){"use strict";var r=n(23)("wks"),i=n(14),o=n(1).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(e,t,n){"use strict";var r=n(10),i=n(25);e.exports=n(5)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(6),a=n(14)("src"),s=Function.toString,c=(""+s).split("toString");n(7).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var u="function"==typeof n;u&&(o(n,"name")||i(n,"name",t)),e[t]!==n&&(u&&(o(n,a)||i(n,a,e[t]?""+e[t]:c.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(e,t,n){"use strict";e.exports=!n(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,n){"use strict";var r=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(3),i=n(38),o=n(39),a=Object.defineProperty;t.f=n(5)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=function(e){return"object"===(void 0===e?"undefined":r(e))?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var r=n(18);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var r=n(9),i=n(0)("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(s=r(t))&&"function"==typeof t.callee?"Arguments":s}},function(e,t,n){"use strict";var r=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+i).toString(36))}},function(e,t,n){"use strict";var r=n(11),i=n(1).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){"use strict";var r=Math.ceil,i=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?i:r)(e)}},function(e,t,n){"use strict";e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var r=n(47),i=n(17);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(23)("keys"),i=n(14);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){"use strict";var r=n(10).f,i=n(6),o=n(0)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={createElement:function(e,t){var n=document.createElement(e);t&&Array.prototype.forEach.call(Object.keys(t),function(e){n.setAttribute(e,t[e])});for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o0?i(r(e),9007199254740991):0}},function(e,t,n){"use strict";e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){"use strict";e.exports=n(1).document&&document.documentElement},function(e,t,n){"use strict";var r,i,o,a=n(12),s=n(63),c=n(31),u=n(15),l=n(1),f=l.process,h=l.setImmediate,d=l.clearImmediate,p=l.MessageChannel,m=0,y={},v=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},g=function(e){v.call(e.data)};h&&d||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++m]=function(){s("function"==typeof e?e:Function(e),t)},r(m),m},d=function(e){delete y[e]},"process"==n(9)(f)?r=function(e){f.nextTick(a(v,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=g,r=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",g,!1)):r="onreadystatechange"in u("script")?function(e){c.appendChild(u("script")).onreadystatechange=function(){c.removeChild(this),v.call(e)}}:function(e){setTimeout(a(v,e,1),0)}),e.exports={set:h,clear:d}},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";var r=n(16),i=n(17);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),c=r(n),u=s.length;return c<0||c>=u?e?"":void 0:(o=s.charCodeAt(c),o<55296||o>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?e?s.charAt(c):o:e?s.slice(c,c+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){"use strict";var r=n(43),i=n(25),o=n(21),a={};n(2)(a,n(0)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t,n){"use strict";var r=n(3),i=n(44),o=n(30),a=n(20)("IE_PROTO"),s=function(){},c=function(){var e,t=n(15)("iframe"),r=o.length;for(t.style.display="none",n(31).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(" - - - - - - - - - - - - - - -
- -
- -
-
-
-
-
-
- - -
-
-
-
-
-
-

Provenance Templates

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/assets/provtemplates/atlas-registration-prov-template.svg b/assets/provtemplates/atlas-registration-prov-template.svg deleted file mode 100644 index 858890ed..00000000 --- a/assets/provtemplates/atlas-registration-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
used
[Not supported by viewer]
generated
[Not supported by viewer]
hadMember
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
wasAssociatedWith
[Not supported by viewer]
isRegisteredIn
[Not supported by viewer]
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
SubjectCollection
SubjectCollection
TemplateImageData
TemplateImageData
ParcellationImageData
ParcellationImageData
ParcellationLabel
ParcellationLabel
TemplateVolume
TemplateVolume
AtlasRelease
AtlasRelease
AtlasSpatial
ReferenceSystem
AtlasSpatial<div>ReferenceSystem</div>
ParcellationOntology
ParcellationOntology
ParcellationVolume
ParcellationVolume
OntologyConversion
OntologyConversion
AtlasConstruction
AtlasConstruction
Parcellation
Reconstruction
[Not supported by viewer]
Template
Reconstruction
Template<div>Reconstruction</div>
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
dashed lines: optional
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
parcellationOntology
parcellationOntology
parcellationVolume
parcellationVolume
atlasSpatialReferenceSystem
atlasSpatialReferenceSystem
templateVolume
[Not supported by viewer]
\ No newline at end of file diff --git a/assets/provtemplates/hbphackathon-e-feature-extraction.png b/assets/provtemplates/hbphackathon-e-feature-extraction.png deleted file mode 100644 index 764e9765..00000000 Binary files a/assets/provtemplates/hbphackathon-e-feature-extraction.png and /dev/null differ diff --git a/assets/provtemplates/hbphackathon-emodel-building.png b/assets/provtemplates/hbphackathon-emodel-building.png deleted file mode 100644 index ad181d5b..00000000 Binary files a/assets/provtemplates/hbphackathon-emodel-building.png and /dev/null differ diff --git a/assets/provtemplates/hbphackathon-morphology-release.png b/assets/provtemplates/hbphackathon-morphology-release.png deleted file mode 100644 index 78cb2fdd..00000000 Binary files a/assets/provtemplates/hbphackathon-morphology-release.png and /dev/null differ diff --git a/assets/provtemplates/hbphackathon-simulation.png b/assets/provtemplates/hbphackathon-simulation.png deleted file mode 100644 index 2ce55e48..00000000 Binary files a/assets/provtemplates/hbphackathon-simulation.png and /dev/null differ diff --git a/assets/provtemplates/hbphackathon-validation.png b/assets/provtemplates/hbphackathon-validation.png deleted file mode 100644 index 895ca1c1..00000000 Binary files a/assets/provtemplates/hbphackathon-validation.png and /dev/null differ diff --git a/assets/provtemplates/imagestack-atlasspace-prov-template.svg b/assets/provtemplates/imagestack-atlasspace-prov-template.svg deleted file mode 100644 index 9acf2a8a..00000000 --- a/assets/provtemplates/imagestack-atlasspace-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
used
[Not supported by viewer]
generated
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
isRegisteredIn
[Not supported by viewer]
Transformation
Transformation<br>
ImageStack
ImageStack
AlignedImage
Stack
AlignedImage<div>Stack</div>
Agent 
Agent
Agent
AtlasSpatial
ReferenceSystem
AtlasSpatial<div>ReferenceSystem</div>
wasAssociatedWith
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
Protocol
Protocol
Transform
Transform
\ No newline at end of file diff --git a/assets/provtemplates/morphology-reconstruction-prov-template.svg b/assets/provtemplates/morphology-reconstruction-prov-template.svg deleted file mode 100644 index 6b35966c..00000000 --- a/assets/provtemplates/morphology-reconstruction-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
used
[Not supported by viewer]
generated
[Not supported by viewer]
wasRevisionOf
[Not supported by viewer]
hasPart
[Not supported by viewer]
hadMember
[Not supported by viewer]
one or many
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
wasAssociatedWith
[Not supported by viewer]
BrainSlicing
BrainSlicing
WholeCell
PatchClamp
[Not supported by viewer]
FixationStaining
Mounting
FixationStaining<div>Mounting</div>
Acquisition
Annotation
[Not supported by viewer]
Reconstruction
Reconstruction
Subject
Subject
Slice
Slice
PatchedSlice
PatchedSlice
FixedStained
Slice
FixedStained<div>Slice</div>
AnnotatedSlice
AnnotatedSlice<br>
LabeledCell
Collection
[Not supported by viewer]
PatchedCell
Collection
[Not supported by viewer]
PatchedCell
PatchedCell<br>
PatchedCell
PatchedCell<br>
LabeledCell
LabeledCell<br>
LabeledCell
LabeledCell<br>
ReconstructedCell
ReconstructedCell<br>
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
dashed lines: optional
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
\ No newline at end of file diff --git a/assets/provtemplates/neurontracing-from-imagestack-prov-template.svg b/assets/provtemplates/neurontracing-from-imagestack-prov-template.svg deleted file mode 100644 index 134dae5a..00000000 --- a/assets/provtemplates/neurontracing-from-imagestack-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
NeuronTracing
NeuronTracing<br>
ImageStack
ImageStack
ReconstructedCell
ReconstructedCell
Agent 
Agent
Agent
used
[Not supported by viewer]
generated
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
wasAssociatedWith
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
Protocol
Protocol
\ No newline at end of file diff --git a/assets/provtemplates/transform-morphology-atlas-space-prov-template.svg b/assets/provtemplates/transform-morphology-atlas-space-prov-template.svg deleted file mode 100644 index 1af1fe37..00000000 --- a/assets/provtemplates/transform-morphology-atlas-space-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
Image
Acquisition
[Not supported by viewer]
Reconstruction
Reconstruction<br>
Reconstruction
Correction
[Not supported by viewer]
Transformation
Transformation<br>
Subject
Subject
ImageStack
ImageStack
ReconstructedCell
ReconstructedCell
ReconstructedCell
ReconstructedCell
ReconstructedCell
ReconstructedCell<br>
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
AtlasSpatial
ReferenceSystem
AtlasSpatial<div>ReferenceSystem</div>
used
[Not supported by viewer]
generated
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
isRegisteredIn
[Not supported by viewer]
wasAssociatedWith
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
wasRevisionOf
[Not supported by viewer]
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
Transform
Transform
\ No newline at end of file diff --git a/assets/provtemplates/transform-subjectspace-atlas-space.svg b/assets/provtemplates/transform-subjectspace-atlas-space.svg deleted file mode 100644 index 9d3b16a2..00000000 --- a/assets/provtemplates/transform-subjectspace-atlas-space.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
used
[Not supported by viewer]
generated
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
isRegisteredIn
[Not supported by viewer]
wasAssociatedWith
[Not supported by viewer]
BrainImaging
BrainImaging<br>
ImageStack
PreProcessing
[Not supported by viewer]
Image
Registration
[Not supported by viewer]
Subject
Subject
ImageStack
ImageStack
PreProcessed
ImageStack
[Not supported by viewer]
Transform
Transform<br>
Agent 
Agent
Agent
Agent 
Agent
Agent
Agent 
Agent
Agent
SubjectSpace
SubjectSpace
Activity
Activity
Entity
Entity
Agent
Agent
Protocol
Protocol
Protocol
Protocol
Protocol
Protocol
AtlasRelease
AtlasRelease
\ No newline at end of file diff --git a/assets/provtemplates/wholecellpatchclamp-recording-prov-template.svg b/assets/provtemplates/wholecellpatchclamp-recording-prov-template.svg deleted file mode 100644 index 9a79e351..00000000 --- a/assets/provtemplates/wholecellpatchclamp-recording-prov-template.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
used
[Not supported by viewer]
generated
[Not supported by viewer]
wasGeneratedBy (can be inferred / asserted)
<span style="font-size: 14px">wasGeneratedBy (can be inferred / asserted)</span>
activity
[Not supported by viewer]
qualifiedGeneration
[Not supported by viewer]
hasPart
[Not supported by viewer]
hadMember
[Not supported by viewer]
one or many
[Not supported by viewer]
hadProtocol
[Not supported by viewer]
TraceGeneration
TraceGeneration
TraceGeneration
TraceGeneration
wasRevisionOf
[Not supported by viewer]
Subject
Subject
Protocol
Protocol
Protocol
Protocol
BrainSlicing
BrainSlicing
Slice
Slice
WholeCellPatchClamp
[Not supported by viewer]
PatchedSlice
PatchedSlice
PatchedCell
Collection
[Not supported by viewer]
PatchedCell
PatchedCell
Protocol
Protocol
StimulusExperiment
StimulusExperiment
StimulationTrace
StimulationTrace
StimulationTrace
StimulationTrace
ResponseTrace
ResponseTrace
ResponseTrace
ResponseTrace
Agent
Agent
Agent
Agent
Agent
Agent
wasAssociatedWith
[Not supported by viewer]
Activity
Activity
Entity
Entity
Agent
Agent
Generation
Generation
\ No newline at end of file diff --git a/assets/stylesheets/application-0741cbeb94.css b/assets/stylesheets/application-0741cbeb94.css deleted file mode 100644 index a5140e25..00000000 --- a/assets/stylesheets/application-0741cbeb94.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - Material for MkDocs - Copyright (c) 2016-2017 Martin Donath - License: MIT -*/ -@charset "UTF-8";html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:active,a:hover{outline-width:0}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:collapse;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{padding:0;background:transparent;font-size:inherit}button,input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition .admonition-title:before,.md-typeset .admonition summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details .admonition-title:before,.md-typeset details summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;speak:none;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.4rem;padding:.8rem;font-size:2.4rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}.md-icon--home:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);-webkit-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);-webkit-font-feature-settings:"kern";font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:1.6rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 4rem;color:rgba(0,0,0,.54);font-size:3.125rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:4rem 0 1.6rem;font-size:2.5rem;line-height:1.4}.md-typeset h3{margin:3.2rem 0 1.6rem;font-size:2rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:1.6rem}.md-typeset h4{font-size:1.6rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:1.6rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:1.28rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.1rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,93%,.5);color:#37474f;font-size:85%}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.2rem;box-shadow:.29412em 0 0 hsla(0,0%,93%,.5),-.29412em 0 0 hsla(0,0%,93%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:none;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.2rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:1.05rem 1.2rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:none;box-decoration-break:none;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.4rem;height:.4rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border:.1rem solid #c9c9c9;border-radius:.2rem;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .1rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.2rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.1rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}.md-typeset blockquote{padding-left:1.2rem;border-left:.4rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}.md-typeset dd{margin:1em 0 1em 1.875em}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.2rem;font-size:1.28rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}.md-typeset table:not([class]) th{min-width:10rem;padding:1.2rem 1.6rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:1.2rem 1.6rem;border-top:.1rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -1.6rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 1.6rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:62.5%}body,html{height:100%}body{position:relative}hr{display:block;height:.1rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:122rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:5.6rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:3rem;padding-bottom:.1rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@page{margin:25mm}.md-clipboard{position:absolute;top:.6rem;right:.6rem;width:2.8rem;height:2.8rem;border-radius:.2rem;font-size:1.6rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.54);content:"\E14D";opacity:.25}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{opacity:1}.md-clipboard:active:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:3.4rem;padding:.6rem 1rem;-webkit-transform:translateX(.8rem);transform:translateX(.8rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.2rem;background:rgba(0,0,0,.54);color:#fff;font-size:1.28rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.4rem;width:0;margin-top:-.4rem;border-width:.4rem 0 .4rem .4rem;border-style:solid;border-color:transparent rgba(0,0,0,.54);content:""}.md-content__inner{margin:0 1.6rem 2.4rem;padding-top:2.4rem}.md-content__inner:before{display:block;height:.8rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.8rem 0;padding-right:0;padding-left:0;float:right}html body .md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:5.6rem;-webkit-transition:background-color .25s;transition:background-color .25s;background-color:#3f51b5;color:#fff;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-header,.no-js .md-header{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.md-header-nav{padding:.4rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__title{padding:0 2rem;font-size:1.8rem;line-height:4.8rem}.md-header-nav__parent{color:hsla(0,0%,100%,.7)}.md-header-nav__parent:after{display:inline;color:hsla(0,0%,100%,.3);content:"/"}.md-header-nav__source{display:none}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.4rem;overflow:auto}.md-footer-nav__link{padding-top:2.8rem;padding-bottom:.8rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}.md-footer-nav__link--next{width:75%;float:right;text-align:right}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 2rem;font-size:1.8rem;line-height:4.8rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-2rem;padding:0 2rem;color:hsla(0,0%,100%,.7);font-size:1.5rem}.md-footer-meta{background:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.4rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}.md-footer-copyright{margin:0 1.2rem;padding:.8rem 0;color:hsla(0,0%,100%,.3);font-size:1.28rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .8rem;padding:.4rem 0 1.2rem}.md-footer-social__link{display:inline-block;width:3.2rem;height:3.2rem;font-size:1.6rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-footer-social__link:hover:before{color:#fff}.md-nav{font-size:1.4rem;line-height:1.3}.md-nav--secondary{-webkit-transition:border-left .25s;transition:border-left .25s;border-left:.4rem solid #3f51b5}.md-nav--secondary .md-nav__link--active{color:#3f51b5}.md-nav__title{display:block;padding:1.2rem 1.2rem 0;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 1.2rem}.md-nav__item:last-child{padding-bottom:1.2rem}.md-nav__item .md-nav__item{padding-right:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=toc],html .md-nav__link[for=toc]+.md-nav__link:after,html .md-nav__link[for=toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__inner{width:100%}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 4.8rem 0 7.2rem;text-overflow:ellipsis;z-index:2}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:2.4rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=search]{top:.8rem;left:1.2rem}.md-search__icon[for=search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.8rem;right:1.2rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .2rem .2rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#fff),to(hsla(0,0%,100%,0))),-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),color-stop(35%,rgba(0,0,0,.07)),color-stop(60%,transparent));background:linear-gradient(180deg,#fff 10%,hsla(0,0%,100%,0)),linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.07) 35%,transparent 60%);background-attachment:local,scroll;background-color:#fff;background-repeat:no-repeat;background-size:100% 2rem,100% 1rem;box-shadow:inset 0 .1rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 1.6rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:1.28rem;line-height:4rem}.md-search-result__list{margin:0;padding:0;border-top:.1rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.1rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:1.2rem}.md-search-result__article{position:relative;padding:0 1.6rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}.md-search-result__article--document .md-search-result__title{margin:1.3rem 0;font-size:1.6rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:1.28rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:3.3rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:1.28rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:24.2rem;padding:2.4rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:5.6rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .4rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.4rem;height:.4rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes a{0%{height:0}to{height:1.3rem}}@keyframes a{0%{height:0}to{height:1.3rem}}@-webkit-keyframes b{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes b{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:1.2rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:1.3rem;line-height:1.2;white-space:nowrap}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:4.8rem;content:"";vertical-align:middle}.md-source__icon{width:4.8rem}.md-source__icon svg{width:2.4rem;height:2.4rem;margin-top:1.2rem;margin-left:1.2rem}.md-source__icon+.md-source__repository{margin-left:-4.4rem;padding-left:4rem}.md-source__repository{display:inline-block;max-width:100%;margin-left:1.2rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:1.1rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:a .25s ease-in;animation:a .25s ease-in}.md-source__fact{float:left}[data-md-state=done] .md-source__fact{-webkit-animation:b .4s ease-out;animation:b .4s ease-out}.md-source__fact:before{margin:0 .2rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.5rem;border-radius:.2rem;background:rgba(0,0,0,.07);font-size:1.28rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.5rem;padding:.5rem;background:rgba(0,0,0,.26);color:#fff;font-size:1.6rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,-webkit-box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background:rgba(50,64,144,.9675);overflow:auto}.md-tabs__list{margin:0;margin-left:.4rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:4.8rem;padding-right:1.2rem;padding-left:1.2rem}.md-tabs__link{display:block;margin-top:1.6rem;-webkit-transition:color .25s,opacity .1s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:color .25s,opacity .1s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:color .25s,transform .4s cubic-bezier(.1,.7,.1,1),opacity .1s;transition:color .25s,transform .4s cubic-bezier(.1,.7,.1,1),opacity .1s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);color:hsla(0,0%,100%,.7);font-size:1.4rem}.md-tabs__link--active,.md-tabs__link:hover{color:#fff}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{background:#3f51b5;pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:1.2rem;border-left:.4rem solid #448aff;border-radius:.2rem;font-size:1.28rem}.md-typeset .admonition :first-child,.md-typeset details :first-child{margin-top:0}html .md-typeset .admonition :last-child,html .md-typeset details :last-child{margin-bottom:0}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition .admonition-title,.md-typeset .admonition summary,.md-typeset details .admonition-title,.md-typeset details summary{margin:-1.2rem -1.2rem 0;padding:.8rem 1.2rem .8rem 4rem;border-bottom:.1rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}.md-typeset .admonition .admonition-title:before,.md-typeset .admonition summary:before,.md-typeset details .admonition-title:before,.md-typeset details summary:before{position:absolute;left:1.2rem;color:#448aff;font-size:2rem;content:"\E3C9"}.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.summary,.md-typeset details.tldr{border-left:.4rem solid #00b0ff}.md-typeset .admonition.summary .admonition-title,.md-typeset .admonition.summary summary,.md-typeset .admonition.tldr .admonition-title,.md-typeset .admonition.tldr summary,.md-typeset details.summary .admonition-title,.md-typeset details.summary summary,.md-typeset details.tldr .admonition-title,.md-typeset details.tldr summary{border-bottom:.1rem solid rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.summary .admonition-title:before,.md-typeset .admonition.summary summary:before,.md-typeset .admonition.tldr .admonition-title:before,.md-typeset .admonition.tldr summary:before,.md-typeset details.summary .admonition-title:before,.md-typeset details.summary summary:before,.md-typeset details.tldr .admonition-title:before,.md-typeset details.tldr summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left:.4rem solid #00b8d4}.md-typeset .admonition.info .admonition-title,.md-typeset .admonition.info summary,.md-typeset .admonition.todo .admonition-title,.md-typeset .admonition.todo summary,.md-typeset details.info .admonition-title,.md-typeset details.info summary,.md-typeset details.todo .admonition-title,.md-typeset details.todo summary{border-bottom:.1rem solid rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info .admonition-title:before,.md-typeset .admonition.info summary:before,.md-typeset .admonition.todo .admonition-title:before,.md-typeset .admonition.todo summary:before,.md-typeset details.info .admonition-title:before,.md-typeset details.info summary:before,.md-typeset details.todo .admonition-title:before,.md-typeset details.todo summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left:.4rem solid #00bfa5}.md-typeset .admonition.hint .admonition-title,.md-typeset .admonition.hint summary,.md-typeset .admonition.important .admonition-title,.md-typeset .admonition.important summary,.md-typeset .admonition.tip .admonition-title,.md-typeset .admonition.tip summary,.md-typeset details.hint .admonition-title,.md-typeset details.hint summary,.md-typeset details.important .admonition-title,.md-typeset details.important summary,.md-typeset details.tip .admonition-title,.md-typeset details.tip summary{border-bottom:.1rem solid rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint .admonition-title:before,.md-typeset .admonition.hint summary:before,.md-typeset .admonition.important .admonition-title:before,.md-typeset .admonition.important summary:before,.md-typeset .admonition.tip .admonition-title:before,.md-typeset .admonition.tip summary:before,.md-typeset details.hint .admonition-title:before,.md-typeset details.hint summary:before,.md-typeset details.important .admonition-title:before,.md-typeset details.important summary:before,.md-typeset details.tip .admonition-title:before,.md-typeset details.tip summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left:.4rem solid #00c853}.md-typeset .admonition.check .admonition-title,.md-typeset .admonition.check summary,.md-typeset .admonition.done .admonition-title,.md-typeset .admonition.done summary,.md-typeset .admonition.success .admonition-title,.md-typeset .admonition.success summary,.md-typeset details.check .admonition-title,.md-typeset details.check summary,.md-typeset details.done .admonition-title,.md-typeset details.done summary,.md-typeset details.success .admonition-title,.md-typeset details.success summary{border-bottom:.1rem solid rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check .admonition-title:before,.md-typeset .admonition.check summary:before,.md-typeset .admonition.done .admonition-title:before,.md-typeset .admonition.done summary:before,.md-typeset .admonition.success .admonition-title:before,.md-typeset .admonition.success summary:before,.md-typeset details.check .admonition-title:before,.md-typeset details.check summary:before,.md-typeset details.done .admonition-title:before,.md-typeset details.done summary:before,.md-typeset details.success .admonition-title:before,.md-typeset details.success summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left:.4rem solid #64dd17}.md-typeset .admonition.faq .admonition-title,.md-typeset .admonition.faq summary,.md-typeset .admonition.help .admonition-title,.md-typeset .admonition.help summary,.md-typeset .admonition.question .admonition-title,.md-typeset .admonition.question summary,.md-typeset details.faq .admonition-title,.md-typeset details.faq summary,.md-typeset details.help .admonition-title,.md-typeset details.help summary,.md-typeset details.question .admonition-title,.md-typeset details.question summary{border-bottom:.1rem solid rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq .admonition-title:before,.md-typeset .admonition.faq summary:before,.md-typeset .admonition.help .admonition-title:before,.md-typeset .admonition.help summary:before,.md-typeset .admonition.question .admonition-title:before,.md-typeset .admonition.question summary:before,.md-typeset details.faq .admonition-title:before,.md-typeset details.faq summary:before,.md-typeset details.help .admonition-title:before,.md-typeset details.help summary:before,.md-typeset details.question .admonition-title:before,.md-typeset details.question summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left:.4rem solid #ff9100}.md-typeset .admonition.attention .admonition-title,.md-typeset .admonition.attention summary,.md-typeset .admonition.caution .admonition-title,.md-typeset .admonition.caution summary,.md-typeset .admonition.warning .admonition-title,.md-typeset .admonition.warning summary,.md-typeset details.attention .admonition-title,.md-typeset details.attention summary,.md-typeset details.caution .admonition-title,.md-typeset details.caution summary,.md-typeset details.warning .admonition-title,.md-typeset details.warning summary{border-bottom:.1rem solid rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention .admonition-title:before,.md-typeset .admonition.attention summary:before,.md-typeset .admonition.caution .admonition-title:before,.md-typeset .admonition.caution summary:before,.md-typeset .admonition.warning .admonition-title:before,.md-typeset .admonition.warning summary:before,.md-typeset details.attention .admonition-title:before,.md-typeset details.attention summary:before,.md-typeset details.caution .admonition-title:before,.md-typeset details.caution summary:before,.md-typeset details.warning .admonition-title:before,.md-typeset details.warning summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left:.4rem solid #ff5252}.md-typeset .admonition.fail .admonition-title,.md-typeset .admonition.fail summary,.md-typeset .admonition.failure .admonition-title,.md-typeset .admonition.failure summary,.md-typeset .admonition.missing .admonition-title,.md-typeset .admonition.missing summary,.md-typeset details.fail .admonition-title,.md-typeset details.fail summary,.md-typeset details.failure .admonition-title,.md-typeset details.failure summary,.md-typeset details.missing .admonition-title,.md-typeset details.missing summary{border-bottom:.1rem solid rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail .admonition-title:before,.md-typeset .admonition.fail summary:before,.md-typeset .admonition.failure .admonition-title:before,.md-typeset .admonition.failure summary:before,.md-typeset .admonition.missing .admonition-title:before,.md-typeset .admonition.missing summary:before,.md-typeset details.fail .admonition-title:before,.md-typeset details.fail summary:before,.md-typeset details.failure .admonition-title:before,.md-typeset details.failure summary:before,.md-typeset details.missing .admonition-title:before,.md-typeset details.missing summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left:.4rem solid #ff1744}.md-typeset .admonition.danger .admonition-title,.md-typeset .admonition.danger summary,.md-typeset .admonition.error .admonition-title,.md-typeset .admonition.error summary,.md-typeset details.danger .admonition-title,.md-typeset details.danger summary,.md-typeset details.error .admonition-title,.md-typeset details.error summary{border-bottom:.1rem solid rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger .admonition-title:before,.md-typeset .admonition.danger summary:before,.md-typeset .admonition.error .admonition-title:before,.md-typeset .admonition.error summary:before,.md-typeset details.danger .admonition-title:before,.md-typeset details.danger summary:before,.md-typeset details.error .admonition-title:before,.md-typeset details.error summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left:.4rem solid #f50057}.md-typeset .admonition.bug .admonition-title,.md-typeset .admonition.bug summary,.md-typeset details.bug .admonition-title,.md-typeset details.bug summary{border-bottom:.1rem solid rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug .admonition-title:before,.md-typeset .admonition.bug summary:before,.md-typeset details.bug .admonition-title:before,.md-typeset details.bug summary:before{color:#f50057;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left:.4rem solid #9e9e9e}.md-typeset .admonition.cite .admonition-title,.md-typeset .admonition.cite summary,.md-typeset .admonition.quote .admonition-title,.md-typeset .admonition.quote summary,.md-typeset details.cite .admonition-title,.md-typeset details.cite summary,.md-typeset details.quote .admonition-title,.md-typeset details.quote summary{border-bottom:.1rem solid hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite .admonition-title:before,.md-typeset .admonition.cite summary:before,.md-typeset .admonition.quote .admonition-title:before,.md-typeset .admonition.quote summary:before,.md-typeset details.cite .admonition-title:before,.md-typeset details.cite summary:before,.md-typeset details.quote .admonition-title:before,.md-typeset details.quote summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -1.2rem;padding:0 1.2rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilite,.md-typeset .highlight{position:relative;margin:1em 0;padding:0;border-radius:.2rem;background-color:hsla(0,0%,93%,.5);color:#37474f;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset .codehilite code,.md-typeset .codehilite pre,.md-typeset .highlight code,.md-typeset .highlight pre{display:block;margin:0;padding:1.05rem 1.2rem;background-color:transparent;overflow:auto;vertical-align:top}.md-typeset .codehilite code::-webkit-scrollbar,.md-typeset .codehilite pre::-webkit-scrollbar,.md-typeset .highlight code::-webkit-scrollbar,.md-typeset .highlight pre::-webkit-scrollbar{width:.4rem;height:.4rem}.md-typeset .codehilite code::-webkit-scrollbar-thumb,.md-typeset .codehilite pre::-webkit-scrollbar-thumb,.md-typeset .highlight code::-webkit-scrollbar-thumb,.md-typeset .highlight pre::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset .codehilite code::-webkit-scrollbar-thumb:hover,.md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,.md-typeset .highlight code::-webkit-scrollbar-thumb:hover,.md-typeset .highlight pre::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset pre.codehilite,.md-typeset pre.highlight{overflow:visible}.md-typeset pre.codehilite code,.md-typeset pre.highlight code{display:block;padding:1.05rem 1.2rem;overflow:auto}.md-typeset .codehilitetable{display:block;margin:1em 0;border-radius:.2em;font-size:1.6rem;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td{display:block;padding:0}.md-typeset .codehilitetable tr{display:-webkit-box;display:-ms-flexbox;display:flex}.md-typeset .codehilitetable .codehilite,.md-typeset .codehilitetable .highlight,.md-typeset .codehilitetable .linenodiv{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv{padding:1.05rem 1.2rem}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable .linenodiv>pre{height:100%}.md-typeset .codehilitetable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre{margin:0;padding:0;background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable{box-shadow:none}.md-typeset [id^="fn:"]:before,.md-typeset [id^="fnref:"]:before{display:inline-block;content:""}.md-typeset [id^="fn:"]:target:before,.md-typeset [id^="fnref:"]:target:before{margin-top:-9.8rem;padding-top:9.8rem}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:1.28rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:before{display:block;height:0}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li:target:before{margin-top:-9rem;padding-top:9rem;pointer-events:none}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.1rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.5rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.5rem);transform:translateX(.5rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}.md-typeset .footnote-backref:before{font-size:1.6rem;content:"\E31B"}.md-typeset .headerlink{display:inline-block;margin-left:1rem;-webkit-transform:translateY(.5rem);transform:translateY(.5rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id] .headerlink{display:none}.md-typeset h2[id]:before{display:block;margin-top:-.4rem;padding-top:.4rem;content:""}.md-typeset h2[id]:target:before{margin-top:-8.4rem;padding-top:8.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-.7rem;padding-top:.7rem;content:""}.md-typeset h3[id]:target:before{margin-top:-8.7rem;padding-top:8.7rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-.8rem;padding-top:.8rem;content:""}.md-typeset h4[id]:target:before{margin-top:-8.8rem;padding-top:8.8rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-1.1rem;padding-top:1.1rem;content:""}.md-typeset h5[id]:target:before{margin-top:-9.1rem;padding-top:9.1rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-1.1rem;padding-top:1.1rem;content:""}.md-typeset h6[id]:target:before{margin-top:-9.1rem;padding-top:9.1rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.2rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,93%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,93%,.5),-.25em 0 0 hsla(0,0%,93%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:1.6rem;padding-left:1.6rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:4rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.8rem;right:1.2rem;color:rgba(0,0,0,.26);font-size:2rem;content:"\E313"}.md-typeset .emojione{width:2rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset pre{margin:1em -1.6rem;border-radius:0}.md-typeset pre>code{padding:1.05rem 1.6rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -1.6rem;padding:0 1.6rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -1.6rem;border-radius:0}.md-typeset>.codehilite code,.md-typeset>.codehilite pre,.md-typeset>.highlight code,.md-typeset>.highlight pre{padding:1.05rem 1.6rem}.md-typeset>.codehilitetable{margin:1em -1.6rem;border-radius:0}.md-typeset>.codehilitetable .codehilite>code,.md-typeset>.codehilitetable .codehilite>pre,.md-typeset>.codehilitetable .highlight>code,.md-typeset>.codehilitetable .highlight>pre,.md-typeset>.codehilitetable .linenodiv{padding:1rem 1.6rem}.md-typeset>p>.MJXc-display{margin:.75em -1.6rem;padding:.25em 1.6rem}}@media only screen and (min-width:100em){html{font-size:68.75%}}@media only screen and (min-width:125em){html{font-size:75%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}.md-nav--secondary{border-left:0}html .md-nav__link[for=toc]{display:block;padding-right:4.8rem}html .md-nav__link[for=toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=toc]+.md-nav__link{display:none}html .md-nav__link[for=toc]~.md-nav{display:-webkit-box;display:-ms-flexbox;display:flex}.md-nav__source{display:block;padding:.4rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.4rem;left:.4rem;width:4rem;height:4rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:2rem;background-color:#fff;overflow:hidden;pointer-events:none}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}.md-search__input{width:100%;height:5.6rem;font-size:1.8rem}.md-search__icon[for=search]{top:1.6rem;left:1.6rem}.md-search__icon[for=search][for=search]:before{content:"\E5C4"}.md-search__icon[type=reset]{top:1.6rem;right:1.6rem}.md-search__output{top:5.6rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:1.6rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:11.2rem;padding:6rem 1.6rem .4rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:4.8rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.4rem;left:.4rem;width:4rem;height:4rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#fff),to(hsla(0,0%,100%,0))),-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),color-stop(35%,rgba(0,0,0,.07)),color-stop(60%,transparent));background:linear-gradient(180deg,#fff 10%,hsla(0,0%,100%,0)),linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.07) 35%,transparent 60%);background-attachment:local,scroll;background-color:#fff;background-repeat:no-repeat;background-size:100% 2rem,100% 1rem;box-shadow:inset 0 .1rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.4rem;left:.4rem;width:6.4rem;height:6.4rem;font-size:4.8rem}html .md-nav--primary .md-nav__title--site:before{display:none}.md-nav--primary .md-nav__list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.1rem solid rgba(0,0,0,.07)}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:4.8rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:1.6rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:1.2rem;margin-top:-1.2rem;color:inherit;font-size:2.4rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:2.8rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:4rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:5.2rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:6.4rem}.md-nav__toggle~.md-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:-ms-flexbox;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-24.2rem;width:24.2rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(24.2rem);transform:translateX(24.2rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:24.2rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:23rem;max-width:23rem;margin-left:2.8rem;padding-right:1.2rem}.md-search{padding:.4rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative}.md-search__form{width:23rem;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1);border-radius:.2rem}.md-search__input{width:100%;height:4rem;padding-left:4.8rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);border-radius:.2rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:1.6rem}.md-search__input+.md-search__icon,.md-search__input::-webkit-input-placeholder{color:#fff}.md-search__input+.md-search__icon,.md-search__input:-ms-input-placeholder{color:#fff}.md-search__input+.md-search__icon,.md-search__input::placeholder{color:#fff}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.2rem .2rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:none}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:4rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.4rem;height:.4rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__article,.md-search-result__meta{padding-left:4.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:24.2rem}.md-content__inner{margin-right:2.4rem;margin-left:2.4rem}.md-header{box-shadow:none}.md-header[data-md-state=shadow]{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__form{width:68.8rem}.md-sidebar--secondary{margin-left:122rem}.md-sidebar__inner{border-right:.1rem solid rgba(0,0,0,.07)}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:1.4rem;overflow:auto}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{margin-top:1.2rem;font-weight:700;pointer-events:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link:after{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}}@media only screen and (max-width:29.9375em){.md-header-nav__parent{display:none}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}.md-footer-social{padding:1.2rem 0;float:right}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__form{width:46.8rem}.md-search-result__teaser{max-height:5rem;-webkit-line-clamp:3}} diff --git a/assets/stylesheets/application-23f75ab9c7.palette.css b/assets/stylesheets/application-23f75ab9c7.palette.css deleted file mode 100644 index 800ea4ff..00000000 --- a/assets/stylesheets/application-23f75ab9c7.palette.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - Material for MkDocs - Copyright (c) 2016-2017 Martin Donath - License: MIT -*/ -button[data-md-color-accent],button[data-md-color-primary]{width:13rem;margin-bottom:.4rem;padding:2.4rem .8rem .4rem;-webkit-transition:background-color .25s,opacity .25s;transition:background-color .25s,opacity .25s;border-radius:.2rem;color:#fff;font-size:1.28rem;text-align:left;cursor:pointer}button[data-md-color-accent]:hover,button[data-md-color-primary]:hover{opacity:.75}button[data-md-color-primary=red]{background-color:#ef5350}[data-md-color-primary=red] .md-typeset a{color:#ef5350}[data-md-color-primary=red] .md-header{background-color:#ef5350}[data-md-color-primary=red] .md-nav__link--active,[data-md-color-primary=red] .md-nav__link:active{color:#ef5350}[data-md-color-primary=red] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=pink]{background-color:#e91e63}[data-md-color-primary=pink] .md-typeset a{color:#e91e63}[data-md-color-primary=pink] .md-header{background-color:#e91e63}[data-md-color-primary=pink] .md-nav__link--active,[data-md-color-primary=pink] .md-nav__link:active{color:#e91e63}[data-md-color-primary=pink] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=purple]{background-color:#ab47bc}[data-md-color-primary=purple] .md-typeset a{color:#ab47bc}[data-md-color-primary=purple] .md-header{background-color:#ab47bc}[data-md-color-primary=purple] .md-nav__link--active,[data-md-color-primary=purple] .md-nav__link:active{color:#ab47bc}[data-md-color-primary=purple] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=deep-purple]{background-color:#7e57c2}[data-md-color-primary=deep-purple] .md-typeset a{color:#7e57c2}[data-md-color-primary=deep-purple] .md-header{background-color:#7e57c2}[data-md-color-primary=deep-purple] .md-nav__link--active,[data-md-color-primary=deep-purple] .md-nav__link:active{color:#7e57c2}[data-md-color-primary=deep-purple] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=indigo]{background-color:#3f51b5}[data-md-color-primary=indigo] .md-typeset a{color:#3f51b5}[data-md-color-primary=indigo] .md-header{background-color:#3f51b5}[data-md-color-primary=indigo] .md-nav__link--active,[data-md-color-primary=indigo] .md-nav__link:active{color:#3f51b5}[data-md-color-primary=indigo] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=blue]{background-color:#2196f3}[data-md-color-primary=blue] .md-typeset a{color:#2196f3}[data-md-color-primary=blue] .md-header{background-color:#2196f3}[data-md-color-primary=blue] .md-nav__link--active,[data-md-color-primary=blue] .md-nav__link:active{color:#2196f3}[data-md-color-primary=blue] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=light-blue]{background-color:#03a9f4}[data-md-color-primary=light-blue] .md-typeset a{color:#03a9f4}[data-md-color-primary=light-blue] .md-header{background-color:#03a9f4}[data-md-color-primary=light-blue] .md-nav__link--active,[data-md-color-primary=light-blue] .md-nav__link:active{color:#03a9f4}[data-md-color-primary=light-blue] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=cyan]{background-color:#00bcd4}[data-md-color-primary=cyan] .md-typeset a{color:#00bcd4}[data-md-color-primary=cyan] .md-header{background-color:#00bcd4}[data-md-color-primary=cyan] .md-nav__link--active,[data-md-color-primary=cyan] .md-nav__link:active{color:#00bcd4}[data-md-color-primary=cyan] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=teal]{background-color:#009688}[data-md-color-primary=teal] .md-typeset a{color:#009688}[data-md-color-primary=teal] .md-header{background-color:#009688}[data-md-color-primary=teal] .md-nav__link--active,[data-md-color-primary=teal] .md-nav__link:active{color:#009688}[data-md-color-primary=teal] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=green]{background-color:#4caf50}[data-md-color-primary=green] .md-typeset a{color:#4caf50}[data-md-color-primary=green] .md-header{background-color:#4caf50}[data-md-color-primary=green] .md-nav__link--active,[data-md-color-primary=green] .md-nav__link:active{color:#4caf50}[data-md-color-primary=green] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=light-green]{background-color:#7cb342}[data-md-color-primary=light-green] .md-typeset a{color:#7cb342}[data-md-color-primary=light-green] .md-header{background-color:#7cb342}[data-md-color-primary=light-green] .md-nav__link--active,[data-md-color-primary=light-green] .md-nav__link:active{color:#7cb342}[data-md-color-primary=light-green] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=lime]{background-color:#c0ca33}[data-md-color-primary=lime] .md-typeset a{color:#c0ca33}[data-md-color-primary=lime] .md-header{background-color:#c0ca33}[data-md-color-primary=lime] .md-nav__link--active,[data-md-color-primary=lime] .md-nav__link:active{color:#c0ca33}[data-md-color-primary=lime] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=yellow]{background-color:#f9a825}[data-md-color-primary=yellow] .md-typeset a{color:#f9a825}[data-md-color-primary=yellow] .md-header{background-color:#f9a825}[data-md-color-primary=yellow] .md-nav__link--active,[data-md-color-primary=yellow] .md-nav__link:active{color:#f9a825}[data-md-color-primary=yellow] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=amber]{background-color:#ffb300}[data-md-color-primary=amber] .md-typeset a{color:#ffb300}[data-md-color-primary=amber] .md-header{background-color:#ffb300}[data-md-color-primary=amber] .md-nav__link--active,[data-md-color-primary=amber] .md-nav__link:active{color:#ffb300}[data-md-color-primary=amber] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=orange]{background-color:#fb8c00}[data-md-color-primary=orange] .md-typeset a{color:#fb8c00}[data-md-color-primary=orange] .md-header{background-color:#fb8c00}[data-md-color-primary=orange] .md-nav__link--active,[data-md-color-primary=orange] .md-nav__link:active{color:#fb8c00}[data-md-color-primary=orange] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=deep-orange]{background-color:#ff7043}[data-md-color-primary=deep-orange] .md-typeset a{color:#ff7043}[data-md-color-primary=deep-orange] .md-header{background-color:#ff7043}[data-md-color-primary=deep-orange] .md-nav__link--active,[data-md-color-primary=deep-orange] .md-nav__link:active{color:#ff7043}[data-md-color-primary=deep-orange] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=brown]{background-color:#795548}[data-md-color-primary=brown] .md-typeset a{color:#795548}[data-md-color-primary=brown] .md-header{background-color:#795548}[data-md-color-primary=brown] .md-nav__link--active,[data-md-color-primary=brown] .md-nav__link:active{color:#795548}[data-md-color-primary=brown] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=grey]{background-color:#757575}[data-md-color-primary=grey] .md-typeset a{color:#757575}[data-md-color-primary=grey] .md-header{background-color:#757575}[data-md-color-primary=grey] .md-nav__link--active,[data-md-color-primary=grey] .md-nav__link:active{color:#757575}[data-md-color-primary=grey] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=blue-grey]{background-color:#546e7a}[data-md-color-primary=blue-grey] .md-typeset a{color:#546e7a}[data-md-color-primary=blue-grey] .md-header{background-color:#546e7a}[data-md-color-primary=blue-grey] .md-nav__link--active,[data-md-color-primary=blue-grey] .md-nav__link:active{color:#546e7a}[data-md-color-primary=blue-grey] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-accent=red]{background-color:#ff1744}[data-md-color-accent=red] .md-typeset a:active,[data-md-color-accent=red] .md-typeset a:hover{color:#ff1744}[data-md-color-accent=red] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=red] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-nav__link:focus,[data-md-color-accent=red] .md-nav__link:hover,[data-md-color-accent=red] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=red] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=red] .md-typeset .md-clipboard:active:before,[data-md-color-accent=red] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=red] .md-typeset [id] .headerlink:focus,[data-md-color-accent=red] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=red] .md-typeset [id]:target .headerlink{color:#ff1744}[data-md-color-accent=red] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-search-result__link:hover,[data-md-color-accent=red] .md-search-result__link[data-md-state=active]{background-color:rgba(255,23,68,.1)}[data-md-color-accent=red] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-source-file:hover:before{background-color:#ff1744}button[data-md-color-accent=pink]{background-color:#f50057}[data-md-color-accent=pink] .md-typeset a:active,[data-md-color-accent=pink] .md-typeset a:hover{color:#f50057}[data-md-color-accent=pink] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=pink] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-nav__link:focus,[data-md-color-accent=pink] .md-nav__link:hover,[data-md-color-accent=pink] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=pink] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=pink] .md-typeset .md-clipboard:active:before,[data-md-color-accent=pink] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=pink] .md-typeset [id] .headerlink:focus,[data-md-color-accent=pink] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=pink] .md-typeset [id]:target .headerlink{color:#f50057}[data-md-color-accent=pink] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-search-result__link:hover,[data-md-color-accent=pink] .md-search-result__link[data-md-state=active]{background-color:rgba(245,0,87,.1)}[data-md-color-accent=pink] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-source-file:hover:before{background-color:#f50057}button[data-md-color-accent=purple]{background-color:#e040fb}[data-md-color-accent=purple] .md-typeset a:active,[data-md-color-accent=purple] .md-typeset a:hover{color:#e040fb}[data-md-color-accent=purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-nav__link:focus,[data-md-color-accent=purple] .md-nav__link:hover,[data-md-color-accent=purple] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=purple] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=purple] .md-typeset .md-clipboard:active:before,[data-md-color-accent=purple] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=purple] .md-typeset [id] .headerlink:focus,[data-md-color-accent=purple] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=purple] .md-typeset [id]:target .headerlink{color:#e040fb}[data-md-color-accent=purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-search-result__link:hover,[data-md-color-accent=purple] .md-search-result__link[data-md-state=active]{background-color:rgba(224,64,251,.1)}[data-md-color-accent=purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-source-file:hover:before{background-color:#e040fb}button[data-md-color-accent=deep-purple]{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-typeset a:active,[data-md-color-accent=deep-purple] .md-typeset a:hover{color:#7c4dff}[data-md-color-accent=deep-purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=deep-purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-nav__link:focus,[data-md-color-accent=deep-purple] .md-nav__link:hover,[data-md-color-accent=deep-purple] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=deep-purple] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:active:before,[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=deep-purple] .md-typeset [id] .headerlink:focus,[data-md-color-accent=deep-purple] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=deep-purple] .md-typeset [id]:target .headerlink{color:#7c4dff}[data-md-color-accent=deep-purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-search-result__link:hover,[data-md-color-accent=deep-purple] .md-search-result__link[data-md-state=active]{background-color:rgba(124,77,255,.1)}[data-md-color-accent=deep-purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-source-file:hover:before{background-color:#7c4dff}button[data-md-color-accent=indigo]{background-color:#536dfe}[data-md-color-accent=indigo] .md-typeset a:active,[data-md-color-accent=indigo] .md-typeset a:hover{color:#536dfe}[data-md-color-accent=indigo] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=indigo] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-nav__link:focus,[data-md-color-accent=indigo] .md-nav__link:hover,[data-md-color-accent=indigo] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=indigo] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=indigo] .md-typeset .md-clipboard:active:before,[data-md-color-accent=indigo] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=indigo] .md-typeset [id] .headerlink:focus,[data-md-color-accent=indigo] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=indigo] .md-typeset [id]:target .headerlink{color:#536dfe}[data-md-color-accent=indigo] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-search-result__link:hover,[data-md-color-accent=indigo] .md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}[data-md-color-accent=indigo] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-source-file:hover:before{background-color:#536dfe}button[data-md-color-accent=blue]{background-color:#448aff}[data-md-color-accent=blue] .md-typeset a:active,[data-md-color-accent=blue] .md-typeset a:hover{color:#448aff}[data-md-color-accent=blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-nav__link:focus,[data-md-color-accent=blue] .md-nav__link:hover,[data-md-color-accent=blue] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=blue] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=blue] .md-typeset .md-clipboard:active:before,[data-md-color-accent=blue] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=blue] .md-typeset [id] .headerlink:focus,[data-md-color-accent=blue] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=blue] .md-typeset [id]:target .headerlink{color:#448aff}[data-md-color-accent=blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-search-result__link:hover,[data-md-color-accent=blue] .md-search-result__link[data-md-state=active]{background-color:rgba(68,138,255,.1)}[data-md-color-accent=blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-source-file:hover:before{background-color:#448aff}button[data-md-color-accent=light-blue]{background-color:#0091ea}[data-md-color-accent=light-blue] .md-typeset a:active,[data-md-color-accent=light-blue] .md-typeset a:hover{color:#0091ea}[data-md-color-accent=light-blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=light-blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-nav__link:focus,[data-md-color-accent=light-blue] .md-nav__link:hover,[data-md-color-accent=light-blue] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=light-blue] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=light-blue] .md-typeset .md-clipboard:active:before,[data-md-color-accent=light-blue] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=light-blue] .md-typeset [id] .headerlink:focus,[data-md-color-accent=light-blue] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=light-blue] .md-typeset [id]:target .headerlink{color:#0091ea}[data-md-color-accent=light-blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-search-result__link:hover,[data-md-color-accent=light-blue] .md-search-result__link[data-md-state=active]{background-color:rgba(0,145,234,.1)}[data-md-color-accent=light-blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-source-file:hover:before{background-color:#0091ea}button[data-md-color-accent=cyan]{background-color:#00b8d4}[data-md-color-accent=cyan] .md-typeset a:active,[data-md-color-accent=cyan] .md-typeset a:hover{color:#00b8d4}[data-md-color-accent=cyan] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=cyan] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-nav__link:focus,[data-md-color-accent=cyan] .md-nav__link:hover,[data-md-color-accent=cyan] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=cyan] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=cyan] .md-typeset .md-clipboard:active:before,[data-md-color-accent=cyan] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=cyan] .md-typeset [id] .headerlink:focus,[data-md-color-accent=cyan] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=cyan] .md-typeset [id]:target .headerlink{color:#00b8d4}[data-md-color-accent=cyan] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-search-result__link:hover,[data-md-color-accent=cyan] .md-search-result__link[data-md-state=active]{background-color:rgba(0,184,212,.1)}[data-md-color-accent=cyan] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-source-file:hover:before{background-color:#00b8d4}button[data-md-color-accent=teal]{background-color:#00bfa5}[data-md-color-accent=teal] .md-typeset a:active,[data-md-color-accent=teal] .md-typeset a:hover{color:#00bfa5}[data-md-color-accent=teal] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=teal] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-nav__link:focus,[data-md-color-accent=teal] .md-nav__link:hover,[data-md-color-accent=teal] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=teal] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=teal] .md-typeset .md-clipboard:active:before,[data-md-color-accent=teal] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=teal] .md-typeset [id] .headerlink:focus,[data-md-color-accent=teal] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=teal] .md-typeset [id]:target .headerlink{color:#00bfa5}[data-md-color-accent=teal] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-search-result__link:hover,[data-md-color-accent=teal] .md-search-result__link[data-md-state=active]{background-color:rgba(0,191,165,.1)}[data-md-color-accent=teal] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-source-file:hover:before{background-color:#00bfa5}button[data-md-color-accent=green]{background-color:#00c853}[data-md-color-accent=green] .md-typeset a:active,[data-md-color-accent=green] .md-typeset a:hover{color:#00c853}[data-md-color-accent=green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=green] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-nav__link:focus,[data-md-color-accent=green] .md-nav__link:hover,[data-md-color-accent=green] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=green] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=green] .md-typeset .md-clipboard:active:before,[data-md-color-accent=green] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=green] .md-typeset [id] .headerlink:focus,[data-md-color-accent=green] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=green] .md-typeset [id]:target .headerlink{color:#00c853}[data-md-color-accent=green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-search-result__link:hover,[data-md-color-accent=green] .md-search-result__link[data-md-state=active]{background-color:rgba(0,200,83,.1)}[data-md-color-accent=green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-source-file:hover:before{background-color:#00c853}button[data-md-color-accent=light-green]{background-color:#64dd17}[data-md-color-accent=light-green] .md-typeset a:active,[data-md-color-accent=light-green] .md-typeset a:hover{color:#64dd17}[data-md-color-accent=light-green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=light-green] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-nav__link:focus,[data-md-color-accent=light-green] .md-nav__link:hover,[data-md-color-accent=light-green] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=light-green] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=light-green] .md-typeset .md-clipboard:active:before,[data-md-color-accent=light-green] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=light-green] .md-typeset [id] .headerlink:focus,[data-md-color-accent=light-green] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=light-green] .md-typeset [id]:target .headerlink{color:#64dd17}[data-md-color-accent=light-green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-search-result__link:hover,[data-md-color-accent=light-green] .md-search-result__link[data-md-state=active]{background-color:rgba(100,221,23,.1)}[data-md-color-accent=light-green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-source-file:hover:before{background-color:#64dd17}button[data-md-color-accent=lime]{background-color:#aeea00}[data-md-color-accent=lime] .md-typeset a:active,[data-md-color-accent=lime] .md-typeset a:hover{color:#aeea00}[data-md-color-accent=lime] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=lime] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-nav__link:focus,[data-md-color-accent=lime] .md-nav__link:hover,[data-md-color-accent=lime] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=lime] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=lime] .md-typeset .md-clipboard:active:before,[data-md-color-accent=lime] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=lime] .md-typeset [id] .headerlink:focus,[data-md-color-accent=lime] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=lime] .md-typeset [id]:target .headerlink{color:#aeea00}[data-md-color-accent=lime] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-search-result__link:hover,[data-md-color-accent=lime] .md-search-result__link[data-md-state=active]{background-color:rgba(174,234,0,.1)}[data-md-color-accent=lime] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-source-file:hover:before{background-color:#aeea00}button[data-md-color-accent=yellow]{background-color:#ffd600}[data-md-color-accent=yellow] .md-typeset a:active,[data-md-color-accent=yellow] .md-typeset a:hover{color:#ffd600}[data-md-color-accent=yellow] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=yellow] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-nav__link:focus,[data-md-color-accent=yellow] .md-nav__link:hover,[data-md-color-accent=yellow] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=yellow] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=yellow] .md-typeset .md-clipboard:active:before,[data-md-color-accent=yellow] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=yellow] .md-typeset [id] .headerlink:focus,[data-md-color-accent=yellow] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=yellow] .md-typeset [id]:target .headerlink{color:#ffd600}[data-md-color-accent=yellow] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-search-result__link:hover,[data-md-color-accent=yellow] .md-search-result__link[data-md-state=active]{background-color:rgba(255,214,0,.1)}[data-md-color-accent=yellow] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-source-file:hover:before{background-color:#ffd600}button[data-md-color-accent=amber]{background-color:#ffab00}[data-md-color-accent=amber] .md-typeset a:active,[data-md-color-accent=amber] .md-typeset a:hover{color:#ffab00}[data-md-color-accent=amber] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=amber] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-nav__link:focus,[data-md-color-accent=amber] .md-nav__link:hover,[data-md-color-accent=amber] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=amber] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=amber] .md-typeset .md-clipboard:active:before,[data-md-color-accent=amber] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=amber] .md-typeset [id] .headerlink:focus,[data-md-color-accent=amber] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=amber] .md-typeset [id]:target .headerlink{color:#ffab00}[data-md-color-accent=amber] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-search-result__link:hover,[data-md-color-accent=amber] .md-search-result__link[data-md-state=active]{background-color:rgba(255,171,0,.1)}[data-md-color-accent=amber] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-source-file:hover:before{background-color:#ffab00}button[data-md-color-accent=orange]{background-color:#ff9100}[data-md-color-accent=orange] .md-typeset a:active,[data-md-color-accent=orange] .md-typeset a:hover{color:#ff9100}[data-md-color-accent=orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-nav__link:focus,[data-md-color-accent=orange] .md-nav__link:hover,[data-md-color-accent=orange] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=orange] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=orange] .md-typeset .md-clipboard:active:before,[data-md-color-accent=orange] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=orange] .md-typeset [id] .headerlink:focus,[data-md-color-accent=orange] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=orange] .md-typeset [id]:target .headerlink{color:#ff9100}[data-md-color-accent=orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-search-result__link:hover,[data-md-color-accent=orange] .md-search-result__link[data-md-state=active]{background-color:rgba(255,145,0,.1)}[data-md-color-accent=orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-source-file:hover:before{background-color:#ff9100}button[data-md-color-accent=deep-orange]{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-typeset a:active,[data-md-color-accent=deep-orange] .md-typeset a:hover{color:#ff6e40}[data-md-color-accent=deep-orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=deep-orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-nav__link:focus,[data-md-color-accent=deep-orange] .md-nav__link:hover,[data-md-color-accent=deep-orange] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=deep-orange] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:active:before,[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=deep-orange] .md-typeset [id] .headerlink:focus,[data-md-color-accent=deep-orange] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=deep-orange] .md-typeset [id]:target .headerlink{color:#ff6e40}[data-md-color-accent=deep-orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-search-result__link:hover,[data-md-color-accent=deep-orange] .md-search-result__link[data-md-state=active]{background-color:rgba(255,110,64,.1)}[data-md-color-accent=deep-orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-source-file:hover:before{background-color:#ff6e40}@media only screen and (max-width:59.9375em){[data-md-color-primary=red] .md-nav__source{background-color:rgba(190,66,64,.9675)}[data-md-color-primary=pink] .md-nav__source{background-color:rgba(185,24,79,.9675)}[data-md-color-primary=purple] .md-nav__source{background-color:rgba(136,57,150,.9675)}[data-md-color-primary=deep-purple] .md-nav__source{background-color:rgba(100,69,154,.9675)}[data-md-color-primary=indigo] .md-nav__source{background-color:rgba(50,64,144,.9675)}[data-md-color-primary=blue] .md-nav__source{background-color:rgba(26,119,193,.9675)}[data-md-color-primary=light-blue] .md-nav__source{background-color:rgba(2,134,194,.9675)}[data-md-color-primary=cyan] .md-nav__source{background-color:rgba(0,150,169,.9675)}[data-md-color-primary=teal] .md-nav__source{background-color:rgba(0,119,108,.9675)}[data-md-color-primary=green] .md-nav__source{background-color:rgba(60,139,64,.9675)}[data-md-color-primary=light-green] .md-nav__source{background-color:rgba(99,142,53,.9675)}[data-md-color-primary=lime] .md-nav__source{background-color:rgba(153,161,41,.9675)}[data-md-color-primary=yellow] .md-nav__source{background-color:rgba(198,134,29,.9675)}[data-md-color-primary=amber] .md-nav__source{background-color:rgba(203,142,0,.9675)}[data-md-color-primary=orange] .md-nav__source{background-color:rgba(200,111,0,.9675)}[data-md-color-primary=deep-orange] .md-nav__source{background-color:rgba(203,89,53,.9675)}[data-md-color-primary=brown] .md-nav__source{background-color:rgba(96,68,57,.9675)}[data-md-color-primary=grey] .md-nav__source{background-color:rgba(93,93,93,.9675)}[data-md-color-primary=blue-grey] .md-nav__source{background-color:rgba(67,88,97,.9675)}}@media only screen and (max-width:76.1875em){html [data-md-color-primary=red] .md-nav--primary .md-nav__title--site{background-color:#ef5350}html [data-md-color-primary=pink] .md-nav--primary .md-nav__title--site{background-color:#e91e63}html [data-md-color-primary=purple] .md-nav--primary .md-nav__title--site{background-color:#ab47bc}html [data-md-color-primary=deep-purple] .md-nav--primary .md-nav__title--site{background-color:#7e57c2}html [data-md-color-primary=indigo] .md-nav--primary .md-nav__title--site{background-color:#3f51b5}html [data-md-color-primary=blue] .md-nav--primary .md-nav__title--site{background-color:#2196f3}html [data-md-color-primary=light-blue] .md-nav--primary .md-nav__title--site{background-color:#03a9f4}html [data-md-color-primary=cyan] .md-nav--primary .md-nav__title--site{background-color:#00bcd4}html [data-md-color-primary=teal] .md-nav--primary .md-nav__title--site{background-color:#009688}html [data-md-color-primary=green] .md-nav--primary .md-nav__title--site{background-color:#4caf50}html [data-md-color-primary=light-green] .md-nav--primary .md-nav__title--site{background-color:#7cb342}html [data-md-color-primary=lime] .md-nav--primary .md-nav__title--site{background-color:#c0ca33}html [data-md-color-primary=yellow] .md-nav--primary .md-nav__title--site{background-color:#f9a825}html [data-md-color-primary=amber] .md-nav--primary .md-nav__title--site{background-color:#ffb300}html [data-md-color-primary=orange] .md-nav--primary .md-nav__title--site{background-color:#fb8c00}html [data-md-color-primary=deep-orange] .md-nav--primary .md-nav__title--site{background-color:#ff7043}html [data-md-color-primary=brown] .md-nav--primary .md-nav__title--site{background-color:#795548}html [data-md-color-primary=grey] .md-nav--primary .md-nav__title--site{background-color:#757575}html [data-md-color-primary=blue-grey] .md-nav--primary .md-nav__title--site{background-color:#546e7a}}@media only screen and (min-width:60em){[data-md-color-primary=red] .md-nav--secondary{border-left:.4rem solid #ef5350}[data-md-color-primary=pink] .md-nav--secondary{border-left:.4rem solid #e91e63}[data-md-color-primary=purple] .md-nav--secondary{border-left:.4rem solid #ab47bc}[data-md-color-primary=deep-purple] .md-nav--secondary{border-left:.4rem solid #7e57c2}[data-md-color-primary=indigo] .md-nav--secondary{border-left:.4rem solid #3f51b5}[data-md-color-primary=blue] .md-nav--secondary{border-left:.4rem solid #2196f3}[data-md-color-primary=light-blue] .md-nav--secondary{border-left:.4rem solid #03a9f4}[data-md-color-primary=cyan] .md-nav--secondary{border-left:.4rem solid #00bcd4}[data-md-color-primary=teal] .md-nav--secondary{border-left:.4rem solid #009688}[data-md-color-primary=green] .md-nav--secondary{border-left:.4rem solid #4caf50}[data-md-color-primary=light-green] .md-nav--secondary{border-left:.4rem solid #7cb342}[data-md-color-primary=lime] .md-nav--secondary{border-left:.4rem solid #c0ca33}[data-md-color-primary=yellow] .md-nav--secondary{border-left:.4rem solid #f9a825}[data-md-color-primary=amber] .md-nav--secondary{border-left:.4rem solid #ffb300}[data-md-color-primary=orange] .md-nav--secondary{border-left:.4rem solid #fb8c00}[data-md-color-primary=deep-orange] .md-nav--secondary{border-left:.4rem solid #ff7043}[data-md-color-primary=brown] .md-nav--secondary{border-left:.4rem solid #795548}[data-md-color-primary=grey] .md-nav--secondary{border-left:.4rem solid #757575}[data-md-color-primary=blue-grey] .md-nav--secondary{border-left:.4rem solid #546e7a}}@media only screen and (min-width:76.25em){[data-md-color-primary=red] .md-tabs{background:rgba(190,66,64,.9675)}[data-md-color-primary=red] .md-tabs[data-md-state=hidden]{background:#ef5350}[data-md-color-primary=pink] .md-tabs{background:rgba(185,24,79,.9675)}[data-md-color-primary=pink] .md-tabs[data-md-state=hidden]{background:#e91e63}[data-md-color-primary=purple] .md-tabs{background:rgba(136,57,150,.9675)}[data-md-color-primary=purple] .md-tabs[data-md-state=hidden]{background:#ab47bc}[data-md-color-primary=deep-purple] .md-tabs{background:rgba(100,69,154,.9675)}[data-md-color-primary=deep-purple] .md-tabs[data-md-state=hidden]{background:#7e57c2}[data-md-color-primary=indigo] .md-tabs{background:rgba(50,64,144,.9675)}[data-md-color-primary=indigo] .md-tabs[data-md-state=hidden]{background:#3f51b5}[data-md-color-primary=blue] .md-tabs{background:rgba(26,119,193,.9675)}[data-md-color-primary=blue] .md-tabs[data-md-state=hidden]{background:#2196f3}[data-md-color-primary=light-blue] .md-tabs{background:rgba(2,134,194,.9675)}[data-md-color-primary=light-blue] .md-tabs[data-md-state=hidden]{background:#03a9f4}[data-md-color-primary=cyan] .md-tabs{background:rgba(0,150,169,.9675)}[data-md-color-primary=cyan] .md-tabs[data-md-state=hidden]{background:#00bcd4}[data-md-color-primary=teal] .md-tabs{background:rgba(0,119,108,.9675)}[data-md-color-primary=teal] .md-tabs[data-md-state=hidden]{background:#009688}[data-md-color-primary=green] .md-tabs{background:rgba(60,139,64,.9675)}[data-md-color-primary=green] .md-tabs[data-md-state=hidden]{background:#4caf50}[data-md-color-primary=light-green] .md-tabs{background:rgba(99,142,53,.9675)}[data-md-color-primary=light-green] .md-tabs[data-md-state=hidden]{background:#7cb342}[data-md-color-primary=lime] .md-tabs{background:rgba(153,161,41,.9675)}[data-md-color-primary=lime] .md-tabs[data-md-state=hidden]{background:#c0ca33}[data-md-color-primary=yellow] .md-tabs{background:rgba(198,134,29,.9675)}[data-md-color-primary=yellow] .md-tabs[data-md-state=hidden]{background:#f9a825}[data-md-color-primary=amber] .md-tabs{background:rgba(203,142,0,.9675)}[data-md-color-primary=amber] .md-tabs[data-md-state=hidden]{background:#ffb300}[data-md-color-primary=orange] .md-tabs{background:rgba(200,111,0,.9675)}[data-md-color-primary=orange] .md-tabs[data-md-state=hidden]{background:#fb8c00}[data-md-color-primary=deep-orange] .md-tabs{background:rgba(203,89,53,.9675)}[data-md-color-primary=deep-orange] .md-tabs[data-md-state=hidden]{background:#ff7043}[data-md-color-primary=brown] .md-tabs{background:rgba(96,68,57,.9675)}[data-md-color-primary=brown] .md-tabs[data-md-state=hidden]{background:#795548}[data-md-color-primary=grey] .md-tabs{background:rgba(93,93,93,.9675)}[data-md-color-primary=grey] .md-tabs[data-md-state=hidden]{background:#757575}[data-md-color-primary=blue-grey] .md-tabs{background:rgba(67,88,97,.9675)}[data-md-color-primary=blue-grey] .md-tabs[data-md-state=hidden]{background:#546e7a}} diff --git a/assets/stylesheets/paradox-material-theme.css b/assets/stylesheets/paradox-material-theme.css deleted file mode 100644 index 3126c889..00000000 --- a/assets/stylesheets/paradox-material-theme.css +++ /dev/null @@ -1,85 +0,0 @@ -/*! - Paradox Material Theme - Copyright (c) 2017 Jonas Fonseca - License: MIT -*/ - -.callout { - visibility: hidden; -} - -.md-nav--primary > .md-nav--secondary { - display: none; -} - -.md-nav--primary .md-version { - padding: 1.2rem 1.2rem 0rem; -} - -.md-version .md-icon { - position: relative; - top: .2rem; - left: 0; -} - -@media only screen and (max-width: 76.1875em) { - .md-nav--primary .md-version { - padding: 1.2rem 1.6rem; - } -} - -.md-nav--secondary { - visibility: hidden; -} - -dl.mdc-tab-bar { - margin-left: 0; -} - -.mdc-tab-content { - display: none; -} - -.mdc-tab-content--active { - display: block; -} - -.md-source__icon i { - font-size: 24px; - margin-top: 1.2rem; - margin-left: 1.2rem; -} - -.md-edit:before { - content: "\E3C9"; -} - -pre.prettyprint { - border: none; -} - -.callout.no-title .callout-title { - display: none; -} - -.callout.no-title > :nth-child(2) { - margin-top: 0; -} - -.print-only { - display: none; -} - -@media print { - .print-only { - display: block; - } - - .md-edit, h1 a.anchor { - display: none; - } - - .md-version:before { - content: "\E893"; - } -} diff --git a/community/index.html b/community/index.html deleted file mode 100644 index ff1e8b2b..00000000 --- a/community/index.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -User Community · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
- - -
- - - - - - - - diff --git a/contact.html b/contact.html deleted file mode 100644 index 17700062..00000000 --- a/contact.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Contact · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
- -
- - -
- - - - - - - - diff --git a/contexts/data.json b/contexts/data.json deleted file mode 100644 index 2ddcfe36..00000000 --- a/contexts/data.json +++ /dev/null @@ -1,720 +0,0 @@ -{ - "@context": [ - { - "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/", - "type": "@type", - "id": "@id", - "links": { - "@id": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/links" - }, - "prov": "http://www.w3.org/ns/prov#", - "generated": { - "@id": "prov:generated" - }, - "used": { - "@id": "prov:used" - }, - "qualifiedGeneration": { - "@id": "prov:qualifiedGeneration" - }, - "wasRevisionOf": { - "@id": "prov:wasRevisionOf" - }, - "hadMember": { - "@id": "prov:hadMember" - }, - "wasGeneratedBy": { - "@id": "prov:wasGeneratedBy" - }, - "wasStartedBy": { - "@id": "prov:wasStartedBy" - }, - "wasAssociatedWith": { - "@id": "prov:wasAssociatedWith" - }, - "qualifiedAssociation": { - "@id": "prov:qualifiedAssociation" - }, - "qualifiedUsage": { - "@id": "prov:qualifiedUsage" - }, - "hadRole": { - "@id": "prov:hadRole" - }, - "activity": { - "@id": "prov:activity" - }, - "hadActivity": { - "@id": "prov:hadActivity" - }, - "entity": { - "@id": "prov:entity" - }, - "agent": { - "@id": "prov:agent" - }, - "Derivation": { - "@id": "prov:Derivation" - }, - "Generation": { - "@id": "prov:Generation" - }, - "address": { - "@id": "schema:address" - }, - "PostalAddress": { - "@id": "schema:PostalAddress" - }, - "parentOrganization": { - "@type": "@id", - "@id": "schema:parentOrganization" - }, - "telephone": { - "@type": "xsd:string", - "@id": "schema:telephone" - }, - "addressCountry": { - "@type": "xsd:string", - "@id": "schema:addressCountry" - }, - "addressLocality": { - "@type": "xsd:string", - "@id": "schema:addressLocality" - }, - "postalCode": { - "@type": "xsd:string", - "@id": "schema:postalCode" - }, - "streetAddress": { - "@type": "xsd:string", - "@id": "schema:streetAddress" - }, - "name": { - "@type": "xsd:string", - "@id": "schema:name" - }, - "givenName": { - "@type": "xsd:string", - "@id": "schema:givenName" - }, - "familyName": { - "@id": "schema:familyName", - "@type": "xsd:string" - }, - "email": { - "@type": "xsd:string", - "@id": "schema:email" - }, - "affiliation": { - "@type": "@id", - "@id": "schema:affiliation" - }, - "size": { - "@type": "@id", - "@id": "schema:size" - }, - "owl": "http://www.w3.org/2002/07/owl#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "skos": "http://www.w3.org/2004/02/skos/core#", - "prov": "http://www.w3.org/ns/prov#", - "sh": "http://www.w3.org/ns/shacl#", - "shsh": "http://www.w3.org/ns/shacl-shacl#", - "dcterms": "http://purl.org/dc/terms/", - "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/", - "nsg": "https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/", - "schema": "http://schema.org/", - "dcat": "http://www.w3.org/ns/dcat#", - "brainRegion": { - "@id": "nsg:brainRegion", - "@type": "@id" - }, - "geometry": { - "@id": "nsg:geometry" - }, - "location": { - "@id": "nsg:location" - }, - "geometryParameter": { - "@id": "nsg:geometryParameter" - }, - "spatialReferenceSystem": { - "@id": "nsg:spatialReferenceSystem" - }, - "hadProtocol": { - "@id": "nsg:hadProtocol" - }, - "atlasVersion": { - "@id": "nsg:atlasVersion" - }, - "sweep": { - "@id": "nsg:sweep" - }, - "channel": { - "@id": "nsg:channel" - }, - "putativeMType": { - "@id": "nsg:putativeMType" - }, - "projectName": { - "@id": "nsg:projectName" - }, - "waveNumberRange": { - "@id": "nsg:waveNumberRange" - }, - "spatialCellName": { - "@id": "nsg:spatialCellName" - }, - "reconstructionRequested": { - "@id": "nsg:reconstructionRequested" - }, - "reconstructable": { - "@id": "nsg:reconstructable" - }, - "labeledCell": { - "@id": "nsg:labeledCell" - }, - "objectiveMagnification": { - "@id": "nsg:objectiveMagnification" - }, - "objectiveType": { - "@id": "nsg:objectiveType" - }, - "brainLocationCoordinates": { - "@id": "nsg:brainLocationCoordinates" - }, - "sliceLocationCoordinates": { - "@id": "nsg:sliceLocationCoordinates" - }, - "valueX": { - "@id": "nsg:valueX" - }, - "valueY": { - "@id": "nsg:valueY" - }, - "valueZ ": { - "@id": "nsg:valueZ" - }, - "species": { - "@id": "nsg:species" - }, - "strain": { - "@id": "nsg:strain" - }, - "transgenic": { - "@id": "nsg:transgenic" - }, - "sex": { - "@id": "nsg:sex" - }, - "age": { - "@id": "nsg:age" - }, - "dateOfSurgery": { - "@id": "nsg:dateOfSurgery" - }, - "diseaseModel": { - "@id": "nsg:diseaseModel" - }, - "disease": { - "@id": "nsg:disease" - }, - "treatment": { - "@id": "nsg:treatment" - }, - "period": { - "@id": "nsg:period" - }, - "2DContour": { - "@id": "nsg:2DContour" - }, - "3DContour": { - "@id": "nsg:3DContour" - }, - "1Point": { - "@id": "nsg:1Point" - }, - "3Point": { - "@id": "nsg:3Point" - }, - "brainLocation": { - "@id": "nsg:brainLocation" - }, - "fixationMethod": { - "@id": "nsg:fixationMethod" - }, - "stain": { - "@id": "nsg:stain" - }, - "mountingMedia": { - "@id": "nsg:mountingMedia" - }, - "annotationAngle": { - "@id": "nsg:annotationAngle" - }, - "annotatorComment": { - "@id": "nsg:annotatorComment" - }, - "axonProjection": { - "@id": "nsg:axonProjection" - }, - "distanceToBoundary": { - "@id": "nsg:distanceToBoundary" - }, - "mType": { - "@id": "nsg:mType" - }, - "mSubType": { - "@id": "nsg:mSubType" - }, - "subRegion": { - "@id": "nsg:subRegion" - }, - "positionInLayer": { - "@id": "nsg:positionInLayer" - }, - "longitudinalAxis": { - "@id": "nsg:longitudinalAxis" - }, - "layer": { - "@id": "nsg:layer" - }, - "integrity": { - "@id": "nsg:integrity" - }, - "somaType": { - "@id": "nsg:somaType" - }, - "apicalDendrite": { - "@id": "nsg:apicalDendrite" - }, - "basalDendrite": { - "@id": "nsg:basalDendrite" - }, - "axon": { - "@id": "nsg:axon" - }, - "soma": { - "@id": "nsg:soma" - }, - "orientationOfReconstruction": { - "@id": "nsg:orientationOfReconstruction" - }, - "reconstructionCompressionCorrected": { - "@id": "nsg:reconstructionCompressionCorrected" - }, - "reconstructionCompleted": { - "@id": "nsg:reconstructionCompleted" - }, - "reconstructionCorrected": { - "@id": "nsg:reconstructionCorrected" - }, - "reconstructionComment": { - "@id": "nsg:reconstructionComment" - }, - "clusterReconstructionRequested": { - "@id": "nsg:clusterReconstructionRequested" - }, - "reconstructionRequester": { - "@id": "nsg:reconstructionRequester" - }, - "reconstructionSentDate": { - "@id": "nsg:reconstructionSentDate" - }, - "reconstructionDate": { - "@id": "nsg:reconstructionDate" - }, - "reconstructionLocation": { - "@id": "nsg:reconstructionLocation" - }, - "comment": { - "@id": "nsg:comment" - }, - "stimulus": { - "@id": "nsg:stimulus" - }, - "stimulusType": { - "@id": "nsg:stimulusType" - }, - "providerExperimentId": { - "@id": "nsg:providerExperimentId" - }, - "providerExperimentName": { - "@id": "nsg:providerExperimentName" - }, - "eCode": { - "@id": "nsg:eCode" - }, - "weight": { - "@id": "schema:weight" - }, - "birthDate": { - "@id": "schema:birthDate" - }, - "deathDate": { - "@id": "schema:deathDate" - }, - "dataUnit": { - "@id": "nsg:dataUnit" - }, - "modelScript": { - "@id": "nsg:modelScript", - "@type": "@id" - }, - "providerId": { - "@id": "nsg:providerId" - }, - "boundingBox": { - "@id": "nsg:boundingBox" - }, - "orientation": { - "@id": "nsg:orientation" - }, - "parcellationVolume": { - "@id": "nsg:parcellationVolume", - "@type": "@id" - }, - "origin": { - "@id": "nsg:origin" - }, - "releaseDate": { - "@id": "nsg:releaseDate" - }, - "radius": { - "@id": "nsg:radius" - }, - "parcellationOntology": { - "@id": "nsg:parcellationOntology", - "@type": "@id" - }, - "center": { - "@id": "nsg:center" - }, - "valueZ": { - "@id": "nsg:valueZ" - }, - "modelOf": { - "@id": "nsg:modelOf", - "@type": "@id" - }, - "subCellularMechanism": { - "@id": "nsg:subCellularMechanism", - "@type": "@id" - }, - "distribution": { - "@id": "schema:distribution" - }, - "cellPlacement": { - "@id": "nsg:cellPlacement", - "@type": "@id" - }, - "memodelRelease": { - "@id": "nsg:memodelRelease", - "@type": "@id" - }, - "synapseRelease": { - "@id": "nsg:synapseRelease", - "@type": "@id" - }, - "nodeCollection": { - "@id": "nsg:nodeCollection", - "@type": "@id" - }, - "eType": { - "@id": "nsg:eType", - "@type": "@id" - }, - "putativeEtype": { - "@id": "nsg:putativeEtype", - "@type": "@id" - }, - "pipetteNumber": { - "@id": "nsg:pipetteNumber" - }, - "startMembranePotential": { - "@id": "nsg:startMembranePotential" - }, - "endMembranePotential": { - "@id": "nsg:endMembranePotential" - }, - "sealResistance": { - "@id": "nsg:sealResistance" - }, - "pipetteResistance": { - "@id": "nsg:pipetteResistance" - }, - "liquidJunctionPotential": { - "@id": "nsg:liquidJunctionPotential" - }, - "labelingCompound": { - "@id": "nsg:labelingCompound" - }, - "repetition": { - "@id": "nsg:repetition" - }, - "targetHoldingPotential": { - "@id": "nsg:targetHoldingPotential" - }, - "measuredHoldingPotential": { - "@id": "nsg:measuredHoldingPotential" - }, - "inputResistance": { - "@id": "nsg:inputResistance" - }, - "seriesResistance": { - "@id": "nsg:seriesResistance" - }, - "compensationCurrent": { - "@id": "nsg:compensationCurrent" - }, - "digitalToAnalogConverter": { - "@id": "nsg:digitalToAnalogConverter" - }, - "numberOfRepetition": { - "@id": "nsg:numberOfRepetition" - }, - "retrievalDate": { - "@id": "nsg:retrievalDate" - }, - "timeStep": { - "@id": "nsg:timeStep" - }, - "slicingPlane": { - "@id": "nsg:slicingPlane" - }, - "slicingAngle": { - "@id": "nsg:slicingAngle" - }, - "cuttingThickness": { - "@id": "nsg:cuttingThickness" - }, - "hemisphere": { - "@id": "nsg:hemisphere" - }, - "solution": { - "@id": "nsg:solution" - }, - "materials": { - "@id": "nsg:materials", - "@type": "@id" - }, - "vendor": { - "@id": "nsg:vendor", - "@type": "@id" - }, - "steps": { - "@id": "nsg:steps" - }, - "warning": { - "@id": "nsg:warning" - }, - "reagentName": { - "@id": "nsg:reagentName" - }, - "reagentLinearFormula": { - "@id": "nsg:reagentLinearFormula" - }, - "reagentVendor": { - "@id": "nsg:reagentVendor", - "@type": "@id" - }, - "score": { - "@id": "nsg:score" - }, - "normalizedScore": { - "@id": "nsg:normalizedScore" - }, - "edgePopulation": { - "@id": "nsg:edgePopulation" - }, - "target": { - "@id": "nsg:target" - }, - "downloadURL": { - "@id": "schema:downloadURL", - "@type": "@id" - }, - "accessURL": { - "@id": "schema:accessURL", - "@type": "@id" - }, - "mediaType": { - "@id": "schema:mediaType" - }, - "description": { - "@id": "schema:description" - }, - "hasPart": { - "@id": "dcterms:hasPart" - }, - "value": { - "@id": "schema:value" - }, - "label": { - "@id": "rdfs:label" - }, - "unitCode": { - "@id": "schema:unitCode" - }, - "unitText": { - "@id": "schema:unitText" - }, - "upperPoint": { - "@id": "nsg:upperPoint" - }, - "lowerPoint": { - "@id": "nsg:lowerPoint" - }, - "imageVolume": { - "@id": "nsg:imageVolume" - }, - "voxelType": { - "@id": "nsg:voxelType" - }, - "volumeDimension": { - "@id": "nsg:volumeDimension" - }, - "imageOrigin": { - "@id": "nsg:imageOrigin" - }, - "imageDirection": { - "@id": "nsg:imageDirection" - }, - "secondRow": { - "@id": "nsg:secondRow" - }, - "thirdRow": { - "@id": "nsg:thirdRow" - }, - "voxelResolution": { - "@id": "nsg:voxelResolution" - }, - "voxelResolutionValue": { - "@id": "nsg:voxelResolutionValue" - }, - "boundingbox": { - "@id": "nsg:boundingbox" - }, - "isRegisteredIn": { - "@id": "nsg:isRegisteredIn" - }, - "sliceDirection": { - "@id": "nsg:sliceDirection" - }, - "sliceWidth": { - "@id": "nsg:sliceWidth" - }, - "sliceHeight": { - "@id": "nsg:sliceHeight" - }, - "numberOfSlices": { - "@id": "nsg:numberOfSlices" - }, - "sliceResolution": { - "@id": "nsg:sliceResolution" - }, - "sliceInterval": { - "@id": "nsg:sliceInterval" - }, - "widthResolution": { - "@id": "nsg:widthResolution" - }, - "heightResolution": { - "@id": "nsg:heightResolution" - }, - "sliceIntervalValue": { - "@id": "nsg:sliceIntervalValue" - }, - "emodelIndex": { - "@id": "nsg:emodelIndex" - }, - "morphologyIndex": { - "@id": "nsg:morphologyIndex" - }, - "eModel": { - "@id": "nsg:eModel" - }, - "emodelRelease": { - "@id": "nsg:emodelRelease" - }, - "morphologyRelease": { - "@id": "nsg:morphologyRelease" - }, - "memodelIndex": { - "@id": "nsg:memodelIndex" - }, - "circuitCellProperties": { - "@id": "nsg:circuitCellProperties" - }, - "property": { - "@id": "nsg:property" - }, - "edgeCollection": { - "@id": "nsg:edgeCollection" - }, - "morphology": { - "@id": "nsg:morphology" - }, - "mainModelScript": { - "@id": "nsg:mainModelScript" - }, - "name": { - "@id": "schema:name" - }, - "version": { - "@id": "schema:version" - }, - "isPartOf": { - "@id": "dcterms:isPartOf", - "@type": "@id" - }, - "view2d": { - "@id": "nsg:view2d" - }, - "view3d": { - "@id": "nsg:view3d" - }, - "wasDerivedFrom": { - "@id": "prov:wasDerivedFrom" - }, - "experimentalCellList": { - "@id": "nsg:experimentalCellList" - }, - "masterListConfiguration": { - "@id": "nsg:masterListConfiguration" - }, - "experimentalTraceLocation": { - "@id": "nsg:experimentalTraceLocation" - }, - "stimuliToExperimentMap": { - "@id": "nsg:stimuliToExperimentMap" - }, - "featureExtractionConfiguration": { - "@id": "nsg:featureExtractionConfiguration" - }, - "configurationUsed": { - "@id": "nsg:configurationUsed" - }, - "features": { - "@id": "nsg:features" - }, - "hypampThreshold": { - "@id": "nsg:hypampThreshold" - }, - "storageType": { - "@type": "@id", - "@id": "nsg:storageType" - }, - "gpfs": { - "@id": "http://bbp.epfl.ch/neurosciencegraph/taxonomies/storagetypes/gpfs" - }, - "cellLine": { - "@id": "nsg:cellLine" - }, - "ionChannelGene": { - "@id": "nsg:ionChannelGene" - } - } - ] -} diff --git a/contexts/schema.json b/contexts/schema.json deleted file mode 100644 index 882a7409..00000000 --- a/contexts/schema.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "@context": [ - { - "owl": "http://www.w3.org/2002/07/owl#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "skos": "http://www.w3.org/2004/02/skos/core#", - "prov": "http://www.w3.org/ns/prov#", - "dcat": "http://www.w3.org/ns/dcat#", - "sh": "http://www.w3.org/ns/shacl#", - "shsh": "http://www.w3.org/ns/shacl-shacl#", - "dcterms": "http://purl.org/dc/terms/", - "schema": "http://schema.org/", - "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/", - "nsg": "https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/", - "class": { - "@id": "sh:class", - "@type": "@id" - }, - "path": { - "@id": "sh:path", - "@type": "@id" - }, - "qualifiedValueShape": { - "@id": "sh:qualifiedValueShape", - "@type": "@id" - }, - "qualifiedValueShapesDisjoint": { - "@id": "sh:qualifiedValueShapesDisjoint", - "@type": "xsd:boolean" - }, - "qualifiedMinCount": { - "@id": "sh:qualifiedMinCount", - "@type": "xsd:integer" - }, - "qualifiedMaxCount": { - "@id": "sh:qualifiedMaxCount", - "@type": "xsd:integer" - }, - "maxCount": { - "@id": "sh:maxCount", - "@type": "xsd:integer" - }, - "minCount": { - "@id": "sh:minCount", - "@type": "xsd:integer" - }, - "minInclusive": { - "@id": "sh:minInclusive" - }, - "maxInclusive": { - "@id": "sh:maxInclusive" - }, - "maxExclusive": { - "@id": "sh:maxExclusive" - }, - "minExclusive": { - "@id": "sh:minExclusive" - }, - "in": { - "@id": "sh:in", - "@container": "@list" - }, - "imports": { - "@id": "owl:imports", - "@type": "@id", - "@container": "@set" - }, - "datatype": { - "@id": "sh:datatype", - "@type": "@id" - }, - "description": { - "@id": "sh:description" - }, - "name": { - "@id": "sh:name" - }, - "severity": { - "@id": "sh:severity" - }, - "nodeKind": { - "@id": "sh:nodeKind", - "@type": "@id" - }, - "BlankNode": { - "@id": "sh:BlankNode" - }, - "BlankNodeOrIRI": { - "@id": "sh:BlankNodeOrIRI" - }, - "BlankNodeOrLiteral": { - "@id": "sh:BlankNodeOrLiteral" - }, - "IRI": { - "@id": "sh:IRI" - }, - "IRIOrLiteral": { - "@id": "sh:IRIOrLiteral" - }, - "Literal": { - "@id": "sh:Literal" - }, - "prefix": { - "@id": "sh:prefix", - "@type": "xsd:string" - }, - "declare": { - "@id": "sh:declare" - }, - "namespace": { - "@id": "sh:namespace", - "@type": "xsd:anyURI" - }, - "Violation": { - "@id": "sh:Violation" - }, - "suggestedShapesGraph": { - "@id": "sh:suggestedShapesGraph", - "@type": "@id" - }, - "shapesGraph": { - "@id": "sh:shapesGraph", - "@type": "@id" - }, - "node": { - "@id": "sh:node", - "@type": "@id" - }, - "property": { - "@id": "sh:property", - "@type": "@id", - "@container": "@set" - }, - "targetClass": { - "@id": "sh:targetClass", - "@type": "@id" - }, - "targetObjectsOf": { - "@id": "sh:targetObjectsOf", - "@type": "@id" - }, - "targetSubjectsOf": { - "@id": "sh:targetSubjectsOf", - "@type": "@id" - }, - "targetNode": { - "@id": "sh:targetNode", - "@type": "@id" - }, - "target": { - "@id": "sh:target", - "@type": "@id" - }, - "isDefinedBy": { - "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", - "@type": "@id" - }, - "shapes": { - "@id": "nxv:shapes", - "@type": "@id", - "@container": "@set" - }, - "Shape": { - "@id": "sh:Shape" - }, - "NodeShape": { - "@id": "sh:NodeShape" - }, - "PropertyShape": { - "@id": "sh:PropertyShape" - }, - "or": { - "@id": "sh:or", - "@type": "@id", - "@container": "@list" - }, - "and": { - "@id": "sh:and", - "@type": "@id", - "@container": "@list" - }, - "xone": { - "@id": "sh:xone", - "@type": "@id", - "@container": "@list" - }, - "not": { - "@id": "sh:not", - "@type": "@id", - "@container": "@list" - }, - "lessThan": { - "@id": "sh:lessThan", - "@type": "@id" - }, - "hasValue": { - "@id": "sh:hasValue" - }, - "resultMessage": { - "@id": "sh:message" - }, - "deactivated": { - "@id": "sh:deactivated" - }, - "pattern": { - "@id": "sh:pattern" - }, - "label": { - "@id": "rdfs:label", - "@type": "xsd:string" - }, - "comment": { - "@id": "rdfs:comment", - "@type": "xsd:string" - }, - "editorialNote": { - "@id": "skos:editorialNote", - "@type": "xsd:string" - }, - "seeAlso": { - "@id": "rdfs:seeAlso", - "@type": "@id" - } - } - ] -} \ No newline at end of file diff --git a/contribution.html b/contribution.html deleted file mode 100644 index e3b2c997..00000000 --- a/contribution.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -How to contribute · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
-
-
-

How to contribute

-

We would love for you to contribute to the Neuroshapes familly of data models and help make them even better than they are now! As a contributor, find in the next sections the guidelines we would like you to follow.

-

Got a Question or a Problem?

-

Please do not hesitate to contact the INCF neuroshapes SIG at neuroshapesSIG@incf.org.

-

Found a Bug?

-

If you find a bug in the source code of any tools, in any schema or vocabulary in this repository, you can help us fix it by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

-

Missing a Feature or a data model?

-

You can request them by submitting an issue to our GitHub Repository. If you would like to implement a new feature or propose a new data model specification, please submit an issue with a proposal for your work first, to be sure it can be implemented and most importantly, to trigger discussions and enable collaborations with interested people. Please consider what kind of change it is:

-
    -
  • -

    For a Data Model Specification Proposal or Extension, first open an issue and outline your proposal so that it can be discussed. Please follow the data model specification template.

  • -
  • -

    Data examples implementing/illustrating an existing Data Model can be directly submitted as a Pull Request. For example different atlas releases conformant to the atlas registration prov pattern can be submitted.

  • -
  • -

    For a Major Feature related to the tools and scripts made available in this repository, first open an issue and outline your proposal so that it can be discussed. This will also allow us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.

  • -
  • -

    Small Features can be crafted and directly submitted as a Pull Request.

  • -
-

Submission Guidelines

-

Submitting an Issue

-

Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available. We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs we will need as much information as possible, and preferably be in touch with you to gather information.

-

Submitting a Data Model Specification

-

Before you submit your proposal consider the following guidelines:

-
    -
  • -

    Please join the INCF Special Interest Group (SIG) on Neuroshapes before sending pull requests. Proposals are managed and reviewed by members of that INCF SIG.

  • -
  • -

    Make sure you’ve read the vocabulary and schemas best practices and that your Data Model Specification conform to them.

  • -
  • -

    Make sure your submission conform to the data model specification template.

  • -
-

Submitting a Pull Request (PR)

-

Before you submit your Pull Request (PR) consider the following guidelines:

-
    -
  • -

    Please join the INCF SIG on Neuroshapes before sending Pull requests. Proposals are managed and reviewed by members of that INCF SIG.

  • -
  • -

    Make sure you’ve read the vocabulary and schemas best practices and that your Pull Request conform to them.

  • -
  • -

    Make your changes in a new git branch: shell - git checkout -b my-fix-branch master -

  • -
  • Create your patch, including appropriate test cases. See the how to write a test for a schema section
  • -
  • -

    Run the full test suite, and ensure that all tests pass.

  • -
  • -

    Commit your changes using a descriptive commit message. shell - git commit -a - Note: the optional commit -a command line option will automatically “add” and “rm” edited files.

  • -
  • -

    Push your branch to GitHub:

    -
    git push origin my-fix-branch
    -
  • -
  • In GitHub, send a pull request to the master branch of the relevant component.
  • -
  • -

    If we suggest changes then:

  • -
  • Make the required updates.
  • -
  • Re-run the test suites to ensure tests are still passing.
  • -
  • -

    Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

    -
    git rebase master -i
    -git push -f
    -
    -

    That’s it! Thank you for your contribution!

    -

    After your pull request is merged

    After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:
  • -
  • -

    Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:

    -
    git push origin --delete my-fix-branch
    -
  • -
  • -

    Check out the master branch:

    -
    git checkout master -f
    -
  • -
  • -

    Delete the local branch:

    -
    git branch -D my-fix-branch
    -
  • -
  • -

    Update your master with the latest upstream version:

    -
    git pull --ff upstream master
    -
  • -
-

Joining the INCF Neuroshape SIG

-

TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models.html b/data-models.html deleted file mode 100644 index df083a84..00000000 --- a/data-models.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Data models - - - - - - - - - - - - - - - -
- -
- -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
- -
-
-
- - -
- - - - - - - - diff --git a/data-models/brainatlas/brain-atlas-derivation.html b/data-models/brainatlas/brain-atlas-derivation.html deleted file mode 100644 index f593c2df..00000000 --- a/data-models/brainatlas/brain-atlas-derivation.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Brain Atlas Derivation · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Brain Atlas Derivation

-

Use case

-

Description

-

TBD

-

Competency questions

-

TBD

-

Provenance pattern

-

Link towards the provenance pattern: TBD

-

Entities

-

The different entity types involved are described below.

- - - - - - - - - - - - - -
Type Description
An Entity type A description
-

Activities

- - - - - - - - - - - - - -
Type Description
An activity Type A description
-

Agents

- - - - - - - - - - - - - -
Type Description
An Agent Types A description
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/brainatlas/brain-atlas.html b/data-models/brainatlas/brain-atlas.html deleted file mode 100644 index ef7248bf..00000000 --- a/data-models/brainatlas/brain-atlas.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Brain Atlas · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Brain Atlas

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/brainatlas/registering-brain-atlas.html b/data-models/brainatlas/registering-brain-atlas.html deleted file mode 100644 index 7dd67401..00000000 --- a/data-models/brainatlas/registering-brain-atlas.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Registering a Brain Atlas Release · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
- -
-
-
-
-
-

Registering a Brain Atlas Release

-

Use case

-

Description

-

TBD

-

Competency questions (to be completed)

-

From a specific version of a brain atlas:

-
    -
  • Get the brain parcellation dataset
  • -
  • Get the brain parcellation labels dataset
  • -
  • Get the image stack datasets
  • -
  • Get the coordinate system of the atlas spatial reference system
  • -
-

Provenance pattern

-

Link towards the provenance pattern: TBD

-

Entities

-

The different entity types involved are described below.

- - - - - - - - - - - - - -
Type Description
SubjectCollection A description
-

Activities

- - - - - - - - - - - - - -
Type Description
Atlas Construction A description
-

Agents

- - - - - - - - - - - - - -
Type Description
Person A description
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/electrophysiology/wholecellpatchclamp-recording.html b/data-models/electrophysiology/wholecellpatchclamp-recording.html deleted file mode 100644 index bd28ec78..00000000 --- a/data-models/electrophysiology/wholecellpatchclamp-recording.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Whole-cell patch-clamp recording · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
- -
-
-
-
-
-

Whole-cell patch-clamp recording

-

Use case

-

Description

-

This specification describes metadata collected for in vitro intracellular electrophysiology recordings using the whole-cell patch-clamp configuration. Metadata is collected on the subject used in the experiment, the slice, the patched cell which was recorded as well as the recording traces and protocols. Additionally, metadata for the brain slicing, the whole-cell patch-clamp and the stimulus used to generate traces are captured.

-

Competency questions (to be completed)

-

The following points describe a subset of questions the provenance pattern above can support:

-
    -
  • Retrieve all electrophysiology traces generated from rat somatosensory cortex using selected stimuli
  • -
  • Retrieve electrophysiology traces by recording day
  • -
  • For a given stimulus / sweep / repetition, get a specific voltage and/or current trace.
  • -
  • Get the liquid junction potential for an individual trace.
  • -
-

Provenance pattern

-

Whole-cell patch-clamp-recording

-

Entities

-

The different entity types involved are described below.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type Description
Subject Specimen that was used for the experimental analysis
Slice Brain slice obtained from the specimen
PatchedSlice Brain slice with patched cells
PatchedCellCollectionCollection of patched cells in a single slice
PatchedCell Cell that was patched in the slice
Trace Individual recording trace of the patched cell (StimulationTrace and ResponseTrace)
Protocol Document that describes the method used in the design and implementation of an experiment
-

Activities

-

The different activity types involved are described below.

- - - - - - - - - - - - - - - - - - - - - -
Type Description
BrainSlicing Technique used to obtain a slice of brain tissue for patching
WholeCellPatchClamp Technique used to study ionic currents of individual living cells
StimulusExperiment Technique used to obtain the electrical signature of cells through injection of a defined current patternuio
-

Agents

-

The different agent types involved are described below.

- - - - - - - - - - - - - - - - - - - - - -
Type Description
Person Person associated with an activity
SoftwareAgent Software associated with an activity
Organization Organization associated with an activity
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/index.html b/data-models/index.html deleted file mode 100644 index 65a7b96f..00000000 --- a/data-models/index.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Data models and Formats · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Data models and Formats

-

Data model elements

-

Overview

-

Competency questions

-

Competency questions

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/literature/annotation.html b/data-models/literature/annotation.html deleted file mode 100644 index d4a0522c..00000000 --- a/data-models/literature/annotation.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Annotation · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Annotation

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/literature/literature.html b/data-models/literature/literature.html deleted file mode 100644 index dc4cb881..00000000 --- a/data-models/literature/literature.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Literature · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Literature

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/literature/literatureannotation.html b/data-models/literature/literatureannotation.html deleted file mode 100644 index be9c316b..00000000 --- a/data-models/literature/literatureannotation.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Literature Annotation · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Literature Annotation

-

A motivating example

-

Description

-

We want to be able to get, from a parameter type, all the data that are in the corpus. From this raw “dump”, we will use NAT for performing the various post-treatments to generate parameter aggregation. Parameter aggregations will need to be registered to Nexus and queried back from Nexus.

-

Competency questions

-
    -
  • -

    Annotation:

    -
      -
    • Get all annotations
    • -
    • Get annotations by parameter type (labels ?)
    • -
    • Get annotation by id
    • -
    • Get annotation by article id (doi,…)
    • -
    -
  • -
  • -

    Parameter:

    -
      -
    • Get all parameters
    • -
    • Get parameters by type
    • -
    • Get parameters by annotation id
    • -
    -
  • -
-

Abstract Data model

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/literature/parameter.html b/data-models/literature/parameter.html deleted file mode 100644 index 2179a902..00000000 --- a/data-models/literature/parameter.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Parameter · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Parameter

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/literature/provenance.html b/data-models/literature/provenance.html deleted file mode 100644 index c08bf9d9..00000000 --- a/data-models/literature/provenance.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Provenance · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Provenance

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/minds/minds.html b/data-models/minds/minds.html deleted file mode 100644 index 86c4b215..00000000 --- a/data-models/minds/minds.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -MINDS · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

MINDS

-

Overview

-

Put the abstract model here

-

Competency questions

-

The questions this model address

-

Schemas

-

Vocabulary and constraints as well as data examples. Give an overview here and link towards the Neuroscience graph vocabulary docs.

-

Ontologies

-

Recommended ontologies to use

-

Taxonomies

-

Recommended taxonomies to use

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/morphology/morphology-reconstruction.html b/data-models/morphology/morphology-reconstruction.html deleted file mode 100644 index a0cca974..00000000 --- a/data-models/morphology/morphology-reconstruction.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -In vitro cell morphology reconstruction · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
-
-

In vitro cell morphology reconstruction

-

Use case

-

Description

-

This specification describes metadata collected for in vitro morphology reconstruction using a slice. The process of obtaining a reconstructed cell typically begins with the injection of a dye during the electrophysiology recording. Some of the activities and entities shown here are shared with the electrophysiology whole-cell patch-clamp recording. The metadata is collected starting with the specimen, the slice, the patched cell. The stained neuron is most commonly visualized with a histological procedure following the fixation of the tissue where the cells can be identified and annotated to proceed then with the reconstruction of the cell. Metadata from all these procedures is captured as well as the protocols used and the persons, software and organizations involved in each of the steps. The reconstructed cell has the link towards the binary file with the actual morphology reconstruction.

-

Competency questions (to be completed)

-
    -
  • Retrieve all morphologies reconstructions -
      -
    • from brain region X.
    • -
    • in layer X and that are pyramidal cells.
    • -
    • from experimentalist X or from Lab Y.
    • -
    • that contain information about where the axon projects to.
    • -
    • a specimen under treatment x.
    • -
    • a specimen of age X, gender Z.
    • -
    • that have a 3D soma type.
    • -
    • from 2015 onwards.
    • -
    -
  • -
-

Provenance pattern

-

Morphology reconstruction

-

Entities

-

The different entity types involved are described below.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type Description
Subject Specimen that was used for the experimental analysis
Slice Brain slice obtained from the specimen
PatchedSlice Brain slice with patched cells
PatchedCellCollection Collection of patched cells in a single slice
PatchedCell Cell that was patched in the slice
FixedStainedSlice Brain slice after fixation and staining
AnnotatedSlice Brain slice containing the identified and annotated stained cells
LabeledCellCollection Collection of labeled cells in a single slice
LabeledCell Cell that was labeled in the slice
ReconstructedCell Digitally reconstructed cell
Protocol Document that describes the method used in the design and implementation of an experiment
-

Activities

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type Description
BrainSlicing Technique used to obtain a slice of brain tissue for patching
WholeCellPatchClamp Technique used to study ionic currents of individual living cells
FixationStainingMounting Process of fixation and staining of the slice and mounting it on a slide
AcquisitionAnnotation Process of acquiring the image of the slice and annotating the stained cells
Reconstruction Process of obtaining a reconstructed cell
-

Agents

- - - - - - - - - - - - - - - - - - - - - -
Type Description
Person Person associated with an activity
SoftwareAgent Software associated with an activity
Organization Organization associated with an activity
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/data-models/morphology/morphology.html b/data-models/morphology/morphology.html deleted file mode 100644 index 9caf2d57..00000000 --- a/data-models/morphology/morphology.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Morphology · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Morphology

-

Use cases

-

List of use cases: TBD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/datamodeling/index.html b/datamodeling/index.html deleted file mode 100644 index a18b1034..00000000 --- a/datamodeling/index.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Modeling Your Data · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Modeling Your Data

-

Example driven introduction to linked data modeling principles as well as JSON-LD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/datamodeling/linkeddata/index.html b/datamodeling/linkeddata/index.html deleted file mode 100644 index 43085800..00000000 --- a/datamodeling/linkeddata/index.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Thinking in Linked Data - - - - - - - - - - - - - - - -
- -
- -
-
-
-
-
-
- - -
-
-
-
-
-
-

Thinking in Linked Data

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/datamodeling/linkeddata/rdf/index.html b/datamodeling/linkeddata/rdf/index.html deleted file mode 100644 index b1a50f74..00000000 --- a/datamodeling/linkeddata/rdf/index.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -JSON for Linking Data · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
-
-
-

JSON for Linking Data

Note
-

This section introduces basic concepts of JSON for Linked Data (JSON-LD). The reader should look at the JSON-LD specification for in-depth documentation.

-

JSON-LD is a very flexible format allowing multiple json representation for the same content as shown in the following example:

-

Why JSON-LD ?

-

First of all a json-ld document is a json document. So what is the difference ? To help answer the question, let consider the following json document:

-
{
-  "identifier" : "0e3b328c-c18f-4e64-9a0e-f6e4f32b36da",
-  "python":"fast",
-  "java" : ""
-}
-
-

What this document is about ? Python and Java as programming languages or as snake and the indonesia island respectively ? The json document is ambiguous. With just the payload, human and software agents can’t confidently infer the document topic without knowing from which endpoint it was obtained.

-

semantic preserving data exchange

-

Json-ld specification was created to solve the above ambiguity issue among other features it brings to the way web resources are exchanged through API. To enable semantic preserving data exchange, it adds a context object to the json document within which each json keys and/or values can be mapped to a unique identifier as shown in the following document:

-
{
-  "@context":{
-   "python":"http://programminglanguages.org/python",
-   "java":"http://programminglanguages.org/java",
-   "identifier":"@id"
-  },
-  "identifier" : "0e3b328c-c18f-4e64-9a0e-f6e4f32b36da",
-  "python":"fast",
-  "java" : ""
-}
-
-

A JSON-LD context is simply a mapping:

-
    -
  • from a key often called prefix and sometimes aliases: python, java as well as identifier are prefixes
  • -
  • to a value often called namespace: *http://programminglanguages.org/python* is a namespace -
  • -
Note
-

The JSON-LD document can be seen within the json-ld playground.

-

When written with a context object, a JSON-LD document is said to be compacted. On the opposite, the json-ld context is said expanded when its context is applied, i.e all prefixes as well as aliases are replaced by their corresponding namespaces. Find below the expanded form of the json-ld document example above:

-
{
-  "@id" : "0e3b328c-c18f-4e64-9a0e-f6e4f32b36da",
-  "http://programminglanguages.org/python":"fast",
-  "http://programminglanguages.org/java" : ""
-}
-
-

JSON-LD data model

-

A JSON-LD document can be seen a json tree or as a RDF document (Resource description Framework).

Note
-

The reader can checkout the full RDF recommendation here.

-

As one of the multiple RDF document serialization format, a JSON-LD document can be seen as a directed graph where every of piece of knowledge about a thing always comes in three and is broken down in (**subject, predicate, object**):

-

Knowledge comes in three

-

(subject, predicate, object) is often called a statement, an assertion, a fact or more technically a triple just like in most programming languages (python, java,…). So a JSON-LD document can be seen as a collection of triples.

-

The graph vocabulary is often used when naming elements of a triple:

-
    -
  • the subject and the object are called nodes
  • -
  • while the predicate is called property or arc
  • -
-

Here is the set of triples corresponding to the json-ld document above:

-

Knowledge comes in three

-

-

Cool URIs don’t change

-

Elements of a JSON-LD document have URIs as identifiers. For example, the URI of the Allen human brain atlas ontology (as integrated in NIP) is http://api.brainmap.org/api/v2/data/Structure, while the URI of the specific term “gray matter” is http://api.brainmap. org/api/v2/data/Structure/4006 . The previous two URIs can have a short form which is called prefix (a stable string) for the ontology and CURIE for the ontology entities. Let take again the previous example. The prefix name of (the short form of) “ http://api.brainmap. org/api/v2/data/Structure ” can be ‘HBA’ while the curie of the term ’’grey matter" is ‘HBA:4006’. Given the curie ‘HBA:4006’, ‘HBA’ is the prefix name and ‘4006’ is the fragment.

-

Further reading

-

JSON-LD Best Practices

-

JSON-LD

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/datamodeling/linkeddata/rdf/json-ld.html b/datamodeling/linkeddata/rdf/json-ld.html deleted file mode 100644 index fa05fbe3..00000000 --- a/datamodeling/linkeddata/rdf/json-ld.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -JSON-LD · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

JSON-LD

-

SHACL is for validating data represented using the Resource Description Framework (RDF). So, before starting to describe SHACL in details, it is important to introduce some concepts of RDF. The goal of this section is not to fully describe RDF data model but rather introduce some of its core concepts that are necessary to understand SHACL.

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/datamodeling/linkeddata/rdf/readings.html b/datamodeling/linkeddata/rdf/readings.html deleted file mode 100644 index ebfcb8d7..00000000 --- a/datamodeling/linkeddata/rdf/readings.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Further Reading · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
- - -
- - - - - - - - diff --git a/datamodeling/linkeddata/rdf/uris.html b/datamodeling/linkeddata/rdf/uris.html deleted file mode 100644 index 058845bc..00000000 --- a/datamodeling/linkeddata/rdf/uris.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Cool URIs dont change · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Cool URIs don’t change

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/gettingstarted/index.html b/gettingstarted/index.html deleted file mode 100644 index 228bfa8c..00000000 --- a/gettingstarted/index.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Getting Started · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
- - -
- - - - - - - - diff --git a/gettingstarted/overview.html b/gettingstarted/overview.html deleted file mode 100644 index ebcc0555..00000000 --- a/gettingstarted/overview.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Overview · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
- - -
- - - - - - - - diff --git a/index.html b/index.html deleted file mode 100644 index f6b182c0..00000000 --- a/index.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Neuroshapes - - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
- - -
-
-
-
-
-
-

Neuroshapes

-

Motivation

-

The goal of Neuroshapes is the development of open, use case driven and shared validatable data models (schemas, vocabularies) to enable the FAIR principles (Findable, Accessible, Interoperable and Reusable) for basic, computational and clinical neuroscience (meta)data. The data models developed thus far entities for electrophysiology, neuron morphology, brain atlases, in vitro electrophysiology and computational modeling. Future developments could include brain imaging, transcriptomic and clinical form data, as determined by community interests.

Note
-

All data models presented in this documentation are still drafts. Potential changes can be discussed on Github or on Gitter

-

Goals

-
    -
  • -

    the use of standard semantic markups and linked data principles as ways to structure metadata and related data: the W3C RDF format is leveraged, specifically its developer-friendly JSON-LD serialization. The adoption of linked data principles and JSON-LD will ease federated access and discoverability of distributed neuroscience (meta)data over the web.

  • -
  • -

    the use of the W3C SHACL (Shapes Constraint Language) recommendation as a rich metadata schema language which is formal and expressive; interoperable; machine-readable; and domain-agnostic. With SHACL, (meta)data quality can be enforced based on schemas and vocabularies (easily discoverable and searchable) rather than being fully encoded in procedural codes. SHACL also provides key interoperability capabilities to ensure the evolution of standard data models and data longevity. It allows to incrementally build standard data models in terms of semantics and sophistication.

  • -
  • -

    the reuse of existing schemas and semantic markups (like schema.org ) and existing ontologies and controlled vocabularies (including NIFSTD - NIF Standard Ontologies)

  • -
  • -

    the use of the W3C PROV-O recommendation as a format to record (meta)data provenance: a SHACL version of the W3C PROV-O is created.

  • -
-

Join the INCF Neuroshape SIG

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/license.html b/license.html deleted file mode 100644 index f8aab59c..00000000 --- a/license.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -License · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
- -
- - -
- - - - - - - - diff --git a/publication/index.html b/publication/index.html deleted file mode 100644 index 65c547b6..00000000 --- a/publication/index.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Publications · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
- -
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/constraints.html b/shacl-tutorial/overview/constraints.html deleted file mode 100644 index 05e28905..00000000 --- a/shacl-tutorial/overview/constraints.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Constraints · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
-
-
-

Constraints

-

A shape can defined a set of constraints to be checked against selected nodes. The set of possible constraints can be divided into two categories:

-
    -
  • NodeKind constraint: about selected nodes themselves
  • -
  • Property constraints: about outgoing or incoming properties of each selected node
  • -
-

NodeKind Constraint

-

The nodeKind constraint allows to choose if a selected need to be identified by an IRI eventually consistent with a specific pattern or if it can unidentified. At most one nodeKind constraint can be defined for a given NodeShape.

-

The following schema states that all values of the property bbp:morphology have to be nodes identified by IRIs.

-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/MorphologyPropertyObject",
-    "@type" : "sh:NodeShape",
-    "targetObjectsOf" : "bbp:morphology",
-    "nodeKind": "sh:IRI"
-  } ]
-}
-
-

Instance target

-

In the previous example, the node “Morphology_1” (red border) is an object of the property bbp:morphology which is a Literal (precisely a string literal). So it’s not identifier by an IRI which makes it invalid. The node bbp:Morphology_2 (green border) on the other hand is valid because it is an object property of the property bbp:morphology and is identified by an IRI. All values of the nodeKind constraint are listed in the table below:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value Description
sh:IRI The selected nodes have to be identified by a valid IRI.
sh:BlankNode The selected nodes should not be identified by an IRI nor be a Literal.
sh:Literal The selected nodes should be a Literal.
sh:BlankNodeOrIRI Disjunctive combination of sh:BlankNode and sh:IRI.
sh:BlankNodeOrLiteral Disjunctive combination of sh:BlankNode and sh:Literal.
sh:IRIOrLiteral Disjunctive combination of sh:IRI and sh:Literal.
-

Property Constraints

-
-

Definition of bbp:morphology as an outgoing property of any instance of bbp:Circuit:

-
-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-    "property" : [ {
-          "path" : "bbp:morphology",
-          "name" : "morphologies",
-          "description" : "Collection of morphologies used in the circuit building."
-        }
-    } ]
-  ]
-}
-
-

Given a selected node, a shape defines a set of outgoing and/or incoming properties as well as a set of constraints for each of them. By doing so, a shape enforce a vocabulary (a set of properties) to be used for describing the selected nodes (instances of bbp:Circuit in the schema for example) and how that vocabulary should be used (constraints).

-

To define a set of incoming and/or outgoing properties, the property key is used. It is an array and each of its item is an instance of a PropertyShape. The following tables describe the minimal keys to use in order to define a property:

- - - - - - - - - - - - - - - - - - - - - -
key Description
path MAandatory. Refers to the property IRI (“bbp:morphology” in the schema example) in case of outgoing property. For an incoming one, the following syntax is used: “path” : [ “sh:inversePath prov:generated” ].
name Optional. A human readable name of the property. The name can be used in generated forms for example.
description Optional. Description of the property.
-

Once the property shape is defined, a set of constraints can be attached to it.

-
    -
  • Cardinality Constraints
  • -
-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-    "property" : [ {
-          "path" : "bbp:morphology",
-          "name" : "morphologies",
-          "description" : "Collection of morphologies used in the circuit building.",
-          "minCount":"1",
-          "maxCount":"3"
-        },
-        {
-          "path" : "bbp:dataSpace",
-          "name" : "Data Space",
-          "description" : "Data Space.",
-          "minCount":"1"
-        }
-    ]
-  }
-  ]
-}
-
-

How many outgoing “bbp:morphology” properties a specific bbp:Circuit instance can have ? A question that can be reformulated as: how many triples following the pattern (bbp:Circuit_*, bbp:morphology, object) can exist in the data graph ? The answers can be: zero or more, exactly one, at most one. To enforce one of these answers a cardinality constraint can be defined and attached to a property shape as shown in the schema example. The default value for minCount and maxCount is 0.

-

The example schema states that all instances of bbp:Circuit should have at least one value for bbp:morphology property and at most 3 values. They should have at least one value for bbp:dataSpace property as well. In the example data graph below, bbp:Circuit_1 is valid because it has one value for bbp:morphology property and one value for bbp:dataSpace. On the other hand, bbp:Circuit_2 is not valid because it has not a value for bbp:dataSpace property.

-

Instance target

-
    -
  • Property Value Type Constraints
  • -
-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-    "property" : [ {
-          "path" : "bbp:morphology",
-          "name" : "morphologies",
-          "description" : "Collection of morphologies used in the circuit building.",
-          "class": "bbp:Morphology",
-          "minCount":"1",
-          "maxCount":"3"
-        },
-        {
-          "path" : "bbp:dataSpace",
-          "name" : "Data Space",
-          "description" : "Data Space.",
-          "minCount":"1"
-        },
-        {
-          "path" : "bbp:brainRegion",
-          "name" : "Brain region",
-          "description" : "Brain region.",
-          "minCount":"1",
-          "maxCount":"3",
-          "node": "circuitshape:LabeledOntologyTermShape"
-        },
-        {
-          "path" : "schema:name",
-          "name" : "Name",
-          "description" : "Circuit name",
-          "datatype": "xsd:string",
-          "minCount":"1",
-          "maxCount":"1"
-        }
-    ]
-  },
-  {
-        "@id" : "circuitshape:LabeledOntologyTermShape",
-        "@type" : "sh:NodeShape",
-        "nodeKind": "sh:IRI",
-        "property" : [ {
-          "path" : "rdfs:label",
-          "name" : "label",
-          "description" : "Human readable label",
-          "datatype": "xsd:string",
-          "maxCount" : 1,
-          "minCount" : 1
-
-        }
-   }
-  ]
-}
-
-

The type of a property value can be restricted. In the schema example, all instances of bbp:circuit should have exactly one name which should be of type string. How to express such type restriction in a shacl schema ?

-

Primitive type as property value

-

A property value can be of a primitive type: string, integer, double, anyURI, … and datatype key is used to define such primitive expected types as shown in the shacl schema example. The namespace of all primitive types is xsd and for a complete list of those types please check here.

-

Property values are not always primitive and two other typical situations may occurs.

-

Reference as property value

-

The type of a property value can be restricted to be an instance of a specific class. For example, it may be useful to enforce all values of the bbp:morphology property of a given circuit to be of type bbp:Morphology. To express this type of constraint the key class is used as shown in the schema example. The ability to constraint types is important to ensure the quality and reliability of the data being submitted into the Nexus platform and SHACL allows to do that without writing a single line of validation code.

-

Node as property value

-

Sometimes it may be useful to enforce that a property value has a particular shape instead of being of a specific type. For example, we may want to enforce all brain region values of a all circuits (instances of bbp:Circuit) to have at least an IRI as identifier (“nodeKind”: “sh:IRI”) and a label as human readable description. The key node is used to express a shape constraint.

-

Qualified Cardinality

-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-    "property" : [ {
-      "path" : "bbp:morphology",
-      "name" : "morphologies",
-      "description" : "Collection of morphologies used in the circuit building.",
-      "class": "bbp:Morphology",
-      "minCount":"3",
-      "maxCount":"3"
-    },
-    {
-      "path" : "bbp:morphology",
-      "qualifiedValueShape": {
-         "class" : "bbp:RawMorphology"
-      },
-      "qualifiedValueShapesDisjoint": true,
-      "qualifiedMinCount":1,
-      "qualifiedMaxCount":1
-    },
-    {
-      "path" : "bbp:morphology",
-      "qualifiedValueShape": {
-         "class" : "bbp:SynthesizedMorphology"
-      },
-      "qualifiedValueShapesDisjoint": true,
-      "qualifiedMinCount":1
-    }
-    ]
-  }
-  ]
-}
-
-

Cardinality constraints can be more complex than what is presented in the constraints section above. A complex cardinality use case can be expressed in the following way : *a bbp:Circuit instance should be linked with exactly 3 Morphologies (instances of bbp:Morphology) *exactly one of them should be a raw morphology (an instance of bbp:RawMorphology) *at least one of them should be synthesized morphology (an instance of bbp:SynthesizedMorphology) *and a bbp:Circuit instance can’t be at the same time of type bbp:RawMorphology and bbp:SynthesizedMorphology

-

The schema example shows how to implement the above constraints using the following keys:

- - - - - - - - - - - - - - - - - - - - - - - - - -
key Description
qualifiedValueShape Mandatory. The shape that the specified (through qualifiedMinCount and qualifiedMaxCount) number of nodes should be consistent with.
qualifiedMinCount Mandatory. The minimum number of nodes that should be consistent with the shape in qualifiedValueShape
qualifiedMaxCount Mandatory. The maximum number of nodes that should be consistent with the shape in qualifiedValueShape
qualifiedValueShapesDisjoint Optional. If true then the values conform to the current property shape must not conform to the siblings property shapes
-

Combining shapes

-

Until now we’ve described how to define a shape that targets different nodes using different selectors and enforcing different type of constraints. But designing real life schemas is complex and often required reuse of already defined ones. Two use cases can occur when it comes to reuse SHACL schemas:

-
    -
  • reuse a shape by combining it with other shapes using boolean operators
  • -
  • specialization mechanism between shapes
  • -
-

Logical combination of shapes

-
-

A node shape definition for all instances of bbp:Entity

-
-
{
-  "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "this:EntityShape",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Entity",
-    "nodeKind": "sh:IRI",
-    "property" : [{
-      "path" : "schema:name",
-      "name" : "Name",
-      "description" : "Entity name",
-      "or":[
-          {
-            "datatype": "xsd:string"
-          },
-          {
-            "datatype": "xsd:integer"
-          }
-      ]
-    },{
-      "path" : "schema:description",
-      "name" : "Description",
-      "description" : "The entity description",
-      "datatype" : "xsd:string"
-    }
-    ]
-  }
-  ]
-}
-
-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "@type": "owl:Ontology",
-  "imports" : [ "{endpoint}/schemas/bbp/core/entity/v1.0.0/"],
-  "shapes" : [ {
-    "@id" : "this:Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-     "and":[{
-        "node":"{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/EntityShape"
-      },
-      {
-       "property" : [ {
-                "path" : "bbp:morphology",
-                "name" : "morphologies",
-                "description" : "Collection of morphologies used in the circuit building.",
-                "class": "bbp:Morphology",
-                "minCount":"1",
-                "maxCount":"3"
-              }
-          ]
-      }
-    ]
-  }
-  ]
-}
-
-

Shapes can be combined using the following boolean operators:

- - - - - - - - - - - - - - - - - - - - - - - - - -
key Description
and The data has to be valid with respect to all combined shapes
or The data has to be valid with respect to at least one shape
xone The data has to be valid with respect to only one shape
not The data should not be valid with respect to the given shape(s)
-

In the previous schema (identified by {endpoint}/schemas/bbp/simulation/circuit/v1.0.0/), the property shape related to schema:name property can be externalized in a schema ({endpoint}/schemas/bbp/core/entity/v1.0.0/) belonging to the “bbp” organization, “core” domain and named “entity” as shown in the right tab. Now let reuse (see in the right) the entity schema since a bbp:Circuit is a bbp:Entity as well. Basically, the schema is expressing that a bbp:Circuit instance should be consistent with respect to the schema for bbp:Entity (external one) and the one for bbp:Circuit (local one).

- -

The or, xone and not operators can be used in the same way as the and one. The example shows how to logically combined two node shapes. Property shapes can be combined as well as shown in the shape this:EntityShape where the property schema:name van be of type string of integer.

- -

Shape specialization

-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "@type": "owl:Ontology",
-  "imports" : [ "{endpoint}/schemas/bbp/core/entity/v1.0.0/"],
-  "shapes" : [ {
-    "@id" : "this:Circuit",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "nodeKind": "sh:IRI",
-     "and":[{
-        "node":"{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/EntityShape"
-      },
-      {
-       "property" : [
-          {
-           "path" : "schema:description",
-           "minCount" : 1
-           "maxCount" : 1
-          },
-          {
-           "path" : "bbp:morphology",
-           "name" : "morphologies",
-           "description" : "Collection of morphologies used in the circuit building.",
-           "class": "bbp:Morphology",
-           "minCount":"1",
-           "maxCount":"3"
-          }
-         ]
-      }
-    ]
-  }
-  ]
-}
-
-

In the previous section, the circuit schema example already introduces a bit the way a shape can be specialized. Indeed combining shapes using the and boolean operator conveys a sense of extension. But the specialization can go further than just adding more constraints on top of a reused schema. The this:Circuit can further constraint the use of the schema:description property in all bbp:Circuit instances by setting a minimal and a mawimal cardinality. All bbp:Circuit instances must have exactly one value for the property schema:description whereas it’s not mandatory for other bbp:Entity instances.

- -

Frequent SHACL validation errors

-

WIP

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/data-modeling-approach.html b/shacl-tutorial/overview/data-modeling-approach.html deleted file mode 100644 index 33ad0294..00000000 --- a/shacl-tutorial/overview/data-modeling-approach.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Data modeling approach · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Data modeling approach

-

Data modelling approach

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/index.html b/shacl-tutorial/overview/index.html deleted file mode 100644 index 7dc4b4cb..00000000 --- a/shacl-tutorial/overview/index.html +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -SHACL in a Nutshell · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
-
-
-

SHACL in a Nutshell

-

This document presents an example-driven overview of the W3C SHACL recommendation for RDF data validation.

Note
-

The overview only introduces the W3C SHACL specification in the context of its usage within Neuroshapes. For an in-depth description, the user should read the W3C SHACL recommendation but also the excellent set of learning resources available at the Validating RDF website.

-

It is highly recommended to read the following section before continuing to read this document:

- -

What is SHACL ?

-

The SHApes Constraint Language (**SHACL**) is a W3C recommendation allowing to validate a RDF graph against a set of constraints defined in so-called shapes.

-

JSON-LD serialization

-

All examples (both shapes and data) in this document are serialized using the JSON-LD format unlike the W3C SHACL recommendation document where TURTLE is preferred. While Turtle is more compact, JSON-LD is more suitable for exchange in the context of the web through already popular json APIs which is an important aspect for adoption purpose specially by developers. Nevertheless, it is possible to convert from one format to the other using many converters available online. EASYRDF is one example.

-

Namespaces and Context

-

JSON-LD can be very verbose if a context is not provided. To improve readability and to simplify both shapes and data examples, a SHACL context described below was created. This default context is only related to the SHACL vocabulary (i.e. the set of terms defined in the SHACL specification) and it is highly recommended to use it. Since writing a SHACL shape almost always required using a domain vocabulary, the SHACL context can be updated with domain specific prefix mappings or aliases when needed. In all cases, the context below will be refer to context/shacl from now on.

-
-
SHACL JSON-LD context -
-
-
{
-  "@context": [
-    {
-      "owl": "http://www.w3.org/2002/07/owl#",
-      "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
-      "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
-      "xsd": "http://www.w3.org/2001/XMLSchema#",
-      "skos": "http://www.w3.org/2004/02/skos/core#",
-      "prov": "http://www.w3.org/ns/prov#",
-      "sh": "http://www.w3.org/ns/shacl#",
-      "shsh": "http://www.w3.org/ns/shacl-shacl#",
-      "dcterms": "http://purl.org/dc/terms/",
-      "schema": "http://schema.org/",
-      "nxv": "https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/",
-      "nsg": "https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/",
-      "class": {
-        "@id": "sh:class",
-        "@type": "@id"
-      },
-      "path": {
-        "@id": "sh:path",
-        "@type": "@id"
-      },
-      "qualifiedValueShape": {
-        "@id": "sh:qualifiedValueShape",
-        "@type": "@id"
-      },
-      "qualifiedValueShapesDisjoint": {
-        "@id": "sh:qualifiedValueShapesDisjoint",
-        "@type": "xsd:boolean"
-      },
-      "qualifiedMinCount": {
-        "@id": "sh:qualifiedMinCount",
-        "@type": "xsd:integer"
-      },
-      "qualifiedMaxCount": {
-        "@id": "sh:qualifiedMaxCount",
-        "@type": "xsd:integer"
-      },
-      "maxCount": {
-        "@id": "sh:maxCount",
-        "@type": "xsd:integer"
-      },
-      "minCount": {
-        "@id": "sh:minCount",
-        "@type": "xsd:integer"
-      },
-      "minInclusive": {
-        "@id": "sh:minInclusive"
-      },
-      "maxInclusive": {
-        "@id": "sh:maxInclusive"
-      },
-      "maxExclusive": {
-        "@id": "sh:maxExclusive"
-      },
-      "minExclusive": {
-        "@id": "sh:minExclusive"
-      },
-      "in": {
-        "@id": "sh:in",
-        "@container": "@list"
-      },
-      "imports": {
-        "@id": "owl:imports",
-        "@type": "@id",
-        "@container": "@set"
-      },
-      "datatype": {
-        "@id": "sh:datatype",
-        "@type": "@id"
-      },
-      "description": {
-        "@id": "sh:description"
-      },
-      "name": {
-        "@id": "sh:name"
-      },
-      "severity": {
-        "@id": "sh:severity"
-      },
-      "nodeKind": {
-        "@id": "sh:nodeKind",
-        "@type": "@id"
-      },
-      "BlankNode": {
-        "@id": "sh:BlankNode"
-      },
-      "BlankNodeOrIRI": {
-        "@id": "sh:BlankNodeOrIRI"
-      },
-      "BlankNodeOrLiteral": {
-        "@id": "sh:BlankNodeOrLiteral"
-      },
-      "IRI": {
-        "@id": "sh:IRI"
-      },
-      "IRIOrLiteral": {
-        "@id": "sh:IRIOrLiteral"
-      },
-      "Literal": {
-        "@id": "sh:Literal"
-      },
-      "prefix": {
-        "@id": "sh:prefix",
-        "@type": "xsd:string"
-      },
-      "declare": {
-        "@id": "sh:declare"
-      },
-      "namespace": {
-        "@id": "sh:namespace",
-        "@type": "xsd:anyURI"
-      },
-      "Violation": {
-        "@id": "sh:Violation"
-      },
-      "suggestedShapesGraph": {
-        "@id": "sh:suggestedShapesGraph",
-        "@type": "@id"
-      },
-      "shapesGraph": {
-        "@id": "sh:shapesGraph",
-        "@type": "@id"
-      },
-      "node": {
-        "@id": "sh:node",
-        "@type": "@id"
-      },
-      "property": {
-        "@id": "sh:property",
-        "@type": "@id",
-        "@container": "@set"
-      },
-      "targetClass": {
-        "@id": "sh:targetClass",
-        "@type": "@id"
-      },
-      "targetObjectsOf": {
-        "@id": "sh:targetObjectsOf",
-        "@type": "@id"
-      },
-      "targetSubjectsOf": {
-        "@id": "sh:targetSubjectsOf",
-        "@type": "@id"
-      },
-      "targetNode": {
-        "@id": "sh:targetNode",
-        "@type": "@id"
-      },
-      "target": {
-        "@id": "sh:target",
-        "@type": "@id"
-      },
-      "isDefinedBy": {
-        "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy",
-        "@type": "@id"
-      },
-      "shapes": {
-        "@reverse": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy",
-        "@type": "@id",
-        "@container": "@set"
-      },
-      "Shape": {
-        "@id": "sh:Shape"
-      },
-      "NodeShape": {
-        "@id": "sh:NodeShape"
-      },
-      "PropertyShape": {
-        "@id": "sh:PropertyShape"
-      },
-      "or": {
-        "@id": "sh:or",
-        "@type": "@id",
-        "@container": "@list"
-      },
-      "and": {
-        "@id": "sh:and",
-        "@type": "@id",
-        "@container": "@list"
-      },
-      "xone": {
-        "@id": "sh:xone",
-        "@type": "@id",
-        "@container": "@list"
-      },
-      "not": {
-        "@id": "sh:not",
-        "@type": "@id",
-        "@container": "@list"
-      },
-      "lessThan": {
-        "@id": "sh:lessThan",
-        "@type": "@id"
-      },
-      "hasValue": {
-        "@id": "sh:hasValue"
-      },
-      "resultMessage": {
-        "@id": "sh:message"
-      },
-      "deactivated": {
-        "@id": "sh:deactivated"
-      },
-      "pattern": {
-        "@id": "sh:pattern"
-      },
-      "label": {
-        "@id": "rdfs:label",
-        "@type": "xsd:string"
-      },
-      "comment": {
-        "@id": "rdfs:comment",
-        "@type": "xsd:string"
-      },
-      "editorialNote": {
-        "@id": "skos:editorialNote",
-        "@type": "xsd:string"
-      },
-      "seeAlso": {
-        "@id": "rdfs:seeAlso",
-        "@type": "@id"
-      }
-    }
-  ]
-}
-
Prefix mappings
-
-
Prefix Name | Namespace
--------------- | --------------
-sh | http://www.w3.org/ns/shacl#
-shsh | http://www.w3.org/ns/shacl-shacl#
-rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns#
-rdfs | http://www.w3.org/2000/01/rdf-schema#
-owl | http://www.w3.org/2002/07/owl#
-xsd | http://www.w3.org/2001/XMLSchema#
-prov | http://www.w3.org/ns/prov#
-skos | http://www.w3.org/2004/02/skos/core#
-schema | http://schema.org/
-nxv | https://bbp-nexus.epfl.ch/vocabs/nexus/core/terms/v0.1.0/
-nsg | https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/
-
-

A simple Example ?

-

Schema

-

The W3C SHACL recommendation only defines SHACL shapes as well as ways to logically related them using boolean operators. But shapes are almost never developed alone.

-

Consider the following examples

-

Resolver mechanism: how to tell a validator to bring in scope a set of

-

But it does not define any specific envelop to group them.

-

A schema in Neuroshapes:

-
    -
  • is identified by a URI,
  • -
  • is of type nxv:Schema,
  • -
  • defines a collection of a collection of shapes which correspond to the items of the shapes array. The ‘shapes’ key is defined as a reverse property of rdfs:isDefinedBy
  • -
-

put a diagram on schema shapes link

-

Example of a schema ?

-

From this point, a Neuroshapes schema will be indifferently referred to as a SHACL schema or just schema.

-

Wrapping shapes together in a schema allows to:

-
    -
  • group and give an identifier to a collection of shapes which can be logically related or not,
  • -
  • attach annotations to the schema such as label, comment or authorship,
  • -
  • import other schemas for reuse purpose,
  • -
  • import taxonomies and/or ontologies to be [leveraged] in the validation
  • -
-

A schema can then be seen here as an envelop for shapes exchange.

-

SHACL vs Json-schema

-

SHACL schemas

-
{
-  "@id" : "{endpoint}/schemas/{org}/{domain}/{schema_name}/{version}/",
-  "@type":"owl:Ontology",
-  "shapes" : [{
-        "@id" : "this:{shapeName}",
-        "@type":"sh:Shape"
-  },{
-        "@id" : "this:{anotherShapeName}",
-        "@type":"sh:Shape"
-  }]
-}
-
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/overview.html b/shacl-tutorial/overview/overview.html deleted file mode 100644 index 9830bfbe..00000000 --- a/shacl-tutorial/overview/overview.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Overview · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Overview

-

SHACL core components

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/shape-best-practices.html b/shacl-tutorial/overview/shape-best-practices.html deleted file mode 100644 index 72a32ee8..00000000 --- a/shacl-tutorial/overview/shape-best-practices.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Best Practices · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
-
-
-

Best Practices

-

Node shapes identifiers

-
{
-  "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/CircuitShape",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Circuit",
-    "property":[{
-        "@id":"{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/ConnectomeShape",
-        "path": "bbpprodprop:connectome"
-        "name": "Connectome",
-        "description": "Connectome",
-        "datatype": "xsd:string",
-        "maxCount": 1,
-        "minCount": 0
-     }
-    ]
-   }
-  ]
-}
-
-

It is strongly recommended to provide identifiers (value for @id) for the node shapes (things of type sh:NodeShape) so that they can be reused and discovered through the Nexus Rest API.

-

Both node shapes and property shapes can have identifiers.

-

A property shape needs to have an identifier only if there is a need to reuse it.

-

Nexus schema annotations

-

Schemas are often designed with reuse in mind. Good annotations is key in order to enable schema discoverability and reuse. The following list presents a set of recommended annotations that one can use to describe a schema:

-

…WIP

-

SHAPE annotations

-

Node shape annotations

-

Node shapes are shapes with type sh:NodeShape. It is recommended that a node shape is annotated with the following properties:

- - - - - - - - - - - - - - - - - -
Key Description
label A human readable label for the node shape. This property is a short form for rdfs:label.
comment A human readable description of the node shape.This property is a short form for rdfs:comment.
-

Property shape annotations

-

Property shapes are shapes with type sh:PropertyShape. It is recommended that a property shape is annotated with the following properties:

- - - - - - - - - - - - - - - - - -
Key Description
name A human readable name for the shape. The name is usually displayed when a form is generated from the shape
description A human readable description of the shape. Also used in form generation
- -

SHAPE keys ordering

-

To improve the SHACL schema readability, it is recommended to adopt the following ordering when defining:

-
    -
  • a Node Shape
  • -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Order Key Description
1 @id Always start with the node shape identifier if any
2 @type The node shape type
3 label A human readable description of the node shape.
4 comment A description of the node shape.
5 target(Class-Node-ObjectsOf-SubjectsOf)The node shape target
6 nodeKindThe node shape node kind
7 propertyThe node shape properties
-
    -
  • a Property Shape
  • -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Order Key Description
1 @id Always start with the property shape identifier if any. Most of the time, there is no need to have an identifier for a property shape
2 @type The property shape type. Most of the time, there is no need to add a type to a property shape
3 pathThe property targeted by the property shape.
4 name A human readable name for the property shape.
5 description A human readable description of the property shape.
6 nodeKindThe property shape node kind. Cannot be present when datatype is present.
7 class or datatypeThese two keys are mutually exclusive. THus they can occurs in the same property shape at the same time. Every value of the targeted property (defined in path) should have the value of class or datatype as type
8 nodeAlways has a node shape as value. Every value of the targeted property (defined in path) should conform to the referenced node shape.
9 minCount or maxCountCardinality constraints.
-

Naming conventions

-

Class name as single noun

-

In schemas, classes (values of targetClass, of @type) are named using camel case notation:

-
    -
  • class name should start with a capital letter
  • -
  • class name should be singular
  • -
  • no space is allowed
  • -
  • good examples: “bbp:Circuit”, bbp:RawMorphology
  • -
  • bad examples: “bbp:Circuits”, “bbp:circuit” but also “bbp:Raw_Morphology”
  • -
-

Instance name as single noun

-

Instances naming follows the same conventions as class naming. In a schemas, instances are things that have a type (@type): mainly the shapes (node and property shapes).

-

Property name as verb sense or single noun

-

In schemas, properties (mainly values of sh:path) are named using the following convention:

-
    -
  • property name should start with lower case and be capitalized thereafter
  • -
  • property name should be singular
  • -
  • no space is allowed
  • -
  • good example: “bbp:morphology”, “bbp:hasFileExtension” or “bbp:fileExtension”
  • -
  • bad examples: “bbp:morphologies” but also “bbp:segment_index”
  • -
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/shape-target.html b/shacl-tutorial/overview/shape-target.html deleted file mode 100644 index 30d82d33..00000000 --- a/shacl-tutorial/overview/shape-target.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Target declaration · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
- -
-
-
-
-

Target declaration

-

A shape can define the nodes it will select and validate in a given data graph. It does so by declaring a target. Four different target declarations exist in SHACL as described in the following sections:

-
    -
  • Node target using the key targetNode
  • -
  • Class target using the key targetClass
  • -
  • Property Subject target using the key targetSubjectsOf
  • -
  • Property Object target using the key targetObjectsOf
  • -
- -

Node target

-

A shape can target very specific instances (nodes) by specifying their URIs through a targetNode:

-
{
-  "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/Circuit_1_2",
-    "@type" : "sh:NodeShape",
-    "targetNode" : ["bbp:Circuit_1","bbp:Circuit_2"]
-  } ]
-}
-
-

Instance target

-

The instances identified by bbp:Circuit_1 and bbp:Circuit_2 are targeted in the figure above.

-

Class target

-

The following schema defines one node shape which targets all instances of the class bbp:Entity. So only nodes that has bbp:Entity as direct type (**bb:Entity_1**) or indirect type (**bbp:Circuit_1** and bbp:Circuit_2) will be validated while all the other nodes are ignored.

-
{
-  "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/core/entity/v1.0.0/shapes/Entity",
-    "@type" : "sh:NodeShape",
-    "targetClass" : "bbp:Entity"
-  } ]
-}
-
-

Instance target

-

Property Object target

-

A shape can target nodes that are objects of a specific property through targetObjectsOf.

-

This target will select any node that participate to the following triple as object: (subject, property, SelectedNode). In the figure below, there are two selected nodes (**bbp:Morphology_1** and bbp:Morphology_2) which respectively participate to the following two triples:

-

*(bbp:Circuit_1, bbp:morphology, bbp:Morphology_1) *(bbp:Circuit_2, bbp:morphology, bbp:Morphology_2)

-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/MorphologyPropertyObject",
-    "@type" : "sh:NodeShape",
-    "targetObjectsOf" : "bbp:morphology"
-  } ]
-}
-
-

Instance target

-

Property Subject target

-

This target is the subject counterpart of the previous one. A shape can target nodes that are subjects of a specific property through targetSubjectsOf. So any nodes that are subjects of a triple with the target property as predicate will be selected: (**SelectedNode**, property, object).

-

In the figure below, there are two selected nodes (**bbp:Circuit_1** and bbp:Circuit_2) which respectively participate to the following two triples:

-
    -
  • (**bbp:Circuit_1**, bbp:morphology, bbp:Morphology_1)
  • -
  • (**bbp:Circuit_2**, bbp:morphology, bbp:Morphology_2)
  • -
-
{
-  "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/",
-  "shapes" : [ {
-    "@id" : "{endpoint}/schemas/bbp/simulation/circuit/v1.0.0/shapes/MorphologyPropertySubject",
-    "@type" : "sh:NodeShape",
-    "targetSubjectsOf" : "bbp:morphology"
-  } ]
-}
-
-

Instance target

-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/shacl-tutorial/overview/validation-flow.html b/shacl-tutorial/overview/validation-flow.html deleted file mode 100644 index 2f088c84..00000000 --- a/shacl-tutorial/overview/validation-flow.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Validation flow · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Validation flow

-

How a shape works?

-

Given an input RDF data graph (a json-ld document):

-
    -
  • -

    Node to be focused on for validation are selected using targets

  • -
  • -

    Filters can be used to eliminate some focused nodes

  • -
  • -

    Validate focused using constraints

  • -
-
- - -
-
-
-
- - -
- - - - - - - - diff --git a/tools/index.html b/tools/index.html deleted file mode 100644 index 94f66c00..00000000 --- a/tools/index.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -Software and Tools · Neuroshapes - - - - - - - - - - - - - - - -
- -
- -
-
-
- -
-
-
-

Software and Tools

-
- - -
-
-
-
- - -
- - - - - - - -