Skip to content

v4.0.0 - ontology version 2 implementation#29

Open
lecoqlibre wants to merge 63 commits into
mainfrom
ontology-v2
Open

v4.0.0 - ontology version 2 implementation#29
lecoqlibre wants to merge 63 commits into
mainfrom
ontology-v2

Conversation

@lecoqlibre

@lecoqlibre lecoqlibre commented Mar 31, 2026

Copy link
Copy Markdown
Member

Added

  • Add SuppliedProduct referenceOf.
  • Add TechnicalProduct referenceOf.

Context:

Classes

  • ical:Vevent
  • ical:Value_RECUR
  • geo:Feature
  • geo:Properties
  • geo:Geometry
  • geo:Point
  • geo:Polygon
  • ProductOption, subClassOf Option
  • ProductOptionValue, subClassOf What_Subject
  • Variant, subClassOf What_Subject
  • VariantCaracteristic, subClassOf What_Subject
  • TemplateSaleSession, subClassOf DFC_BusinessOntology_Relation
  • Route, subClassOf Where_Subject
  • Step, subClassOf Where_Subject
  • PickUpStep, subClassOf Step
  • DeliveryStep, subClassOf Step
  • Datable
  • Organization (replace Enterprise)
  • Certification
  • Shipment

Changed

  • Namespace: https://github.com/datafoodconsortium/... -> https://w3id.org/dfc/... (should be implemented in the code generator)
  • EquivalentClass: Agent and http://www.w3.org/2006/vcard/ns#Agent
  • EquivalentClass: Person and http://www.w3.org/2006/vcard/ns#Individual
  • EquivalentClass: Organization and http://www.w3.org/2006/vcard/ns#Organization
  • Disjunction: Point and Polygon (NOT APPLICABLE)
  • Constraint 1:1 for Stock:availabilityDate (BREAKING CHANGE)
  • Constraint 1:1 for PaymentMethod:paymentMethodProvider (BREAKING CHANGE)
  • Constraint 1:1 for PaymentMethod:paymentMethodType (BREAKING CHANGE)
  • Domain : beginDate, (AsPlannedLocalTransformation | AsRealizedTransformation | SaleSession | Shipment | Shipping option) -> (AsPlannedTransformation | AsRealizedTransformation | Catalog | SaleSession | Shipment | Shipping option)
  • Domain : endDate, (AsPlannedLocalTransformation | AsRealizedTransformation | SaleSession | Shipment | Shipping option) -> (AsPlannedTransformation | AsRealizedTransformation | Catalog | SaleSession | Shipment | Shipping option)
  • Domain : isVariantOf, DefinedProduct -> Variant (BREAKING CHANGE)
  • Update SUPPORTED.md
  • Update CHANGELOG.md

Fixed

  • Ellapsable and SaleSession now uses DateTime datatype instead of string. (BREAKING CHANGE)
  • ILocalizedProduct: accessors and mutators of plannedLocalConsumptionFlows are now correct type IPlannedLocalConsumptionFlow. (BREAKING CHANGE)
  • DefinedProduct (including subclasses) and Localized product are now Exhibitable and have correct accessors and mutators for the images property.
  • Order has now a PaymentMethod.
  • PlannedLocalTransformation bad outcome and associated constructor param types.
  • Fix RealStock quantity (remove Quantifiable).
  • Fix Variant missing constructor parameter types.
  • Add semantic stereotype to IVariantCharacteristic.
  • Fix PaymentMethod price getter and setter.
  • Fix PhysicalPlace, add semantic stereotype to IGeoJsonFeature.
  • Fix PhysicalProduct quantity and images properties.
  • Fix PlannedLocalConsumptionFlow wrong method bindings.
  • Fix PlannedLocalProductionFlow wrong method bindings.
  • Fix ProductBatch wrong method bindings.
  • Fix RealizedConsumptionFlow wrong method bindings.
  • Fix RealizedProductionFlow wrong method bindings.
  • Fix RealizedTransformation wrong method bindings.
  • Fix RealStock quantity (remove Quantifiable).
  • Add SuppliedProduct referenceOf.
  • Add TechnicalProduct referenceProductOptions.
  • Fix Variant missing constructor parameter types, add semantic stereotype to IVariantCharacteristic.
  • Fix DefinedProduct referenceProductOption type, add missing semantic stereotype.
  • Fix DeliveryOption wrong interface realization.
  • Fix LocalizedProduct quantity getter and setter.
  • Fix Agent customerCategoriesMembership and Organization constructor.

