Hi Adam,
that's a good question, and a recurring issue. In 6.2 (which is
consistently based on the new GraphQL-based API and SHACL), the label of
blank nodes are derived consistently with other (named) resources: by
their rdfs:label (or skos:prefLabel and other sub-properties of
rdfs:label). So one approach - if possible - would be to have
rdfs:labels in the blank nodes. That solution, however, would be best
automated, e.g. by periodically executing rules to compute the
rdfs:labels. For better or worse, at this stage, rdfs:labels that are
backed by rules would not be computed on the fly as this would have some
negative performance implications. So for now, rdfs:labels would need to
be either periodically updated by rules, or maintained by hand.
Of course, the generation of rdfs:label values is somewhat redundant and
brittle (in case the underlying triples change but the labels do not).
Custom view widgets in SWP remain a possibility and will continue to
work. They offer the greatest flexibility even for complex objects such
as OWL time intervals. Use tosh:viewWidget to point at a custom widget.
As nothing is cast in stone yet (for 6.2 and beyond), I'd like to
evaluate whether this can be further improved. For example, labels could
be computed using SHACL property value rules
https://www.topquadrant.com/graphql/values.html
I am not familiar with the OWL time ontology, but is the following a
typical use case for you?
ex:MyEvent
a ex:Event ;
rdfs:label "My Event" ;
ex:duration [
time:Interval ;
time:hasBeginning [
a time:Instant ;
time:inXSDDate "1971-07-07"^^xsd:date ;
] ;
time:hasEnd [
a time:Instant ;
time:inXSDDate "2020-01-04"^^xsd:date ;
]
] .
and maybe you would want such objects to be rendered as
My Event
duration: [ 07/07/1971 - 01/04/2020 ]
(The example highlights the apparent need for internationalization,
arguing that rules should compute different values for @en-US than
general @en where the date format is more regular. This of course
further complicates the solution and would further impact performance if
all those values are to be computed at display time).
Holger
On 26/01/2019 3:09 am, Adam Kimball wrote:
Hi all,
I have a dataset where owl:time is used to describe both intervals and
instants. When I come across these b-nodes in EDG, they are rendered
in shaded boxes and really stand out. Although I derive info from this
layout, most of our users won't.
I'm wondering how I might override the rendering, ideally with the use
of a shape. For instance, if the b-node is time:Interval then show
begin/end if it is an time:Instant just show that one time. I could
probably hack together a SPIN/SWP solution but I think the UI has
moved on from this. What's the recommendation? Any system usages I
might want to examine?
Thanks,
Adam
--
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]>.
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.