Alternate label not displaying in two cases

Hello and thanks for any insight on the below:

New installation of Omeka-S with no customizations and few modules. I have two questions on alternate label behaviour:

#1 - When using inverse properties, I am not allowed to set an Alternate Label for the inverse property. I suspect this is by design but wonder if there is a way to work around this (as my targeted users will not readily grasp the CRM CIDOC label).

So for example, I have a resource “Collection Event” with a property “took place at” that is linked to “Collection Location” by ObjectID. When I set an inverse relationship in Collection Event on the property “took place at” using the property “is composed of” the latter shows up as expected on Collection Location but named “is composed of” instead of something more useful like “Collections at this Location.” It appears this is by design but wonder if there is a way around it??

#2 - The second seems a bug and entangled with #1. “Collection Event” is also related to “Collected Objects” via ObjectID. “Collected Objects” is using the property “is composed of” with an alternate label of “Has in Group.” “Collected Objects” also has many other alternate labels. All of them display correctly except “is composed of.”

I am guessing that the display logic for Inverse Properties from #1 has somehow overwritten the Alternate Label from #2?? I am also guessing that using a property other than “is composed of” in #1 might permit the Alternate Label from #2 to display??

Thank you for the help!

A first question: you say you’re not using many modules, but “Inverse Properties” is one of them? I wasn’t totally clear on if you’re using that module or not. It might be worth mentioning what other modules you’re using also.

If we are talking about that module, it really doesn’t have any display logic of its own. All Inverse Properties does is create values on the “other side” of a relationship that point back the other way. If you want to do alternate labels on the inverse side, you’d use a resource template on the resource you’re pointing at with an alternate label set for the inverse property.

Screenshots and/or links to items showing the symptoms would be helpful if this advice doesn’t address your problem.

@jflatnes - here is the module list: Collecting, CSV Import, Data Cleaning, Faceted Browse, File Sideload, Inverse Properties, Mapping, Rights Statement, Sharing, Value Suggest.

I think what you are saying is if I FIRST create ResourceA with a PropertyA and ResourceB with a PropertyB and SECOND then create an Inverse Properties relationship between the PropertyA and PropertyB, any alternate labels I have for them will show up. Whereas what I did was create ResourceA and PropertyA, and then ResourceB without PropertyB. Instead I selected PropertyB in the Inverse Properties setup panel. Regarding Problem #1 is that where I went wrong?

Here is the Inverse Properties panel:

Here is the “receiving” Resource Template (not showing the inverse relationship):

Here is an item of the “receiving” Resource Template (showing the inverse properties):

Regarding Problem #2, here is the Resource Template, showing the Alternate Label for “is composed of”:

And here is an item of that Resource Template not displaying the Alternate Label:

@jflatnes - So I went into ResoureB’s template and added “is composed of” as a property with an alternate label and now it displays that alternate label (even though I added the property after I added the inverse properties relationship - which is handy). So Problem #1 is solved:

However, making that change does not solve Problem #2.

“Collection Event” is also related to “Collected Objects” via ObjectID. “Collected Objects” is using the property “is composed of” with an alternate label of “Has in Group.” “Collected Objects” also has many other alternate labels. All of them display correctly except “is composed of.”

Assuming “Collected Objects” is a resource template, under what circumstance does an item assigned to that resource template not correctly display the alternate label for “is composed of”? Does the alternate label not show when directly viewing the item?

Hello @jimsafley – that is correct. An Item (such as pasted below) using the Resource Template of Collected Objects does not show the Alternate Label. It does show all the other Alternate Labels. I should also note that is previous DID show the Alternate Label now at question. There were two changes I made before I discovered the problem.

#1 - I installed the Rights Statement module
#2 - I set up an Inverse Properties relationship between two other Resource Templates targeting the property “is composed of”

It was after those two actions that the Alternate Label on items on this, 3rd, Resource Template stopped displaying.

And just to confirm, this display issue is both when directly view item and when it displays on a website.

I can’t reproduce this. Could you re-confirm that the “is composed of” property has an alternate label? Try deactivating the Rights Statement module and see if that fixes it. As John mentioned above, the Inverse Properties module has no display logic of its own, so it’s unlikely the culprit.

Hello Omeka Folks – Yes, @jimsafley , the Resource Template shows “is composed of” having an alternate label. I paste a picture in below to confirm that for you.

