Skip to content

Feature: add external tools model to expose it in catalog links#22

Open
Imene-Amirat wants to merge 8 commits into
developmentfrom
feature/external-tools-model
Open

Feature: add external tools model to expose it in catalog links#22
Imene-Amirat wants to merge 8 commits into
developmentfrom
feature/external-tools-model

Conversation

@Imene-Amirat

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings July 17, 2026 14:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for representing external tools both as catalog-level resources (discoverable via hypermedia links) and as user-associated embedded objects, and introduces an editWith submission metadata field for pointing to an external editor.

Changes:

  • Add a new LinkedData::Models::ExternalTool model and expose it via a new external_tools link in the MOD catalog.
  • Add a new embedded LinkedData::Models::Users::ExternalTool model and wire it into User as externalTools.
  • Add editWith to OntologySubmission and the ontology submission scheme YAML.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
lib/ontologies_linked_data/models/users/user.rb Adds externalTools attribute and embeds it alongside subscription.
lib/ontologies_linked_data/models/users/external_tool.rb Introduces an embedded per-user external tool object (currently includes an API key).
lib/ontologies_linked_data/models/ontology_submission.rb Adds editWith metadata attribute for submissions.
lib/ontologies_linked_data/models/mod/semantic_artefact_catalog.rb Adds catalog link for external_tools and requires the new model.
lib/ontologies_linked_data/models/external_tool.rb Adds top-level ExternalTool model for catalog exposure.
config/schemes/ontology_submission.yml Reformats scheme content and adds editWith field (currently introduces YAML trailing-comma issues).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +2 to +8
class ExternalTool < LinkedData::Models::Base
model :user_external_tool, name_with: lambda { |inst| uuid_uri_generator(inst) }
attribute :toolName, enforce: [:existence]
attribute :apikey, enforce: [:existence]
attribute :user, inverse: {on: :user, attribute: :externalTools}
embedded true
end
Comment on lines +30 to +34
description:
[
"OMV: The URI of the ontology which is described by these metadata.",
"MOD: The Unique Resoource Identifier of this ontology, assigned by responsible authority.",
]
Comment on lines +1130 to +1134
"http://schema.org/name": "schema:name",
"http://xmlns.com/foaf/0.1/name": "foaf:name",
"http://purl.org/dc/terms/title": "dcterms:title",
"http://purl.org/dc/elements/1.1/title": "dc:title",
}
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