Skip to content

Commit

Permalink
Merge pull request #38 from shexSpec/new_spec
Browse files Browse the repository at this point in the history
New spec
  • Loading branch information
labra committed Nov 14, 2018
2 parents 6d2a8a4 + 32587a6 commit 2b723da
Show file tree
Hide file tree
Showing 32 changed files with 672 additions and 0 deletions.
3 changes: 3 additions & 0 deletions negativeStructure/Cycle1Negation1.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S NOT { :a { :b @:S } }
3 changes: 3 additions & 0 deletions negativeStructure/Cycle1Negation2.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S { :a { :b NOT @:S } }
3 changes: 3 additions & 0 deletions negativeStructure/Cycle1Negation3.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S { :a NOT { :b @:S } }
3 changes: 3 additions & 0 deletions negativeStructure/Cycle2Extra.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S EXTRA :a { :a @:S }
3 changes: 3 additions & 0 deletions negativeStructure/Cycle2Negation.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S NOT { :a @:S }
5 changes: 5 additions & 0 deletions negativeStructure/TwoNegation.shex
@@ -0,0 +1,5 @@
PREFIX : <http://example.org/>

:S ( (NOT @:T) AND (NOT @:U) )
:T { :a @:S }
:U { :b . }
5 changes: 5 additions & 0 deletions negativeStructure/TwoNegation2.shex
@@ -0,0 +1,5 @@
PREFIX : <http://example.org/>

:S ( (NOT @:T) AND @:U )
:T { :a NOT @:S }
:U { :b @:S }
49 changes: 49 additions & 0 deletions negativeStructure/manifest.jsonld
Expand Up @@ -59,6 +59,55 @@
"name": "1ShapeProductionCollision",
"status": "mf:proposed",
"shex": "1ShapeProductionCollision.shex"
},
{
"@id": "#Cycle1Negation1",
"@type": "sht:NegativeStructure",
"name": "Cycle1Negation1",
"status": "mf:proposed",
"shex": "Cycle1Negation1.shex"
},
{
"@id": "#Cycle1Negation2",
"@type": "sht:NegativeStructure",
"name": "Cycle1Negation2",
"status": "mf:proposed",
"shex": "Cycle1Negation2.shex"
},
{
"@id": "#Cycle1Negation3",
"@type": "sht:NegativeStructure",
"name": "Cycle1Negation3",
"status": "mf:proposed",
"shex": "Cycle1Negation3.shex"
},
{
"@id": "#TwoNegation",
"@type": "sht:NegativeStructure",
"name": "TwoNegation",
"status": "mf:proposed",
"shex": "TwoNegation.shex"
},
{
"@id": "#TwoNegation2",
"@type": "sht:NegativeStructure",
"name": "TwoNegation2",
"status": "mf:proposed",
"shex": "TwoNegation2.shex"
},
{
"@id": "#Cycle2Negation",
"@type": "sht:NegativeStructure",
"name": "Cycle2Negation",
"status": "mf:proposed",
"shex": "Cycle2Negation.shex"
},
{
"@id": "#Cycle2Extra",
"@type": "sht:NegativeStructure",
"name": "Cycle2Extra",
"status": "mf:proposed",
"shex": "Cycle2Extra.shex"
}
]
}
Expand Down
49 changes: 49 additions & 0 deletions negativeStructure/manifest.ttl 100644 → 100755
Expand Up @@ -15,6 +15,13 @@
<#includeNonSimpleShape>
<#includeExpressionNotFound>
<#1ShapeProductionCollision>
<#Cycle1Negation1>
<#Cycle1Negation2>
<#Cycle1Negation3>
<#TwoNegation>
<#TwoNegation2>
<#Cycle2Negation>
<#Cycle2Extra>
) .

<#1MissingRef> a sht:NegativeStructure ;
Expand Down Expand Up @@ -59,3 +66,45 @@
sx:shex <1ShapeProductionCollision.shex> ;
.

<#Cycle1Negation1> a sht:NegativeStructure ;
mf:name "Cycle1Negation1" ;
mf:status mf:proposed ;
sx:shex <Cycle1Negation1.shex> ;
.

<#Cycle1Negation2> a sht:NegativeStructure ;
mf:name "Cycle1Negation2" ;
mf:status mf:proposed ;
sx:shex <Cycle1Negation2.shex> ;
.

<#Cycle1Negation3> a sht:NegativeStructure ;
mf:name "Cycle1Negation3" ;
mf:status mf:proposed ;
sx:shex <Cycle1Negation3.shex> ;
.

<#TwoNegation> a sht:NegativeStructure ;
mf:name "TwoNegation" ;
mf:status mf:proposed ;
sx:shex <TwoNegation.shex> ;
.

<#TwoNegation2> a sht:NegativeStructure ;
mf:name "TwoNegation2" ;
mf:status mf:proposed ;
sx:shex <TwoNegation2.shex> ;
.

<#Cycle2Negation> a sht:NegativeStructure ;
mf:name "Cycle2Negation" ;
mf:status mf:proposed ;
sx:shex <Cycle2Negation.shex> ;
.

<#Cycle2Extra> a sht:NegativeStructure ;
mf:name "Cycle2Extra" ;
mf:status mf:proposed ;
sx:shex <Cycle2Extra.shex> ;
.

