shexSpec / shex

ShEx language issues, including new features for e.g. ShEx2.1
25 stars 8 forks source link

updates to ShExJ @context #56

Closed ericprud closed 7 years ago

ericprud commented 7 years ago

I compared the JSON-LD @context against the ShExJ.jsg and propose these changes:

-    "exclusion":    { "@id": "shex:exclusion",    "@type": "@id" },
-    "annotation":   { "@id": "shex:annotation",   "@type": "@id" },
-    "xsFacet":      { "@id": "shex:xsFacet" },
-    "stringFacet":  { "@id": "shex:stringFacet" },
-    "numericFacet": { "@id": "shex:numericFacet" },
-    "NodeKind": "shex:NodeKind",
-    "ShapeExpression": "shex:ShapeExpression",
-    "TripleExpression": "shex:TripleExpression",
-    "Stem": "shex:Stem",
-    "StemRange": "shex:StemRange",
+    "IriStemRange": "shex:IriStemRange",
+    "LiteralStemRange": "shex:LiteralStemRange",
+    "LanguageStemRange": "shex:LanguageStemRange",
-   "stem":         { "@id": "shex:stem",         "@type": "xsd:anyUri" },
+   "stem":         { "@id": "shex:stem",         "@type": "xsd:string" },

The latter is to adapt stem to work with all stem types.

gkellogg commented 7 years ago

The "@type": "xsd:string" is superfluous, as it's implied if nothing is stated.

Do you propose to remove everything from "exclusion" through "TripleExpression"?

ericprud commented 7 years ago

Those terms don't show up in ShExJ so I figured that, even if they appeared lower down in the schema (I didn't check), they don't need aliases.

gkellogg commented 7 years ago

I created an iriStem-string branch in shexspec.github.io with vocabulary changes. Note that the context is built automatically from the vocabulary definition, so if things aren't described in ShExJ.jsg, we should consider.

gkellogg commented 7 years ago

Code that generates context updated to not add context definitions for terms with "@type": "@null". Terms still added to body of the document, which is RDFS/OWL.

ericprud commented 7 years ago

Tx for that. I think there's one more fix -- the last three{Iri,Literal,Language}Stem are *StemRanges:

@@ -63,9 +63,9 @@ IriStem,rdfs:Class,IRI Stem,Stem,,,,,,,,An IRI prefix used for matching IRIs.,
 LiteralStem,rdfs:Class,Literal Stem,Stem,,,,,,,,An Literal prefix used for matching Literals.,
 LanguageStem,rdfs:Class,Language Stem,Stem,,,,,,,,An Language prefix used for matching Literal Languages.,
 StemRange,rdfs:Class,StemRange,,,,,,,,,Abstract Class for Stem Ranges,
-IriStem,rdfs:Class,IRI StemRange,StemRange,,,,,,,,"An IRI prefix (or wildcard) along with a set of excluded values, used for node matching.",
-LiteralStem,rdfs:Class,Literal StemRange,StemRange,,,,,,,,"An Literal prefix (or wildcard) along with a set of excluded values, used for node matching.",
-LanguageStem,rdfs:Class,Language StemRange,StemRange,,,,,,,,"An Language prefix (or wildcard) along with a set of excluded values, used for node matching.",
+IriStemRange,rdfs:Class,IRI StemRange,StemRange,,,,,,,,"An IRI prefix (or wildcard) along with a set of excluded values, used for node matching.",
+LiteralStemRange,rdfs:Class,Literal StemRange,StemRange,,,,,,,,"An Literal prefix (or wildcard) along with a set of excluded values, used for node matching.",
+LanguageStemRange,rdfs:Class,Language StemRange,StemRange,,,,,,,,"An Language prefix (or wildcard) along with a set of excluded values, used for node matching.",
 TripleConstraint,rdfs:Class,Triple Constraint,TripleExpression,,,,,,,,A constraint on a triple having a specific predicate and optionally a shape expression used for matching values.,
 TripleExpression,rdfs:Class,Triple Expression,,,,,,,,,The abstract class of Triple Expressions.,
 Wildcard,rdfs:Class,Wildcard,,,,,,,,,"Indicates that a stem is a Wildcard, rather than a URI prefix.",
ericprud commented 7 years ago

closed in 14 April 2017 meeting

gkellogg commented 7 years ago

This is fixed in https://github.com/shexSpec/shexspec.github.io/pull/6.