Data Modelling
In this demo, OAC is used to define legally-aligned policies to grant access to
personal data stored in Solid Pods. OAC uses
to extend Solid's access control list mechanism, Web Access Control (WAC),
to have richer access control policies where specific purposes for access can be defined.
In addition, the DGAterms vocabulary is used to represent the altruistic purposes defined in the DGA, such as scientific research or
combating climate change.
An example is shown below of a policy set by User A, which allows data users to read the dataset stored at
https://solidweb.me/userA/energyconsumption/june2023, which contains EnergyConsumption data as it is
indicated by the dpv:hasPersonalData predicate,
for the altruistic purpose of combating climate change.
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX odrl: <http://www.w3.org/ns/odrl/2/>
PREFIX dpv: <https://w3id.org/dpv#>
PREFIX oac: <https://w3id.org/oac#>
PREFIX dga: <https://w3id.org/dgaterms#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ex: <http://example.com/>
ex:policy-123456 a odrl:Offer ;
odrl:uid ex:policy-123456 ;
odrl:profile oac: ;
dct:creator <https://solidweb.me/userA/profile/card#me> ;
dct:issued "2023-07-19T17:26:35"^^xsd:dateTime ;
odrl:permission [
odrl:assigner <https://solidweb.me/userA/profile/card#me> ;
odrl:action oac:Read ;
dpv:hasPersonalData ex:EnergyConsumption ;
odrl:target <https://solidweb.me/userA/energyconsumption/june2023> ;
odrl:constraint [
odrl:leftOperand oac:Purpose ;
odrl:operator odrl:isA ;
odrl:rightOperand dga:CombatClimateChange ] ] .
In addition, W3C's Data Catalog Vocabulary (DCAT)
is used to maintain a catalog of the available datasets, which allows the data altruism organisation to show available
datasets to data users and send data requests in their name in a privacy-friendly manner as data users only get access
to the dataset if the data subject authorises it.
An example is shown below of a catalog of datasets maintained by SoDACompany, a fictional data altruism organisation.
Metadata regarding the dataset storage location, the publisher of the dataset and the policy that determines access to it is
also recorded in these catalogs.
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX odrl: <http://www.w3.org/ns/odrl/2/>
PREFIX dpv: <https://w3id.org/dpv#>
PREFIX dga: <https://w3id.org/dgaterms#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ex: <http://example.com/>
ex:datasets a dcat:Catalog ;
dct:created "2023-06-10"^^xsd:date ;
dct:description "Catalog of datasets maintained by SoDACompany" ;
dct:publisher ex:SoDACompany ;
dcat:dataset ex:dataset_001 .
ex:SoDACompany a dga:DataAltruismOrganisation .
ex:dataset_001 a dcat:Dataset ;
odrl:hasPolicy ex:policy-123456 ;
dpv:hasLocation <https://solidweb.me/userA/energyconsumption/june2023> ;
dct:publisher <https://solidweb.me/userA/profile/card#me> ;
dct:description "Dataset with energy consumption data of June 2023" ;
dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> .