- From: Eric Prud'hommeaux via GitHub <sysbot+gh@w3.org>
- Date: Mon, 25 Dec 2017 11:32:38 +0000
- To: public-shex-dev@w3.org
The idea was to be able to fix the graph name with respect to some node. Heretics like myself frequently conflate the node with a graph name. In that case, no transformation is needed. Others are more fastidious about separating the entity from the document about the entity. Here's an access control example allowing `<http://accounts.example/Person1#i>` to `Read` `<page1>`:
```
<aclsResource> {
<#acl1> acl:agent <http://accounts.example/Person1#i> ;
acl:mode acl:Read ;
acl:accessTo <page1> .
}
<http://accounts.example/Person1> {
<http://accounts.example/Person1#i>
foaf:weblog <http://dig.csail.mit.edu/breadcrumbs/blog/4> .
}
```
The adminstrator of accounts.example wants to ensure adherence to this `#i` convention:
```
<AclShape> {
acl:agent @<Accounts.ExamplePersonShape> ;
acl:mode [acl:Read act:Write act:Delete]+ ;
acl:accessTo IRI
}
<Accounts.ExamplePersonShape> GRAPH IRI s/(http:\/\/a.example/some/doc)#i/\1/ {
foaf:weblog IRI
}
```
This says that the triples about an agent (`<http://accounts.example/Person1#i>`) must be in a graph without the `#i` (i.e. `<http://accounts.example/Person1>`). You could also say that it's in a named graph but you don't know the name of it:
```
<Accounts.ExamplePersonShape> GRAPH . { foaf:weblog IRI }
```
I can also imagine that someone might have a lookup table from node to authoritative graph but that may be more than we want to stuff into ShEx.
Can you see if this captures Verifiable Claims Use Cases? I can imagine there are more use cases we should be considering. Ideas?
--
GitHub Notification of comment by ericprud
Please view or discuss this issue at https://github.com/shexSpec/shex/issues/77#issuecomment-353862962 using your GitHub account
Received on Monday, 25 December 2017 11:32:40 UTC