I have deactivated the Rights Statement Module with no change in behavior.

One addition note that might help? I seem to recall that after I activated the Rights Statement Module (or maybe after I set up the Inverse Property), the property “is composed of” dropped to the bottom of the Item display, whereas before it displayed where is shows in the resource template.

As further information, I have edited and saved the Resource Template, changing the Alternate Label, in case that might resave the configuration to the database. No change.

Here is the Resource Template. All other Alternate Labels display correctly.

Create a new item using the Collected Objects template, making sure to enter something into the “is composed of” field. Does the resulting item show the same error?

Hello @jimsafley – as requested I created a new item using the Collected Objects Resource Template. It correctly shows the current alternate label (2x edited since the problem) of “Objects Include”: Here is a photo:

And when looking at the original item, it still shows “is composed of”? Quite strange. Can you reproduce the bug? Try deactivating all modules and see if that fixes the bug.

Is it possible that you used a different (but identically named) property when assigning the inverse property? You may have two properties named “is composed of” which would account for the strange behavior.

Hello - yes, this is exactly the situation. If you read my posts up above you will see that I have two Resource Templates with the property “is composed of.” Problem #2 is the second Resource Template. The second template has no Inverse Properties but somehow it is effected.

I suspect what’s happening here is just that you have in the CRM vocabulary two different properties named “is composed of” and your template(s) refer to one while your Inverse Properties configuration refers to another.

From a quick look I’d hazard a guess that in one place you’re using “P46 is composed of” and in another you’re using “P106 is composed of,” both of which use just “is composed of” as their label.

This is why it works when you manually create an item using the template and fill in a value for that property: you’re using the template to do that so it’s naturally always the correct matching property. When Inverse Properties automatically creates a value, it’s using the other “is composed of” property, which doesn’t match the template and so just gets displayed as default with its default label, after all the properties that are in the template.

If this is the problem, changing the Inverse Properties configuration so it refers to the same property as the template is using (or vice versa) should solve the issue going forward.

This seems to be correct. In the Resource Template, when I go to add a property, the two “is composed of” sort with P106 first and then P46 and the little “information” button allows me to view which one I want (in this case the second one).

However in the Inverse Attributes panel, the selection dropdown does not offer the “information” button and I mistakenly selected the first one, P106.

Just now I switched to the second “is composed of” and – as expected – it does not impact Items already saved to the database.

But, yes, thanks, problem solved.

Hi Omeka Team – Sorry to prolong the pain on this one, but I realized there is perhaps still an issue here or at least a need for some clear documentation on Inverse Properties and how it works.

In summary, Inverse Properties targets all Resource Templates that have an instance of the targeted property.

So, take the case of three Resource Templates: A, B and C.

In A, property 1 is meant to act as link to B. Inverse Properties is set up on A using property 1 and targeting property 2 in B.

C also has property 2.

When A is loaded, C is impacted unexpectedly.

In my actual scenario, property 2 in C did not have its data overwritten, but it seems the data was moved to a new instance of property 2.

I’m going to have a look at the database to see what else I can learn.

After looking at the database, I can confirm the following:

Resource Templates B and C from above both have a property from CRM P46, is composed of. I am quite certain I added that property to B after the load of A. This solved problem #1.

I am mostly certain that C had P46 at the time of the load of A (and not P106).

The “inverse_properties_inverse” table had a relation to P106 and not P46.

In the “values” table, B has values for property P46 but C has values for property P106.

I am going to reload data after I make sure I have the resource templates and inverse properties confirmed to how I want them and go from there. Thanks for looking at this … not sure but it seems like there might be a issue.

The best I can tell is that this is just a confusion over when templates matter for Inverse Properties. Inverse Properties only looks at the template of the “main” item, the one you’re directly editing. When you create a resource-type value (a link to another resource) in a property that Inverse Properties is configured for, it goes and creates a link pointing back to the “main” item, using whatever property you configured as the “Inverse property” in the module settings.

It doesn’t look at what templates are used on those “inverse side” items. The only effect the templates on those items has would be the normal things templates themselves provide. So, having the inverse property be in the template used for the inverse-side item allows you to set alternate labels and so on, but the Inverse Properties module works fine, and just the same, regardless of the template used on the inverse side.

If I’ve misunderstood the problem you’re describing, do let me know.