[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] Updated: (ODATA-535) Define specialization for terms
[ http://tools.oasis-open.org/issues/browse/ODATA-535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ralf Handl updated ODATA-535: ----------------------------- Resolution: https://www.oasis-open.org/committees/download.php/50921/odata-v4.0-wd04-part3-csdl-2013-10-03(3).docx https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/MetadataService.edmx?rev=495 https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/vocabularies/Org.OData.Core.V1.xml?rev=490 https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edm.xsd?rev=490 Accepted: https://www.oasis-open.org/committees/download.php/50924/odata-meeting-55_on-20131003-minutes.html#odata-535 was: https://www.oasis-open.org/committees/download.php/50921/odata-v4.0-wd04-part3-csdl-2013-10-03(3).docx https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/vocabularies/Org.OData.Core.V1.xml?rev=490 https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/edm.xsd?rev=490 Accepted: https://www.oasis-open.org/committees/download.php/50924/odata-meeting-55_on-20131003-minutes.html#odata-535 > Define specialization for terms > ------------------------------- > > Key: ODATA-535 > URL: http://tools.oasis-open.org/issues/browse/ODATA-535 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Improvement > Components: OData CSDL, Vocabularies > Affects Versions: V4.0_CS01 > Environment: [Proposed][Applied for Review] > Reporter: Ralf Handl > Fix For: V4.0_CSD03 > > > When merging type terms and value terms we lost the possibility to define terms that are a specialization of other terms, e.g. "a developer is a person with programming skills". > Given: > - term Person using complex PersonType > What we can currently do: > - define a complex DeveloperType that inherits from PersonType > - annotate something with term Person and use a record of type DeveloperType > <Annotation Term="X.Person"> > <Record Type="Y.DeveloperType"> > <PropertyValue Property="Name" Path="Fullname" /> <!-- defined on PersonType --> > <PropertyValue Property="ProgrammingSkills" Path="ListOfSkills" /> <!-- defined on DeveloperType --> > </Record> > </Annotation> > So someone knowing the term Person will find this term with additional properties defined on the DeveloperType. > Drawback: no term "Developer"; semantic "is a developer" is expressed indirectly. > Drawback: supports only one level. If an Architect is a special Developer, then the "is a developer" semantics is lost because the record's type is "Z.ArchitectType" and Y.DeveloperType is no longer mentioned in the annotation. > Goals: > - define a term Developer and indicate in the term definition that it specializes term Person > - annotate something with term Developer in a way that someone knowing only Person and with no access to the definition of term Developer can recognize a Developer as a Person. This should also work with longer specialization chains > Other use cases: > - a Team is a collection of Person instances > - a DevelopmentTeam is a Team, and also a collection of Developer instances > - a ScrumTeam is a DevelopmentTeam with a ScrumMaster > - a ScrumMaster is a Developer which is a Person -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]