Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions shapes/acp-access-control-resource.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix acp: <http://www.w3.org/ns/solid/acp#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix acp-access-control-shape: <https://solidproject.org/shapes/acp-access-control#> .
@prefix acp-access-control-resource-shape: <https://solidproject.org/shapes/acp-access-control-resource#> .

# Shape for AccessControlResource
acp-access-control-resource-shape:AcpAccessControlResourceShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/acp/AccessControlResource.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/acp/AccessControlResource.ts> ;
sh:codeIdentifier "AccessControlResource";
rdfs:label "Access Control Resource Shape";

# accessControl: multiple AccessControl objects
sh:property [
sh:path acp:accessControl ;
sh:node acp-access-control-shape:AcpAccessControlShape ;
sh:codeIdentifier "accessControl";
] ;

# resource: IRI as string
sh:property [
sh:path acp:resource ;
sh:datatype xsd:anyURI ;
sh:maxCount 1;
sh:codeIdentifier "resource"
] .

24 changes: 24 additions & 0 deletions shapes/acp-access-control.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix acp: <http://www.w3.org/ns/solid/acp#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix acp-policy-shape: <https://solidproject.org/shapes/acp-policy#> .

@prefix acp-access-control-shape: <https://solidproject.org/shapes/acp-access-control#> .

acp-access-control-shape:AcpAccessControlShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
sh:codeIdentifier "AcpAccessControl";
rdfs:label "ACP Access Control Shape";

sh:property [
sh:path acp:apply ;
sh:node acp-policy-shape:AcpPolicyShape ;
rdfs:label "apply";
sh:codeIdentifier "apply";
] .
24 changes: 24 additions & 0 deletions shapes/acp-matcher.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix acp: <http://www.w3.org/ns/solid/acp#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix acp-matcher-shape: <https://solidproject.org/shapes/acp-matcher#> .

acp-matcher-shape:AcpMatcherShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/acp/Matcher.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/acp/Matcher.ts> ;
sh:codeIdentifier "AcpMatcher";
rdfs:label "ACP Matcher Shape";

sh:property [
sh:path acp:agent ;
sh:nodeKind sh:IRI ;
rdfs:label "agent";
sh:codeIdentifier "agent";
] ;

.
31 changes: 31 additions & 0 deletions shapes/acp-policy.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix acp: <http://www.w3.org/ns/solid/acp#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix acp-policy-shape: <https://solidproject.org/shapes/acp-policy#> .
@prefix acp-matcher-shape: <https://solidproject.org/shapes/acp-matcher#> .


acp-policy-shape:AcpPolicyShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
sh:codeIdentifier "AccessControlPolicy";
rdfs:label "ACP Policy Shape";

sh:property [
sh:path acp:allow ;
sh:nodeKind sh:IRI ;
rdfs:label "allow";
sh:codeIdentifier "allow";
] ;

sh:property [
sh:path acp:anyOf ;
sh:node acp-matcher-shape:AcpMatcherShape;
rdfs:label "any of";
sh:codeIdentifier "anyOf";
] .
25 changes: 25 additions & 0 deletions shapes/acp-typed.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix acp: <http://www.w3.org/ns/solid/acp#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix acp-typed-shape: <https://solidproject.org/shapes/acp-typed#> .

acp-typed-shape:AcpTypedShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/acp/AccessControl.ts> ;
sh:codeIdentifier "AccessControlPolicy";
rdfs:label "ACP Policy Shape";

sh:property [
sh:path rdf:type ;
sh:nodeKind sh:IRI ;
rdfs:label "type";
sh:codeIdentifier "type";
]

.
108 changes: 106 additions & 2 deletions shapes/agent.ttl
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix prov: <http://www.w3.org/ns/prov#>.
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix schema: <http://schema.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix pim: <http://www.w3.org/ns/pim/space#> .
@prefix solid: <https://www.w3.org/ns/solid/terms#> .

@prefix person-shape: <https://solidproject.org/shapes/person#> .
@prefix organization-shape: <https://solidproject.org/shapes/organization#> .
Expand All @@ -31,3 +34,104 @@ agent-shape:AgentShape
[ sh:node organization-shape:ContactOrganizationShape ]
[ sh:node software-agent-shape::ContactSoftwareAgentShape ]
) .


