[
https://issues.apache.org/jira/browse/JENA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17359895#comment-17359895
]
Andy Seaborne commented on JENA-2115:
-------------------------------------
Jena does not have a ShEx implementation in a release and there isn't a
specific API yet.
This is rather early to think about what the implications are for supporting a
common API. It mnust be stable and long-term.
What needs to happen IMO is that the ShEx community needs to:
* Show there is a need for a common API, and that the extra effort on
implementations will have a positive return on that effort. And that's even
if there is a code API - dependency switchablity between
implementations can be achieved by documentation and code snippets.
* Agree on an API, and the design goals (what is the granularity of
switchability?)
* Produce and maintain community artifacts for the API
* Establish it - the license, and other governance for the _long term_.
The two JVM ShEx implementations mentioned recent [ShEx Validation JVM
API|https://hackmd.io/OiNBXuPYR3mRPaQ-wk-xWw] proposal
([one in Java|https://github.com/iovka/shex-java] , [one in
Scala|https://github.com/weso/shex-s]) don't share a common view of RDF. What
about other implementations?
What is the data access mechanism? And if layering one abstraction for triple
access on another, will it incur significant overhead because an implementation
may be making large numbers of fine-grained data access requests.
There is much scope for performance optimization by avoiding data access. e.g.
materializing the neighborhood can be usefully be optimized away in some
situations as occur is supporting lightweight validation of data at scale, this
will be significant.
If the goal is whole data, closed schema, with multiple validators on the same
graph, the API is going to have one set of needs, to, say, switchable
implementations to choose within a product by changing the artifact
dependencies.
Is a schema presumed to be be ShExR and ShExJ because those two, but not ShExC,
can have a portable schema representation? And ShEx shape map?
Lots of details to work through.
> implement ShEx Validation JVM API
> ---------------------------------
>
> Key: JENA-2115
> URL: https://issues.apache.org/jira/browse/JENA-2115
> Project: Apache Jena
> Issue Type: Improvement
> Components: ShEx
> Reporter: Eric Prud'hommeaux
> Priority: Major
>
> [ShEx Validation JVM API|https://hackmd.io/OiNBXuPYR3mRPaQ-wk-xWw]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)