It's a nice vision. My concern is that doing any transformations or
filtering at query time will likely be very expensive. We need to make
sure that our architecture also works for customers with millions of
triples, not just for ontology editors. A one-off SPARQL query is
unlikely to refresh well after changes/edits. A naive implementation of
a SHACL-based filtering would require to iterate over all (target) nodes
and filter them one by one. So there are some really challenging
algorithms to do here before such a stack can be delivered. Having said
this, our working copies are implemented as filtered graphs that
dynamically add or delete triples at query time. These however are
rather static and follow a straight-forward recipe.
A more direct and incremental approach to supporting
filtering/transformations in the UI is to put the logic into the UI code
itself, even if this makes it less "clean" from a model-driven POV.
Holger
On 24/04/2020 12:33, Rob Atkinson wrote:
I think the hidden field for classes in the tree is the minimal
starting point - without that we cant really do very much. Its still
messy having to build a complete suite of hide-me statements.
A more general solution would be pluggability of the selection for
what to display. I can see a couple of ways of controlling this - but
a SPARQL expression to control the graph closure override would be
good starting point - at the moment it is presumably using something
like teamwork:graphWithImports - but perhaps its actually all
mediated by graphql - and the "shape i care about" and graphql schema
options are also closely aligned concepts?
If the class hierarchy actually displayed the graphql schema
available, and multiple such schemas were available, that would in
fact be awesome - and you could use the class and property selector to
help build graphql queries :-)\
It would be helpful to have a sense of the current and potential
extension points for this widget - then we could minimise limited
hard-coded solutions.
On Friday, 24 April 2020 11:28:19 UTC+10, Holger Knublauch wrote:
This thread seems to cover multiple topics now, so here is a partial
response.
On 24/04/2020 00:44, dprice wrote:
> Note that this problem isn’t actually about SHACL or OWL2SHACL. It
> also appears in any OWL-driven UI where the user is forced to
see the
> entire content of the ontologies in the scope of the imports, even
> when not of interest.
>
> Seems like a nice way to specify “the things I care about” before
> doing the OWL2SHACL might do the trick in EDG. At the moment,
to say
> what I care about I sometimes delete things from my local copy
of the
> “immutable” ontologies such the they contain only the subset of
interest.
>
> After-the-fact you can deactivate shapes and in EDG you can use
Main
> Class to help some. However, would be nice to be able to specify
“the
> things I care about” once and have that flow thru into everywhere
> appropriate in EDG to limit the UI to only show that subset of the
> larger scope.
So for properties we recently introduced the dash:hidden flag
which will
keep the validation in place but hide the property from the forms. We
don't have something similar for classes yet. A relatively easy
addition
would be a dash:hidden flag for rdfs:Classes that would hide the
class
and its subclasses from the classes tree. Note this would affect the
Class Hierarchy panel only, but then also the Classes and
Instances layout.
A process then would be to mark the irrelevant properties and classes
hidden in an Ontology that owl:imports the underlying original
ontologies. Even if the external ontology is updated, the flags
for the
local context would still remain in place.
Another thing that might be useful is for the Class Hierarchy to
have an
option to display the number of instances in brackets?
TBC also has the Find All Locally Defined Resources button that is
very
useful when exploring what's actually in a graph. This wouldn't scale
but might be another low-hanging piece in the puzzle?
Holger
--
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/623393e8-3f97-44ee-a8cf-f3320b0abdeb%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/623393e8-3f97-44ee-a8cf-f3320b0abdeb%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "TopBraid
Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/8ded43f2-7f8a-8221-81ee-17cc00992af7%40topquadrant.com.