Removed

  • Enterprise -> Organization (BREAKING CHANGE)

@lecoqlibre lecoqlibre self-assigned this Mar 31, 2026
@lecoqlibre lecoqlibre moved this from Icebox ❄ to In Progress in Tech meeting board Mar 31, 2026
@RaggedStaff

Copy link
Copy Markdown
Contributor

Hi @lecoqlibre
I don't see the Certification properties here at all... That was a primary use case the CFM project needed v2 for.

Can you include:

isCertifiedBy & certifies properties
and the Data Properties that accompany them: operatoridcertificationScore & certificationReference
🙏🏻

@mkllnk mkllnk 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.

Rename:: Enterprise -> Organization (Enterprise is deprecated)

Does that mean that there will still be a deprecated Enterprise class?

The UML code is not human readable and I haven't tried the Eclipse plugin yet. I think that I should try this out in the code generator and see the changes in the Ruby code. So far, the listed breaking changes don't affect us at all because we don't use those features yet.

Garethe's point is critical. We are updating these models to get the certification data. That was the whole point.

@mkllnk

mkllnk commented Apr 8, 2026

Copy link
Copy Markdown

In terms of upgrading. My best idea for the Ruby connector is to release a 1.x version of the gem under a different name with a different namespace. Then we can release a 2.x version with the current namespace. This would allow Ruby projects to include both versions and support both APIs. Does that sound reasonable to you, @lecoqlibre?

@lecoqlibre

Copy link
Copy Markdown
Member Author

I don't see the Certification properties here at all...

OK so the Changelog is missing the Certification class. Properties are here but not the class. I've opened datafoodconsortium/ontology#216.

Yes I will add the Certification class and its related properties.

Rename:: Enterprise -> Organization (Enterprise is deprecated)

Does that mean that there will still be a deprecated Enterprise class?

Yes I've left the Enterprise class.

In terms of upgrading. My best idea for the Ruby connector is to release a 1.x version of the gem under a different name with a different namespace. Then we can release a 2.x version with the current namespace. This would allow Ruby projects to include both versions and support both APIs. Does that sound reasonable to you, @lecoqlibre?

Yes, sure.

Add isCertifiedBy object property to Organization class.
@lecoqlibre lecoqlibre requested a review from mkllnk April 11, 2026 13:58
@lecoqlibre

lecoqlibre commented Apr 11, 2026

Copy link
Copy Markdown
Member Author

I've added the Certification class, its data and object properties and the inverse object property in the Organization class (is certified by).

I've opened three ontology issues related to this:

I've created the class Certification without the typo but kept the typo in the URI until it's fixed.

@RaggedStaff @mkllnk

@lecoqlibre lecoqlibre marked this pull request as ready for review May 6, 2026 07:50
@lecoqlibre lecoqlibre changed the title Ontology version 2 implementation v4.0.0 - ontology version 2 implementation May 8, 2026
@lecoqlibre lecoqlibre marked this pull request as draft May 20, 2026 15:30
Comment thread agent.uml
@github-project-automation github-project-automation Bot moved this from In Progress to To review ☕ in Tech meeting board Jun 2, 2026
@lecoqlibre lecoqlibre requested a review from mkllnk June 10, 2026 13:38
@lecoqlibre lecoqlibre marked this pull request as ready for review June 15, 2026 15:54

@mkllnk mkllnk 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.

I can't interpret these files as text but the Changelog looks good. I will need to review this on the Connector.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To review ☕

Development

Successfully merging this pull request may close these issues.

3 participants