GraphCentric developer view
/decks/slides/access-control-triple-stores
https://graphcentric.com/decks/slides/access-control-triple-stores
Navigation
Methods
| Method | Status | Basis |
|---|---|---|
| GET | available | representation candidates are configured |
| HEAD | available | GET representation headers |
| OPTIONS | available | HTTP capability discovery |
Resource Details
- URI
- https://graphcentric.com/decks/slides/access-control-triple-stores
- Graph
- https://graphcentric.com/graphs/public-resources
Link Relations
3 links| rel | title | type | href |
|---|---|---|---|
| alternate | Slide HTML | text/html;charset=utf-8 | https://graphcentric.com/decks/slides/access-control-triple-stores.html |
| collection | Raw slides | text/html;charset=utf-8 | https://graphcentric.com/decks/slides.html |
| https://graphcentric.info/link-relations/resource-configuration | Slide Resource Configuration HTML | text/html;charset=utf-8 | https://graphcentric.com/decks/slides/access-control-triple-stores.resource-configuration.html |
Resource Configuration Model
Turtle
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX gcs: <https://graphcentric.com/schema/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <https://schema.org/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
<https://graphcentric.com/decks/slides.html/.links/item-access-control-separate-read-from-write>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-separate-read-from-write.html>;
schema:name "Separate Read from Write" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-part-two>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-part-two.html>;
schema:name "Part 2: A GraphCentric Strawman" .
<https://graphcentric.com/decks/slides/access-control-triple-stores/.links/alternate-html>
rdf:type gcs:Link;
gcs:rel "alternate";
gcs:target <https://graphcentric.com/decks/slides/access-control-triple-stores.html>;
schema:name "Slide HTML" .
<https://graphcentric.com/decks/slides.html/.links/item-restrict-api-call>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/restrict-api-call.html>;
schema:name "Strategy 2: restrict the API call" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-xacml>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-xacml.html>;
schema:name "XACML" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-explain-on-failure>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-explain-on-failure.html>;
schema:name "Explain on Failure" .
<https://graphcentric.com/decks/slides.html/.links/item-sensitive-data-problem>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/sensitive-data-problem.html>;
schema:name "The problem is not the page" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-intermission>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-intermission.html>;
schema:name "Intermission" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-policy-based-read>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-policy-based-read.html>;
schema:name "Policy-Based Read Access" .
<https://graphcentric.com/decks/slides/access-control-triple-stores/.links/collection>
rdf:type gcs:Link;
gcs:rel "collection";
gcs:target <https://graphcentric.com/decks/slides.html>;
schema:name "Raw slides" .
<https://graphcentric.com/decks/slides.html/.links/item-malcolm-sparks-bio>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/malcolm-sparks-bio.html>;
schema:name "Malcolm Sparks: founder profile" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-opa-rego>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-opa-rego.html>;
schema:name "OPA/Rego" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-olney-race>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-olney-race.html>;
schema:name "Olney Pancake Race" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-rbac-abac-pbac-rebac>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-rbac-abac-pbac-rebac.html>;
schema:name "RBAC, ABAC, PBAC, and ReBAC" .
<https://graphcentric.com/decks/slides.html/.links/item-newsletter-theme>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/newsletter-theme.html>;
schema:name "Stop pasting the business into slides" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-zanzibar-biscuit>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-zanzibar-biscuit.html>;
schema:name "Zanzibar and Biscuit" .
<https://graphcentric.com/decks/slides/access-control-triple-stores.resource-configuration.html>
rdf:type gcs:WebResource;
gcs:contentType "text/html;charset=utf-8";
gcs:graph <https://graphcentric.com/graphs/public-resources> .
<https://graphcentric.com/decks/slides.html/.links/item-decision-matrix>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/decision-matrix.html>;
schema:name "Represent tradeoffs directly in the deck" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-write-demo>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-write-demo.html>;
schema:name "Demo: Write Access" .
<https://graphcentric.com/decks/slides.html/.links/item-training-decks-policy-updates>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/training-decks-policy-updates.html>;
schema:name "Training decks should track live policy" .
<https://graphcentric.com/decks/slides/access-control-triple-stores/.links/resource-configuration-html>
rdf:type gcs:Link;
gcs:rel "https://graphcentric.info/link-relations/resource-configuration";
gcs:target <https://graphcentric.com/decks/slides/access-control-triple-stores.resource-configuration.html>;
schema:name "Slide Resource Configuration HTML" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-operation-based>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-operation-based.html>;
schema:name "Operation-Based Authorization" .
<https://graphcentric.com/decks/slides.html/.links/item-sample-overview>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/sample-overview.html>;
schema:name "One source, two public views" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-part-one>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-part-one.html>;
schema:name "Part 1: Scope, Requirements, and Prior Art" .
<https://graphcentric.com/decks/slides.html/.links/item-restrict-uri-space>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/restrict-uri-space.html>;
schema:name "Strategy 1: restrict the URI" .
<https://graphcentric.com/decks/slides.html/.links/resource-configuration-html>
rdf:type gcs:Link;
gcs:rel "https://graphcentric.info/link-relations/resource-configuration";
gcs:target <https://graphcentric.com/decks/slides.resource-configuration.html> .
<https://graphcentric.com/decks/slides/access-control-triple-stores.html/.links/resource-configuration-html>
rdf:type gcs:Link;
gcs:rel "https://graphcentric.info/link-relations/resource-configuration";
gcs:target <https://graphcentric.com/decks/slides/access-control-triple-stores.html.resource-configuration.html>;
schema:name "Slide HTML Resource Configuration" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-write>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-write.html>;
schema:name "Write Authorization" .
<https://graphcentric.com/decks/slides.html/.links/item-graphcentric-foundation>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/graphcentric-foundation.html>;
schema:name "Images can own the slide" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-gdpr>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-gdpr.html>;
schema:name "GDPR as a Source of Access-Control Requirements" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-read>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-read.html>;
schema:name "Read Authorization" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-prior-art>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-prior-art.html>;
schema:name "Prior Art" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-data-based>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-data-based.html>;
schema:name "Data-Based Authorization" .
<https://graphcentric.com/decks/slides.html/.links/item-three-strategies>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/three-strategies.html>;
schema:name "Three places to put the boundary" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-intro>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-intro.html>;
schema:name "Access Control in Data Centric Systems" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-bespoke-application-specific>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-bespoke-application-specific.html>;
schema:name "Bespoke, Hard-Coded, Application-Specific" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-conditional-updates>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-conditional-updates.html>;
schema:name "Conditional SPARQL Updates" .
<https://graphcentric.com/decks/slides.html/.links/item-live-data-slide-model>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/live-data-slide-model.html>;
schema:name "A slide is a reusable template plus a query" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-options>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-options.html>;
schema:name "The Three Strategies" .
<https://graphcentric.com/decks/slides.html/.links/item-speaker-bio-query>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/speaker-bio-query.html>;
schema:name "Querying the speaker bio" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-olney-church>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-olney-church.html>;
schema:name "Olney Church" .
<https://graphcentric.com/decks/slides.html/.links/item-restrict-data-itself>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/restrict-data-itself.html>;
schema:name "Strategy 3: restrict the data itself" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-updates-as-graphs>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-updates-as-graphs.html>;
schema:name "Updates Are Graphs" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-read-demo>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-read-demo.html>;
schema:name "Demo: Read Access" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-route-based>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-route-based.html>;
schema:name "Route-Based Authorization" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-personal-gdpr>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-personal-gdpr.html>;
schema:name "Why GDPR Made This Personal" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-solution-wishlist>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-solution-wishlist.html>;
schema:name "Solution Wishlist" .
<https://graphcentric.com/decks/slides.html/.links/item-malcolm-sparks-speaker-bio>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/malcolm-sparks-speaker-bio.html>;
schema:name "Malcolm Sparks: speaker bio" .
<https://graphcentric.com/decks/slides.html/.links/item-slide-link-relations>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/slide-link-relations.html>;
schema:name "Slide link relations" .
<https://graphcentric.com/decks/slides.html/.links/item-data-centric-decks-opening>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/data-centric-decks-opening.html>;
schema:name "Data-centric slide decks" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-named-graph-partitioning>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-named-graph-partitioning.html>;
schema:name "Partition Reads by Named Graph" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-scope>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-scope.html>;
schema:name "Scope: Authorization, Not Authentication" .
<https://graphcentric.com/decks/slides/access-control-triple-stores>
rdf:type gcs:WebResource;
gcs:graph <https://graphcentric.com/graphs/public-resources>;
gcs:link <https://graphcentric.com/decks/slides/access-control-triple-stores/.links/resource-configuration-html> , <https://graphcentric.com/decks/slides/access-control-triple-stores/.links/collection> , <https://graphcentric.com/decks/slides/access-control-triple-stores/.links/alternate-html> .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-tradeoff-matrix>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-tradeoff-matrix.html>;
schema:name "Each boundary has a cost profile" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-status-quo>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-status-quo.html>;
schema:name "Status Quo" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-who-are-graphcentric>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-who-are-graphcentric.html>;
schema:name "Who are GraphCentric?" .
<https://graphcentric.com/decks/slides.html/.links/item-access-control-triple-stores>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/access-control-triple-stores.html>;
schema:name "Triple Stores" .
<https://graphcentric.com/decks/slides.html/.links/item-bio-slide-how-it-works>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/bio-slide-how-it-works.html>;
schema:name "How the bio slide works" .
<https://graphcentric.com/decks/slides.html>
rdf:type gcs:WebResource;
gcs:contentType "text/html;charset=utf-8";
gcs:graph <https://graphcentric.com/graphs/public-resources>;
gcs:link <https://graphcentric.com/decks/slides.html/.links/item-access-control-route-based> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-prior-art> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-triple-stores> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-read> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-read-demo> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-policy-based-read> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-bespoke-application-specific> , <https://graphcentric.com/decks/slides.html/.links/item-sample-overview> , <https://graphcentric.com/decks/slides.html/.links/item-newsletter-theme> , <https://graphcentric.com/decks/slides.html/.links/item-restrict-api-call> , <https://graphcentric.com/decks/slides.html/.links/item-bio-slide-how-it-works> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-rbac-abac-pbac-rebac> , <https://graphcentric.com/decks/slides.html/.links/item-comparison> , <https://graphcentric.com/decks/slides.html/.links/resource-configuration-html> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-data-based> , <https://graphcentric.com/decks/slides.html/.links/item-decision-matrix> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-options> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-operation-based> , <https://graphcentric.com/decks/slides.html/.links/item-speaker-bio-query> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-named-graph-partitioning> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-who-are-graphcentric> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-intro> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-tradeoff-matrix> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-part-two> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-intermission> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-part-one> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-gdpr> , <https://graphcentric.com/decks/slides.html/.links/item-restrict-uri-space> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-write> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-olney-race> , <https://graphcentric.com/decks/slides.html/.links/item-malcolm-sparks-speaker-bio> , <https://graphcentric.com/decks/slides.html/.links/item-data-centric-decks-opening> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-personal-gdpr> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-updates-as-graphs> , <https://graphcentric.com/decks/slides.html/.links/item-slide-link-relations> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-solution-wishlist> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-xacml> , <https://graphcentric.com/decks/slides.html/.links/item-training-decks-policy-updates> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-zanzibar-biscuit> , <https://graphcentric.com/decks/slides.html/.links/item-named-graph-filter> , <https://graphcentric.com/decks/slides.html/.links/item-manual-collation-tax> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-status-quo> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-scope> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-explain-on-failure> , <https://graphcentric.com/decks/slides.html/.links/item-live-data-slide-model> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-olney-church> , <https://graphcentric.com/decks/slides.html/.links/item-restrict-data-itself> , <https://graphcentric.com/decks/slides.html/.links/item-malcolm-sparks-bio> , <https://graphcentric.com/decks/slides.html/.links/item-three-strategies> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-opa-rego> , <https://graphcentric.com/decks/slides.html/.links/item-graphcentric-access-control-default> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-conditional-updates> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-separate-read-from-write> , <https://graphcentric.com/decks/slides.html/.links/item-graphcentric-foundation> , <https://graphcentric.com/decks/slides.html/.links/item-access-control-write-demo> , <https://graphcentric.com/decks/slides.html/.links/item-sensitive-data-problem>;
gcs:outerTemplate <s3://graphcentric.com/templates/public.html>;
gcs:template <s3://graphcentric.com/decks/slides.html> .
<https://graphcentric.com/decks/slides.html/.links/item-manual-collation-tax>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/manual-collation-tax.html>;
schema:name "Manual collation is business process debt" .
<https://graphcentric.com/decks/slides.html/.links/item-comparison>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/comparison.html>;
schema:name "Same content model, different viewing promises" .
<https://graphcentric.com/decks/slides.html/.links/item-graphcentric-access-control-default>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/graphcentric-access-control-default.html>;
schema:name "GraphCentric default: protect graphs, then render resources" .
<https://graphcentric.com/decks/slides.html/.links/item-named-graph-filter>
rdf:type gcs:Link;
gcs:rel "item";
gcs:target <https://graphcentric.com/decks/slides/named-graph-filter.html>;
schema:name "Named graphs become the enforcement boundary" .
<https://graphcentric.com/decks/slides/access-control-triple-stores.html/.links/canonical>
rdf:type gcs:Link;
gcs:rel "canonical";
gcs:target <https://graphcentric.com/decks/slides/access-control-triple-stores>;
schema:name "Canonical slide" .
<https://graphcentric.com/decks/slides/access-control-triple-stores.html>
rdf:type gcs:WebResource;
gcs:contentType "text/html;charset=utf-8";
gcs:graph <https://graphcentric.com/graphs/public-resources>;
gcs:link <https://graphcentric.com/decks/slides/access-control-triple-stores.html/.links/resource-configuration-html> , <https://graphcentric.com/decks/slides/access-control-triple-stores.html/.links/canonical>;
gcs:outerTemplate <s3://graphcentric.com/templates/slide.html>;
gcs:template <s3://graphcentric.com/decks-content/slides/access-control-triple-stores/body.html> .
Query Scope
Named Graphs
Resource State
Turtle
This resource does not declare a resource-state query.
SSE Status
Stream link relations| stream | status | subscribers | last id | state |
|---|---|---|---|---|
| No stream resources are linked from this resource. | ||||