agent-shape:WebIdAgentShape
a sh:NodeShape ;
sh:targetClass foaf:Agent ;
rdfs:label "Agent Shape" ;
rdfs:comment "Represents an agent, which can be a person, organization, or software agent." ;
dct:created "2026-03-18"^^xsd:date ;
dc:source <https://github.com/solid/object/blob/main/src/webid/Agent.ts>;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/webid/Agent.ts> ;
vs:term_status "testing" ;
sh:codeIdentifier "WebIdAgent" ;

sh:property [
sh:path vcard:fn ;
sh:codeIdentifier "vcardFn" ;
sh:maxCount 1
] ;

sh:property [
sh:path vcard:hasUrl ;
sh:codeIdentifier "vcardHasUrl" ;
sh:maxCount 1
] ;

sh:property [
sh:path vcard:organizationName ;
sh:codeIdentifier "organization" ;
sh:maxCount 1
] ;

sh:property [
sh:path vcard:role ;
sh:codeIdentifier "role" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:title ;
sh:codeIdentifier "title" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:hasTelephone ;
sh:codeIdentifier "hasTelephone" ;
sh:maxCount 1;
] ;

sh:property [
sh:path foaf:name ;
sh:codeIdentifier "foafName" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:hasName ;
sh:codeIdentifier "name" ;
sh:maxCount 1;
] ;

sh:property [
sh:path foaf:homepage ;
sh:codeIdentifier "foafHomepage" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:hasPhoto ;
sh:codeIdentifier "photoUrl" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:hasEmail ;
sh:codeIdentifier "hasEmail" ;
sh:maxCount 1;
] ;

sh:property [
sh:path vcard:inAddressBook ;
sh:codeIdentifier "inAddressBook" ;
sh:minCount 1 ;
sh:maxCount 1;
] ;

# MULTIPLE VALUE PROPERTIES
sh:property [
sh:path pim:storage ;
sh:codeIdentifier "pimStorage"
] ;

sh:property [
sh:path solid:storage ;
sh:codeIdentifier "solidStorage"
] ;

sh:property [
sh:path foaf:knows ;
sh:codeIdentifier "knows"
] .
21 changes: 21 additions & 0 deletions shapes/container.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix resource-shape: <https://solidproject.org/shapes/resource#> .

@prefix container-shape: <https://solidproject.org/shapes/container#> .


container-shape:ContainerShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/solid/Container.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/solid/Container.ts> ;
rdfs:label "Container";
sh:codeIdentifier "Container";

sh:property [
sh:path ldp:contains ;
sh:node resource-shape:ResourceShape ;
sh:codeIdentifier "contains" ;
] .
57 changes: 57 additions & 0 deletions shapes/resource.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix posix: <http://www.w3.org/ns/posix/stat#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

@prefix resource-shape: <https://solidproject.org/shapes/resource#> .

resource-shape:ResourceShape a sh:NodeShape ;
dc:source <https://github.com/solid/object/blob/main/src/solid/Resource.ts> ;
prov:wasDerivedFrom <https://github.com/solid/object/blob/main/src/solid/Resource.ts> ;
rdfs:label "Resource";
sh:codeIdentifier "Resource";

sh:property [
sh:path dc:title ;
sh:codeIdentifier "title" ;
sh:datatype xsd:string ;
sh:maxCount 1
] ;

sh:property [
sh:path rdfs:label ;
sh:codeIdentifier "label" ;
sh:datatype xsd:string ;
sh:maxCount 1
] ;

sh:property [
sh:path dc:modified ;
sh:codeIdentifier "modified" ;
sh:datatype xsd:dateTime ;
sh:maxCount 1
] ;

sh:property [
sh:path posix:mtime ;
sh:codeIdentifier "mtime" ;
sh:datatype xsd:dateTime ;
sh:maxCount 1
] ;

sh:property [
sh:path posix:size ;
sh:codeIdentifier "size" ;
sh:datatype xsd:integer ;
sh:maxCount 1
] ;

sh:property [
sh:path rdf:type ;
sh:codeIdentifier "type" ;
sh:nodeKind sh:IRI ;
] .

Loading