[ 
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)

Reply via email to