Schema.org: lost Classes and Properties

Loading schema.org vocabulary (taken from schema.org site in one of the available format from the page Developers - schema.org) loses many classes and properties.
The schema file contains 887 classes and a452 properties, while Omeka S save only 606 classes and 877 properties.
Can anyone help me with this?

I just pulled using
https://schema.org/version/latest/schemaorg-current-https.rdf

and got 893 classes and 1452 properties:

You might be limited by the processing power or permissions of your server? I’d suggest, as a first try, wiping it and re-importing it a few times and see if one of the imports completes.

1 Like

Good suggestion! I will try soon and let you know. Thanks a lot!

After some test, I found that I can load all classes and properties in the vocabulary if I start from scratch.
As long as I try to update the existing partial schema.org vocabulary with the full vocabulary file, I get no update and Omeka S says “nothing to update”.
If I start with a completely new vocabulary, I get all classes and properties, as in your case.
So, it looks that the update process doesn’t work.
Anyway, for me it’s ok to load from scratch but I wonder if I can replace the old schema vocabulary with this new one without loosing the existing resource templates, items and item sets that use that old version: what does it happens if I remove the old schema vocabulary and I load it from scratch?

Do not delete a vocabulary that is being used. You will lose data.

What’s the namespace URI of your “existing partial” Schema.org vocabulary?

1 Like

Sorry for my late reply!
namespace URI is: http://schema.org/

It looks like the namespace URI is slightly off, which would explain why an update shows no changes. To fix this, you’ll need to edit the namespace URI directly in your database, from:

http://schema.org/

To:

https://schema.org/

It’s odd that your initial import picked up any classes and properties given the difference, but our RDF library may be too forgiving duing import, or too strict during update. I suspect the former.

hey there,

I need to update the namespace URI of a vocabulary (missing trailing “/”)
This vocab is widely used across my omeka S instance.
Is it safe to update it in the database?
How do you proceed? (through an SQL request directly?)

I auto reply;
because I needed to update that info I did it manually through mysql requests directly and it works fine !

USE mydataBase_name ;
SELECT  *  FROM vocabulary;

check the content of that vocabularies table and find out the one you want to change
In my case let’s say it owl vocabulary.

Test a sql SELECT query to assert the WHERE clause only finds the row you want to change:
(In my case I used the “prefix” to filter the row to be changed, another column may be used)

SELECT * FROM vocabulary WHERE prefix = 'owl';

If only the desired row is returned, then proceed to the UPDATE query:

UPDATE vocabulary SET namespace_uri = 'http://www.w3.org/2002/07/owl#' WHERE prefix = 'owl';

→ Why is this UPDATE request impossible through the UI after creation of the vocab?
Best