Skip to content

Conversation

@FahadYousafMahar
Copy link

This commit introduces changes to generate-schema.php  to allow reading and parsing of schema.jsonld for latest release of schema.org (v26.0).

The changes inside src/Interfaces/ are the new and updated Interfaces for Schema Things.

  • There are 284 new Interfaces which have been made.
  • There are 620 Interfaces which have been modified.

Background for this commit:

I was working on a scraping function in one of our apps, whose purpose was to scrape a any given url and to create a preview card using the meta tags and schema.org json.
I encountered some websites of News Media Organizations whose data wasn't getting properly parsed by this package. When I dug deeper into the cause, I learnt that this package didn't have interface for new schema types and many old interfaces had obsolete properties. Therefore, I updated the script and used it on latest schema.jsonld

Now, the package will be parsing all new schema types.

This commit introduces changes to generate-schema.php  to allow reading
and parsing of schema.jsonld for latest release of shcema.org (v26.0).

The changes inside src/Interfaces/ are the new and updated Interfaces
for Schema Things.
There are 284 new Interfaces which have been made.
There are 620 Interfaces which have been modified.

Background for this commit:
I was working on a scraping function in one of our apps, whose purpose was
to scrape a any given url and to create a preview card using the meta tags
and schema.org json.
I encountered some websites of News Media Organizations whose data
wasn't getting properly parsed by this package. When I dug deeper into
the cause, I learnt that this package didn't have interface for new
schema types and many old interfaces had obsolete properties.
Therefore, I updated the script and used it on latest schema.jsonld

Now, the package will be parsing all new schema types.
@BenMorel
Copy link
Member

Hi, thanks your PR. Indeed, schema.org types have not been updated in a while.

I cannot run generate-schema.php against this file:
https://schema.org/version/latest/schemaorg-current-http.jsonld

Did you use another file? Did you make any changes to generate-schema.php to make it work, that are not part of your PR?

@FahadYousafMahar
Copy link
Author

I see they've resturcured the jsonLD files in newer releases.
You can see the file I used for it at:
schemaorgcontext.jsonld used for generate-id-properties.php
schemaorg-all-https.jsonld used for generate-schema.php

@BenMorel
Copy link
Member

Thank you for the links. I cannot get these files to work either:

Fatal error: Uncaught TypeError: cleanupComment(): Argument #1 ($comment) must be of type string, array given, called in /src/brick/schema/generate-schema.php on line 42 and defined in /src/brick/schema/generate-schema.php:67

I tried with earlier versions up to 9.0, same issue.

@BenMorel BenMorel force-pushed the master branch 4 times, most recently from 971f085 to 3c487dd Compare September 4, 2025 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants