Yes, the trick is the line sh:values sh:this, which basically means that the values of ex:self are inferred/computed to be the values of the focus node (?this) itself. So it's just a dummy property with a yet unused URI (ex:self), that only exists for the purpose of creating this artificial column.

Holger


On 2022-01-20 6:50 am, Tim Smith wrote:
I found the document - Inferring Data with SHACL Property Value Rules (topquadrant.com) <https://www.topquadrant.com/graphql/values.html> and that explained it.  It is now working for me.

On Wed, Jan 19, 2022 at 2:41 PM Tim Smith <smith.ts...@gmail.com> wrote:

    Hi,
    I am trying to do something similar to the example shown here
    <https://datashapes.org/forms.html#ValueTableViewer>.  I have
    structured my ontology following the example. However, I cannot
    get the "self" link to render properly.  I would like the
    values of my property shape (same as ex:Concept-broader-inverse in
    below) to appear as links in the table instead of a text string.

    When you are at the value node, I want to render the value node as
    an IRI, such as this:
    image.png

    ex:ConceptTableShape-self
         a sh:PropertyShape ;
        *sh:path ex:self ;*
         sh:description "This column is used to render the (narrower) concept 
itself." ;
         sh:name "narrower concept" ;
         sh:nodeKind sh:IRI ;
         sh:order "0"^^xsd:decimal ;
         sh:values sh:this .

    What property do I use to point to the value node from the value
    node?  ex:self is used in the example. Is there an ex:self
    property on the value node (narrower concept) that points to
    itself?  Maybe I'm thinking about this incorrectly.

    Thanks in advance for your help,

    Tim


    "In this example we have used a |sh:values| rule to infer the
    values of the first column. In this case, the values are simply
    pointing back to the focus node of each row, using |sh:this|. Note
    that |dash:applicableToClass| or |sh:targetClass| are needed to
    get this inference correctly."

    skos:Concept
         sh:property ex:Concept-broader-inverse .

    ex:Concept-broader-inverse
         a sh:PropertyShape ;
         sh:path [ sh:inversePath skos:broader ] ;
         sh:group skos:HierarchicalRelationships ;
         sh:name "narrower (table)" ;
         *dash:viewer dash:ValueTableViewer*  ;
         *sh:node ex:ConceptTableShape*  .

    ex:ConceptTableShape
         a sh:NodeShape ;
         dash:applicableToClass skos:Concept ;
         rdfs:comment "A node shape defining the columns for a 
dash:ValueTableViewer." ;
         rdfs:label "Concept table shape" ;
         sh:property ex:ConceptTableShape-self ;
         sh:property ex:ConceptTableShape-type ;
         sh:property ex:ConceptTableShape-altLabel .

    ex:ConceptTableShape-self
         a sh:PropertyShape ;
        *sh:path ex:self ;*
         sh:description "This column is used to render the (narrower) concept 
itself." ;
         sh:name "narrower concept" ;
         sh:nodeKind sh:IRI ;
         sh:order "0"^^xsd:decimal ;
         sh:values sh:this .

--
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 topbraid-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAF0Wbn%2BGGajTG2ukeN9wJ-137fRyDPWdtfXA1EvHKHjm%3DEVffA%40mail.gmail.com <https://groups.google.com/d/msgid/topbraid-users/CAF0Wbn%2BGGajTG2ukeN9wJ-137fRyDPWdtfXA1EvHKHjm%3DEVffA%40mail.gmail.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 topbraid-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/f2272c64-6f9f-9447-5256-5c2ddabc833c%40topquadrant.com.

Reply via email to