2023-02-01 10:54:37 +01:00

84 lines
3.6 KiB
JSON

{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"import": [
"css:config/storage/backend/data-accessors/file.json",
"css:config/storage/backend/data-accessors/memory.json",
"css:config/storage/backend/data-accessors/sparql-endpoint.json"
],
"@graph": [
{
"comment": "A more complex example with 3 different stores being routed to.",
"@id": "urn:solid-server:default:ResourceStore_Backend",
"@type": "RoutingResourceStore",
"rule": { "@id": "urn:solid-server:default:RouterRule" }
},
{
"comment": [
"Configure routing to send all requests containing /file/ to the file store, containing /memory/ to the memory store and /sparql/ to the sparql endpoint store.",
"The root ACL and metadata resources will be stored in the sparql endpoint store."
],
"@id": "urn:solid-server:default:RouterRule",
"@type": "RegexRouterRule",
"base": { "@id": "urn:solid-server:default:variable:baseUrl" },
"rules": [
{
"@type": "RegexRule",
"regex": "^/(\\.acl|\\.meta)?$",
"store": { "@id": "urn:solid-server:default:SparqlResourceStore" }
},
{
"@type": "RegexRule",
"regex": "/file/",
"store": { "@id": "urn:solid-server:default:FileResourceStore" }
},
{
"@type": "RegexRule",
"regex": "/memory/",
"store": { "@id": "urn:solid-server:default:MemoryResourceStore" }
},
{
"@type": "RegexRule",
"regex": "/sparql/",
"store": { "@id": "urn:solid-server:default:SparqlResourceStore" }
}
]
},
{
"@id": "urn:solid-server:default:FileResourceStore",
"@type": "DataAccessorBasedStore",
"identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" },
"accessor": { "@id": "urn:solid-server:default:FileDataAccessor" },
"metadataStrategy":{ "@id": "urn:solid-server:default:MetadataStrategy" }
},
{
"@id": "urn:solid-server:default:MemoryResourceStore",
"@type": "DataAccessorBasedStore",
"identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" },
"accessor": { "@id": "urn:solid-server:default:MemoryDataAccessor" },
"metadataStrategy":{ "@id": "urn:solid-server:default:MetadataStrategy" }
},
{
"comment": "SparqlDataAccessor only accepts quad objects so data to that route needs to be converted",
"@id": "urn:solid-server:default:SparqlResourceStore",
"@type": "RepresentationConvertingStore",
"metadataStrategy":{ "@id": "urn:solid-server:default:MetadataStrategy" },
"options_inConverter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"options_inPreferences_type": {
"RepresentationConvertingStore:_options_inPreferences_type_key": "internal/quads",
"RepresentationConvertingStore:_options_inPreferences_type_value": 1
},
"source": {
"@type": "DataAccessorBasedStore",
"identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" },
"accessor": { "@id": "urn:solid-server:default:SparqlDataAccessor" },
"metadataStrategy":{ "@id": "urn:solid-server:default:MetadataStrategy" }
}
}
]
}