Unconstrainted references
The following list of references do not have any identity key constraints, while a Ref directly exists. Scan through this list for anything that remotely resembles something that is in use in a profile. So if your profile uses AdditionalDriverOptionRef, report this. Only effort that is required is scan through the list.
netex:AdditionalDriverOption
netex:Assignment
netex:BookingDebit
netex:BookingPolicy
netex:ClassInFrame
netex:CodespaceAssignment
netex:CustomerPurchasePackagePrice
netex:DeckPlaceInSequence
netex:DeckSpaceCapacity
netex:DeckWindow
netex:DefaultDeadRunRunTime
netex:FacilitySet
netex:FareDebit
netex:FareProductSaleDebit
netex:FareStructureElementInSequence
netex:FlexibleLinkProperties
netex:FlexiblePointProperties
netex:GeneralFrameMember
netex:GenericNavigationPath
netex:GenericPathJunction
netex:InfrastructureLinkRestriction
netex:InterchangeRuleTiming
netex:JourneyPatternHeadway
netex:JourneyTiming
netex:LogEntry
netex:LuggageLockerEquipment
netex:NetworkRestriction
netex:OffenceDebit
netex:OtherDebit
netex:PriceableObject
netex:RentalOption
netex:RoundingStep
netex:SensorEquipment
netex:SiteComponent
netex:SiteElement
netex:SiteEquipment
netex:SiteNavigationPath
netex:SpotAffinity
netex:SpotEquipment
netex:StartTimeAtStopPoint
netex:StopAssignment
netex:StopPlaceSpace
netex:TrainComponentStopAssignment
netex:TransportType
netex:TripDebit
netex:TurnaroundTimeLimitTime
netex:TypeOfDeckEntranceUsage
netex:TypeOfMobilityService
netex:TypeOfModeOfOperation
netex:VehicleEntrance
netex:VehiclePoolingMeetingPlace
netex:VehicleRequirement
netex:VehicleServicePlaceAssignment
netex:VehicleTypePreference
netex:WaitingEquipment
netex:ZoneInSeries
Longer list, unfiltered, might also contain abstract types.
netex:AccessLegRef
netex:AccessZoneRef
netex:ActivatedEquipmentRef
netex:AdditionalDriverOptionRef
netex:AddressablePlaceRef
netex:AdministrativeZoneRef
netex:AllAuthoritiesRef
netex:AllCountriesRef
netex:AllDistributionChannelsRef
netex:AllOperatorsRef
netex:AllOrganisationsRef
netex:AllPublicTransportOrganisationsRef
netex:AllTransportOrganisationsRef
netex:AlternativeModeLegRef
netex:AlternativeNameRef
netex:AlternativeTextRef
netex:AssignmentRef
netex:BookingDebitRef
netex:BookingPolicyRef
netex:CancellingRef
netex:ClassInFrameRef
netex:ClassRef
netex:CodespaceAssignmentRef
netex:ComplexFeatureProjectionRef
netex:CountryRef
netex:CustomerPurchasePackagePriceRef
netex:deckEntranceAssignmentRef
netex:DeckPlaceInSequenceRef
netex:DeckSpaceCapacityRef
netex:DeckWindowRef
netex:DefaultDeadRunRunTimeRef
netex:DefaultServiceJourneyTimeRef
netex:DeliveryVariantRef
netex:DestinationDisplayVariantRef
netex:DriverRef
netex:DutyRef
netex:EquipmentRef
netex:FacilityRef
netex:FacilitySetRef
netex:FareDebitRef
netex:FareProductRef
netex:FareProductSaleDebitRef
netex:FareQuotaFactorRef
netex:FareRequestRef
netex:FareStructureElementInSequenceRef
netex:FareTableColumnRef
netex:FareTableRowRef
netex:FlexibleLinkPropertiesRef
netex:FlexibleModeOfOperationRef
netex:FlexiblePointPropertiesRef
netex:FlexibleServiceAssignmentRef
netex:FlexibleServicePropertiesRef
netex:GeneralFrameMemberRef
netex:GenericNavigationPathRef
netex:GenericPathJunctionRef
netex:GroupOfCustomerPurchasePackagesRef
netex:GroupOfPlacesRef
netex:GroupOfTimingLinksRef
netex:InfrastructureLinkRestrictionRef
netex:InterchangeRuleTimingRef
netex:JourneyPatternHeadwayRef
netex:JourneyTimingRef
netex:LayerRef
netex:LineInDirectionRef
netex:LineLinkRef
netex:LinkInSequenceRef
netex:LogEntryRef
netex:LogRef
netex:LuggageLockerEquipmentRef
netex:ModeRef
netex:MonthValidityOffsetRef
netex:NetworkRestrictionRef
netex:OffenceDebitRef
netex:OfferedTravelSpecificationRef
netex:OrderedVersionOfObjectRef
netex:OrganisationalUnitRef
netex:OtherDebitRef
netex:OtherOrganisationRef
netex:ParentCommonSectionRef
netex:ParkingChargeBandRef
netex:ParkingEntranceRef
netex:PassengerSeatRef
netex:PathAssignmentRef
netex:PlaceLightingEquipmentRef
netex:PointInSequenceRef
netex:PointOfInterestHierarchyRef
netex:PointOfInterestVehicleEntranceRef
netex:PriceableObjectRef
netex:PrivateLegRef
netex:ProfileParameterRef
netex:PtConnectionLegRef
netex:PtRideLegRef
netex:PurposeOfJourneyPartitionRef
netex:QueueingEquipmentRef
netex:RailwayLinkRef
netex:RelationshipRef
netex:RentalOptionRef
netex:RepeatedTripFareRequestRef
netex:RequestedTravelSpecificationRef
netex:ResellingRef
netex:ResidentialQualificationRef
netex:RoadLinkRef
netex:RoundingStepRef
netex:SalesOfferPackageEntitlementGivenRef
netex:SalesOfferPackageEntitlementRequiredRef
netex:ScheduledModeOfOperationRef
netex:ScheduleRequestRef
netex:SchematicMapMemberRef
netex:SchematicMapRef
netex:SectionRef
netex:SensorEquipmentRef
netex:ServiceAccessRightRef
netex:ServiceLinkInSequenceRef
netex:SignEquipmentRef
netex:SimpleObjectRef
netex:SingleTripFareRequestRef
netex:SiteComponentRef
netex:SiteElementRef
netex:SiteEquipmentRef
netex:SiteNavigationPathRef
netex:SpatialFeatureRef
netex:SpotAffinityRef
netex:SpotAllocationMethodRef
netex:SpotEquipmentRef
netex:StartTimeAtStopPointRef
netex:StopAssignmentRef
netex:StopEventRequestRef
netex:StopFinderRequestRef
netex:StopPlaceSpaceRef
netex:StopPlaceVehicleEntranceRef
netex:SubscribingRef
netex:SuspendingRef
netex:TariffObjectRef
netex:TimingAlgorithmTypeRef
netex:TopographicProjectionRef
netex:TrainComponentStopAssignmentRef
netex:TransportTypeRef
netex:TripDebitRef
netex:TripLegRef
netex:TripPatternRef
netex:TripPlanRequestRef
netex:TripRef
netex:TurnaroundTimeLimitTimeRef
netex:TypeOfCodespaceAssignmentRef
netex:TypeOfCongestionRef
netex:TypeOfDeckEntranceUsageRef
netex:TypeOfDeliveryVariantRef
netex:TypeOfFacilityRef
netex:TypeOfFareProductRef
netex:TypeOfMobilityServiceRef
netex:TypeOfModeOfOperationRef
netex:TypeOfOperationRef
netex:TypeOfOrganisationPartRef
netex:TypeOfPaymentMethodRef
netex:TypeOfRollingStockRef
netex:TypeOfSecurityListRef
netex:TypeOfServiceFeatureRef
netex:TypeOfTimeDemandTypeRef
netex:TypeOfVersionRef
netex:VehicleEntranceRef
netex:VehicleEquipmentRef
netex:VehiclePoolingMeetingPlaceRef
netex:VehicleProfileRef
netex:VehicleRequirementRef
netex:VehicleServicePlaceAssignmentRef
netex:VehicleTypePreferenceRef
netex:VehicleTypeStopAssignmentRef
netex:VehicleTypeZoneRestrictionRef
netex:VersionOfObjectRef
netex:WaitingEquipmentRef
netex:WheelchairVehicleRef
netex:WireLinkRef
netex:ZoneInSeriesRef
Not sure what the implication of this is, but there are several concepts that I recognize from our data here. Especially in the vehicles domain.
@JohanEntur please mention them.
I checked for EPIAP, are some of the following observations useful?
EquipmentPlace-placeEquipments and SitePathLink-placeEquipments may refer any Equipment, so probably:
- EquipmentRef
- LuggageLockerEquipmentRef
- PlaceLightingEquipmentRef
- QueueingEquipmentRef
- WaitingEquipmentRef
- SignEquipmentRef
- SiteEquipmentRef
- SpotEquipmentRef
- VehicleEquipmentRef
- SensorEquipmentRef
Use of EquipmentPlace-ParentZoneRef is not recommended, but it might refer
- AccessZoneRef
- AdministrativeZoneRef (?)
AssistanceBookingservice-BookedObjectRef may refer anything (VersionOfObjectRef), e.g.,
- SiteEquipmentRef
AssistanceBookingService-TransportOrganisationRef
- OtherOrganisationRef ?
BoardingPosition-boardingPositionEntrances-EntranceRef
- ParkingEntranceRef
- PointOfInterestVehicleEntranceRef
- StopPlaceVehicleEntranceRef
- VehicleEntranceRef ?
Use of VehiclePoolingMeetingPlace is encouraged, requiring a ref seems to make sense
@skinkie, I quickly went through both lists. I think that the French profile uses:
From the first list:
- FacilitySet
- FlexibleLinkProperties
- FlexiblePointProperties
- GeneralFrameMember
- GenericNavigationPath
- GenericPathJunction
- LuggageLockerEquipment
- NetworkRestriction
- PriceableObject
- SiteComponent
- SiteElement
- SiteNavigationPath
- StopAssignment
- TypeOfMobilityService
- TypeOfModeOfOperation
- WaitingEquipment
From the second list:
- AccessZoneRef
- ClassInFrameRef
- EquipmentRef
- FacilityRef
- FacilitySetRef
- FlexibleLinkPropertiesRef
- FlexiblePointPropertiesRef
- FlexibleServicePropertiesRef
- GenericNavigationPathRef
- GenericPathJunctionRef
- LuggageLockerEquipmentRef
- SignEquipmentRef
- SiteElementRef
- SiteEquipmentRef
- SiteNavigationPathRef
- VehicleEquipmentRef
- WheelchairVehicleRef
And I am quite certain that some of these are not "real" references but used for "free-form text", if not all:
- netex:TypeOfCodespaceAssignmentRef
- netex:TypeOfCongestionRef
- netex:TypeOfDeckEntranceUsageRef
- netex:TypeOfDeliveryVariantRef
- netex:TypeOfFacilityRef
- netex:TypeOfFareProductRef
- netex:TypeOfMobilityServiceRef
- netex:TypeOfModeOfOperationRef
- netex:TypeOfOperationRef
- netex:TypeOfOrganisationPartRef
- netex:TypeOfPaymentMethodRef
- netex:TypeOfRollingStockRef
- netex:TypeOfSecurityListRef
- netex:TypeOfServiceFeatureRef
- netex:TypeOfTimeDemandTypeRef
So, I would suggest that we keep this issue open but make it for v2.0.1 or v2.1 since it will take a bit of effort to work on carefully.
Based on the discussion so far, PR #979 adds constraints for the following:
From the first list:
- FacilitySet
- FlexibleLinkProperties
- FlexiblePointProperties
- GeneralFrameMember
- GenericNavigationPath
- GenericPathJunction
- LuggageLockerEquipment
- NetworkRestriction
- PriceableObject
- SiteComponent
- SiteElement
- SiteNavigationPath
- StopAssignment
- TypeOfMobilityService
- TypeOfModeOfOperation
- WaitingEquipment
From the second list:
- AccessZoneRef
- EquipmentRef
- FacilityRef
- FacilitySetRef
- FlexibleLinkPropertiesRef
- FlexiblePointPropertiesRef
- FlexibleServicePropertiesRef
- GenericNavigationPathRef
- GenericPathJunctionRef
- ParkingEntranceRef
- PlaceLightingEquipmentRef
- PointOfInterestVehicleEntranceRef
- LuggageLockerEquipmentRef
- OtherOrganisationRef
- SensorEquipmentRef
- SignEquipmentRef
- SiteElementRef
- SiteEquipmentRef
- SiteNavigationPathRef
- SpotEquipmentRef
- VehicleEquipmentRef
- VehicleEntranceRef
- VehiclePoolingMeetingPlaceRef
- WheelchairVehicleRef
@TuThoThai Everything added from your comment except ClassInFrameRef.
Currently remaining from initial lists
Remaining from fiirst list:
netex:AdditionalDriverOption
netex:Assignment
netex:BookingDebit
netex:BookingPolicy
netex:CodespaceAssignment
netex:CustomerPurchasePackagePrice
netex:DeckPlaceInSequence
netex:DeckSpaceCapacity
netex:DeckWindow
netex:DefaultDeadRunRunTime
netex:FareDebit
netex:FareProductSaleDebit
netex:FareStructureElementInSequence
netex:InfrastructureLinkRestriction
netex:InterchangeRuleTiming
netex:JourneyPatternHeadway
netex:JourneyTiming
netex:LogEntry
netex:OffenceDebit
netex:OtherDebit
netex:RentalOption
netex:RoundingStep
netex:SpotAffinity
netex:StartTimeAtStopPoint
netex:StopPlaceSpace
netex:TrainComponentStopAssignment
netex:TransportType
netex:TripDebit
netex:TurnaroundTimeLimitTime
netex:TypeOfDeckEntranceUsage
netex:VehicleRequirement
netex:VehicleServicePlaceAssignment
netex:VehicleTypePreference
netex:ZoneInSeries
Remaining from second list:
netex:AccessLegRef
netex:ActivatedEquipmentRef
netex:AdditionalDriverOptionRef
netex:AddressablePlaceRef
netex:AdministrativeZoneRef
netex:AllAuthoritiesRef
netex:AllCountriesRef
netex:AllDistributionChannelsRef
netex:AllOperatorsRef
netex:AllOrganisationsRef
netex:AllPublicTransportOrganisationsRef
netex:AllTransportOrganisationsRef
netex:AlternativeModeLegRef
netex:AlternativeNameRef
netex:AlternativeTextRef
netex:AssignmentRef
netex:BookingDebitRef
netex:BookingPolicyRef
netex:CancellingRef
netex:ClassInFrameRef
netex:ClassRef
netex:CodespaceAssignmentRef
netex:ComplexFeatureProjectionRef
netex:CountryRef
netex:CustomerPurchasePackagePriceRef
netex:deckEntranceAssignmentRef
netex:DeckPlaceInSequenceRef
netex:DeckSpaceCapacityRef
netex:DeckWindowRef
netex:DefaultDeadRunRunTimeRef
netex:DefaultServiceJourneyTimeRef
netex:DeliveryVariantRef
netex:DestinationDisplayVariantRef
netex:DriverRef
netex:DutyRef
netex:FareDebitRef
netex:FareProductRef
netex:FareProductSaleDebitRef
netex:FareQuotaFactorRef
netex:FareRequestRef
netex:FareStructureElementInSequenceRef
netex:FareTableColumnRef
netex:FareTableRowRef
netex:FlexibleModeOfOperationRef
netex:FlexibleServiceAssignmentRef
netex:GroupOfCustomerPurchasePackagesRef
netex:GroupOfPlacesRef
netex:GroupOfTimingLinksRef
netex:InfrastructureLinkRestrictionRef
netex:InterchangeRuleTimingRef
netex:JourneyPatternHeadwayRef
netex:JourneyTimingRef
netex:LayerRef
netex:LineInDirectionRef
netex:LineLinkRef
netex:LinkInSequenceRef
netex:LogEntryRef
netex:LogRef
netex:ModeRef
netex:MonthValidityOffsetRef
netex:OffenceDebitRef
netex:OfferedTravelSpecificationRef
netex:OrderedVersionOfObjectRef
netex:OrganisationalUnitRef
netex:OtherDebitRef
netex:ParentCommonSectionRef
netex:ParkingChargeBandRef
netex:PassengerSeatRef
netex:PathAssignmentRef
netex:PointInSequenceRef
netex:PointOfInterestHierarchyRef
netex:PrivateLegRef
netex:ProfileParameterRef
netex:PtConnectionLegRef
netex:PtRideLegRef
netex:PurposeOfJourneyPartitionRef
netex:QueueingEquipmentRef
netex:RailwayLinkRef
netex:RelationshipRef
netex:RentalOptionRef
netex:RepeatedTripFareRequestRef
netex:RequestedTravelSpecificationRef
netex:ResellingRef
netex:ResidentialQualificationRef
netex:RoadLinkRef
netex:RoundingStepRef
netex:SalesOfferPackageEntitlementGivenRef
netex:SalesOfferPackageEntitlementRequiredRef
netex:ScheduledModeOfOperationRef
netex:ScheduleRequestRef
netex:SchematicMapMemberRef
netex:SchematicMapRef
netex:SectionRef
netex:ServiceAccessRightRef
netex:ServiceLinkInSequenceRef
netex:SimpleObjectRef
netex:SingleTripFareRequestRef
netex:SpatialFeatureRef
netex:SpotAffinityRef
netex:SpotAllocationMethodRef
netex:StartTimeAtStopPointRef
netex:StopEventRequestRef
netex:StopFinderRequestRef
netex:StopPlaceSpaceRef
netex:StopPlaceVehicleEntranceRef
netex:SubscribingRef
netex:SuspendingRef
netex:TariffObjectRef
netex:TimingAlgorithmTypeRef
netex:TopographicProjectionRef
netex:TrainComponentStopAssignmentRef
netex:TransportTypeRef
netex:TripDebitRef
netex:TripLegRef
netex:TripPatternRef
netex:TripPlanRequestRef
netex:TripRef
netex:TurnaroundTimeLimitTimeRef
netex:TypeOfCodespaceAssignmentRef
netex:TypeOfCongestionRef
netex:TypeOfDeckEntranceUsageRef
netex:TypeOfDeliveryVariantRef
netex:TypeOfFacilityRef
netex:TypeOfFareProductRef
netex:TypeOfOperationRef
netex:TypeOfOrganisationPartRef
netex:TypeOfPaymentMethodRef
netex:TypeOfRollingStockRef
netex:TypeOfSecurityListRef
netex:TypeOfServiceFeatureRef
netex:TypeOfTimeDemandTypeRef
netex:TypeOfVersionRef
netex:VehicleProfileRef
netex:VehicleRequirementRef
netex:VehicleServicePlaceAssignmentRef
netex:VehicleTypePreferenceRef
netex:VehicleTypeStopAssignmentRef
netex:VehicleTypeZoneRestrictionRef
netex:VersionOfObjectRef
netex:WireLinkRef
netex:ZoneInSeriesRe
PR #979 is merged. I will let you assess if we need to do more, @skinkie and @trurlurl, but I think we can close the issue.