Reifiable by

48 views
Skip to first unread message

GaBriella Branson

unread,
Jan 29, 2024, 2:24:41 PM1/29/24
to TopBraid Suite Users
Hello,

Is there a limit to how "deep" reifiable statements can go?

I have a class with a property that has a node shape it is reifiable by. Within the node shape I would like to add another layer making one of my properties reifiable by yet another node shape. It does not appear that the shape within the shape is working.

First "layer" on the class: (this one works)
performed by.JPG
And this is the layer (a node shape on a node shape) that is not working:
performed by shape.JPG

Thanks in advance for any clarification you may have to explain what I should be expecting.

Holger Knublauch

unread,
Jan 29, 2024, 4:39:37 PM1/29/24
to 'Bohms, H.M. (Michel)' via TopBraid Suite Users
Yes, only one level is supported.

The general alternative to using reification is to introduce relationship objects, lifting the reification info into the main ontology. Some people argue that reification should not be used when it is really the representation of a relationship. Instead, it should only be used for cases like provenance of triples and other true metadata.

Holger



On 29 Jan 2024, at 8:24 pm, 'GaBriella Branson' via TopBraid Suite Users <topbrai...@googlegroups.com> wrote:

Hello,

Is there a limit to how "deep" reifiable statements can go?

I have a class with a property that has a node shape it is reifiable by. Within the node shape I would like to add another layer making one of my properties reifiable by yet another node shape. It does not appear that the shape within the shape is working.

First "layer" on the class: (this one works)
<performed by.JPG>
And this is the layer (a node shape on a node shape) that is not working:
<performed by shape.JPG>

Thanks in advance for any clarification you may have to explain what I should be expecting.

--
The topics of this mailing list include TopBraid EDG and related technologies such as SHACL.
To post to this group, send email to topbrai...@googlegroups.com
---
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-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/fba32925-ed8a-4ca6-a10b-a45f8dd25ddcn%40googlegroups.com.
<performed by shape.JPG><performed by.JPG>

Branson, GaBriella C

unread,
Jan 29, 2024, 5:20:29 PM1/29/24
to topbrai...@googlegroups.com

Thank you. I will consider creating relationship objects instead. From a UI perspective (for the use case I was trying to solve for) I feel it is more straightforward to enter reifiable data over creating a new relationship object à saving the form à and then clicking into the new object to add the associated data.

 

Thanks again. I always appreciate learning best practices and recommendations to improve my modeling.

 

GaBriella Branson

Interagency Wildland Fire - Knowledge Manager

 

From: topbrai...@googlegroups.com <topbrai...@googlegroups.com> On Behalf Of Holger Knublauch
Sent: Monday, January 29, 2024 12:39 PM
To: 'Bohms, H.M. (Michel)' via TopBraid Suite Users <topbrai...@googlegroups.com>
Subject: [EXTERNAL] Re: [topbraid-users] Reifiable by

 

 

 This email has been received from outside of DOI - Use caution before clicking on links, opening attachments, or responding.  

 

Holger Knublauch

unread,
Jan 30, 2024, 1:23:58 AM1/30/24
to 'Bohms, H.M. (Michel)' via TopBraid Suite Users
Hi GaBriella,

on the UI perspective, I could not agree more. Using intermediate objects is indeed not well supported right now.

For example,

ex:Person1
    ex:memberOf [
        a ex:Membership ;
        ex:organization ex:Organization1 ;
        ex:startDate "2005-04-12"^^xsd:date ;
        ex:endDate "2009-11-08"^^xsd:date ;
    ] .

currently requires creating that Membership instance, then going into it to fill in the dates.

And querying often requires using path expressions such as

?person ex:memberOf/ex:organization ?org .

The situation is complicated as there are variations of this, e.g.

ex:Person1Membership1
    a ex:Membership ;
ex:member ex:Person1 ;
ex:organization ex:Organization1 ;
         ex:startDate "2005-04-12"^^xsd:date ;
         ex:endDate "2009-11-08"^^xsd:date .

I have some initial thoughts about better supporting editing blank nodes, but none of that is fully fleshed out yet.

For these relationships, maybe a start would be to introduce some kind of dash namespace extensions to
annotate the "intermediate" objects, so that a UI can pick up a suitable widget such as a tabular viewer and editor.

I wonder if anyone has input or similar requirements.

Is my assumption right that in many of these relationships, there is at most a handful of properties (such as startDate
and endDate), allowing tabular input and rendering?

Holger


On 29 Jan 2024, at 11:20 pm, 'Branson, GaBriella C' via TopBraid Suite Users <topbrai...@googlegroups.com> wrote:

Thank you. I will consider creating relationship objects instead. From a UI perspective (for the use case I was trying to solve for) I feel it is more straightforward to enter reifiable data over creating a new relationship object à saving the form à and then clicking into the new object to add the associated data.
 
Thanks again. I always appreciate learning best practices and recommendations to improve my modeling.
 
GaBriella Branson
Interagency Wildland Fire - Knowledge Manager
<image001.png>

David Price

unread,
Jan 30, 2024, 10:53:51 AM1/30/24
to topbrai...@googlegroups.com
On creating reifications … 

Perhaps a UI function added to the Modify button for a property to “Add reification properties” a bit like “Declare inverse property” would be a start? 
It could create the node shape pointing to the property and then users just add whatever properties they want to reifiy to the shape. 

I guess could alternatively prompt user for a property name and a datatype and create the first refied property in the same interaction. They additional properties could be added to that same shape.

Cheers,
David

Branson, GaBriella C

unread,
Jan 30, 2024, 12:39:33 PM1/30/24
to topbrai...@googlegroups.com

I don’t mind the process for creating reifiable properties in the ontology or for my business user entering the data – I like that part.

 

I was meaning that the UI for a business user - when entering instance data for a new relationship - is slightly cumbersome. Take for example entering a data value rule in the glossary. If the data value rule does not already exist, a user has to use the plus sign to add it. In the new pop-up they only get the Label and ID fields initially (unless other properties required). After creating the shell of the data value rule I have to save the glossary term and then click back into the data value rule to enter any supporting data. It feels like extra steps when if it is a reifiable value I simply have to click on the little plus sign next to the relationship value and begin adding the additional data. Does that make sense?

 

GaBriella

Holger Knublauch

unread,
Jan 30, 2024, 2:35:52 PM1/30/24
to topbrai...@googlegroups.com
Yes absolutely, that was the same problem that I was talking about. Data entry of relationship instances is not as easy as it should.

Holger


Reply all
Reply to author
Forward
0 new messages