26 changes: 26 additions & 0 deletions schemas/Cycle2Extra.json
@@ -0,0 +1,26 @@
{
"type": "Schema",
"shapes": [
{
"id": "http://example.org/S",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/a",
"valueExpr": "http://example.org/T"
},
"extra": [
"http://example.org/a"
]
},
{
"id": "http://example.org/T",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/b"
}
}
],
"@context": "http://www.w3.org/ns/shex.jsonld"
}
4 changes: 4 additions & 0 deletions schemas/Cycle2Extra.shex
@@ -0,0 +1,4 @@
PREFIX : <http://example.org/>

:S EXTRA :a { :a @:T }
:T { :b . }
17 changes: 17 additions & 0 deletions schemas/Cycle2Extra.ttl
@@ -0,0 +1,17 @@
PREFIX shex: <http://www.w3.org/ns/shex#>

[ a shex:Schema ;
shex:shapes <http://example.org/S> , <http://example.org/T> ] .

<http://example.org/S> a shex:Shape ;
shex:extra <http://example.org/a> ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/a> ;
shex:valueExpr <http://example.org/T> ] .

<http://example.org/T> a shex:Shape ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/b> ] .

15 changes: 15 additions & 0 deletions schemas/Cycle2NoNegation.json
@@ -0,0 +1,15 @@
{
"type": "Schema",
"shapes": [
{
"id": "http://example.org/S",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/a",
"valueExpr": "http://example.org/S"
}
}
],
"@context": "http://www.w3.org/ns/shex.jsonld"
}
3 changes: 3 additions & 0 deletions schemas/Cycle2NoNegation.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S { :a @:S }
10 changes: 10 additions & 0 deletions schemas/Cycle2NoNegation.ttl
@@ -0,0 +1,10 @@
PREFIX shex: <http://www.w3.org/ns/shex#>

[ a shex:Schema ;
shex:shapes <http://example.org/S> ] .
<http://example.org/S> a shex:Shape ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/a> ;
shex:valueExpr <http://example.org/S> ] .

22 changes: 22 additions & 0 deletions schemas/CycleNoNegation.json
@@ -0,0 +1,22 @@
{
"type": "Schema",
"shapes": [
{
"id": "http://example.org/S",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/a",
"valueExpr": {
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/b",
"valueExpr": "http://example.org/S"
}
}
}
}
],
"@context": "http://www.w3.org/ns/shex.jsonld"
}
3 changes: 3 additions & 0 deletions schemas/CycleNoNegation.shex
@@ -0,0 +1,3 @@
PREFIX : <http://example.org/>

:S { :a { :b @:S } }
19 changes: 19 additions & 0 deletions schemas/CycleNoNegation.ttl
@@ -0,0 +1,19 @@
PREFIX shex: <http://www.w3.org/ns/shex#>

[ a shex:Schema ;
shex:shapes <http://example.org/S> ] .

<http://example.org/S> a shex:Shape ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/a> ;
shex:valueExpr [
a shex:Shape ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/b> ;
shex:valueExpr <http://example.org/S>
]
]
] .

40 changes: 40 additions & 0 deletions schemas/NoNegation.json
@@ -0,0 +1,40 @@
{
"type": "Schema",
"shapes": [
{
"id": "http://example.org/S",
"type": "ShapeAnd",
"shapeExprs": [
"http://example.org/T",
"http://example.org/U"
]
},
{
"id": "http://example.org/T",
"type": "Shape",
"expression": {
"type": "EachOf",
"expressions": [
{
"type": "TripleConstraint",
"predicate": "http://example.org/a",
"valueExpr": "http://example.org/S"
},
{
"type": "TripleConstraint",
"predicate": "http://example.org/c"
}
]
}
},
{
"id": "http://example.org/U",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/b"
}
}
],
"@context": "http://www.w3.org/ns/shex.jsonld"
}
8 changes: 8 additions & 0 deletions schemas/NoNegation.shex
@@ -0,0 +1,8 @@
PREFIX : <http://example.org/>

:S ( @:T AND @:U )
:T {
:a @:S;
:c .
}
:U { :b . }
29 changes: 29 additions & 0 deletions schemas/NoNegation.ttl
@@ -0,0 +1,29 @@
PREFIX shex: <http://www.w3.org/ns/shex#>

[ a shex:Schema ;
shex:shapes <http://example.org/S> , <http://example.org/T> , <http://example.org/U> ] .

<http://example.org/S> a shex:ShapeAnd ;
shex:shapeExprs (
<http://example.org/T>
<http://example.org/U>
) .

<http://example.org/T> a shex:Shape ;
shex:expression [
a shex:EachOf ;
shex:expressions (
[ a shex:TripleConstraint ;
shex:predicate <http://example.org/a> ;
shex:valueExpr <http://example.org/S> ]
[ a shex:TripleConstraint ;
shex:predicate <http://example.org/c> ]
)
] .

<http://example.org/U> a shex:Shape ;
shex:expression [
a shex:TripleConstraint ;
shex:predicate <http://example.org/b> ] .


39 changes: 39 additions & 0 deletions schemas/NoNegation2.json
@@ -0,0 +1,39 @@
{
"type": "Schema",
"shapes": [
{
"id": "http://example.org/S",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/a",
"valueExpr": {
"type": "ShapeAnd",
"shapeExprs": [
"http://example.org/T",
"http://example.org/U"
]
}
}
},
{
"id": "http://example.org/T",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/b",
"valueExpr": "http://example.org/S"
}
},
{
"id": "http://example.org/U",
"type": "Shape",
"expression": {
"type": "TripleConstraint",
"predicate": "http://example.org/c",
"valueExpr": "http://example.org/T"
}
}
],
"@context": "http://www.w3.org/ns/shex.jsonld"
}

0 comments on commit 2b723da

Please sign in to comment.