CTS2 BioPortal Model Mapping

From NCBO Wiki
Jump to navigation Jump to search


The table below shows the correlation between the CTS 2 and Bioportal model elements or CodeSystem and CodeSystemVersion. A cardinality of 0..0 indicates that the model does not support the corresponding attribute directly.


CTS 2 to Bioportal map for CodeSystem and CodeSystemVersion
CTS 2 Class CTS 2 element card Bioportal element card Notes
CTS 2 CodeSystemCatalogEntry 0..n ontologyBean 1..n
CTS 2 CodeSystemVersionCatalogEntry 0..n ontologyBean 1..n
0..n id 1..1 Not used directly in CTS2. The BioPortal abbreviation is used to identify the CodeSystemName. The Id is carried as a property in the CodeSystemVersionCatalog
0..0 ontologyId 1..1 The abbreviation, ontologyId and format are concatinated together to generate a unique CodeSystemVersion. The ontologyId is carried as a property in the CodeSystemVersionCatalog
0..0 filePath 1..1 This is where the file can be downloaded on BioPortal
0..0 isFlat 1..1 Used in BioPortal to indicate ontologies that do not have a well defined hierarchy (Example: Snomed CORE subset)
CodeSystemCatalogEntry about 1..1 BioPortal PURL URI 1..1 BioPortal PURL URI
CodeSystemCatalogEntry codeSystemName 1..1 abbreviation 1..1
CodeSystemCatalogEntry entryState 1..1 0..0 (Workflow related - should not have an Bioportal equivalent)
CodeSystemCatalogEntry formalName 0..1 displayLabel 1..1
CodeSystemCatalogEntry additionalDocumentation 0..1 0..0
CodeSystemCatalogEntry alternateId 0..n 0..0 CTS 2 allows an ontology to have multiple "cannonical" URIs.
CodeSystemCatalogEntry currentVersion 0..1 0..0 A link to the version of the ontology considered to be "current" by the supporting service
CodeSystemCatalogEntry keyword 0..n categoryId 0..n This is not exactly the same as keyword, but a close equivalent
CodeSystemCatalogEntry note 0..n 0..0
CodeSystemCatalogEntry ontologyDomain 0..n 0..0
CodeSystemCatalogEntry ontologyType 0..1 0..0
CodeSystemCatalogEntry property 0..n 0..0
CodeSystemCatalogEntry releaseDocumentation 0..1 0..0
CodeSystemCatalogEntry resourceSynopsis 0..1 description 1..1 "Description" was considered to vague so CTS 2 used a more precise name
CodeSystemCatalogEntry resourceType 1..n 0..0 owl:Ontology, skos:ConceptScheme or other applicable type
CodeSystemCatalogEntry sourceAndNotation.sourceDocument 0..1 downloadLocation 0..1 The location of the source document
CodeSystemCatalogEntry sourceAndRole 0..n contactName 0..1
CodeSystemCatalogEntry sourceAndRole 0..n contactEmail 0..1
CodeSystemCatalogEntry sourceAndRole 0..n homePage 0..1
CodeSystemCatalogEntry sourceStatements 0..n 0..0
CodeSystemCatalogEntry status 0..1 0..0
CodeSystemCatalogEntry versions 0..1 0..0 A link to all known versions of an Ontology
CodeSystemVersionCatalogEntry changeDescription.changeDate 0..1 dateCreated 0..1 CTS 2 has a formal change model and this ends up as a component of this aspect.
CodeSystemVersionCatalogEntry documentURI 1..1 resourceLocator 1..n In CTS 2 parlance, a code system cannot have a location, only a specific version. In addition, CTS 2 differentiates "versions" that have different representations. The OWL version of SNOMED-CT 2010AA is a different CTS 2 version than the RF2 version. As a result, each version has exactly one resourceLocator which serves as the identity of the specific resource.
CodeSystemVersionCatalogEntry imports 0..n 0..0
CodeSystemVersionCatalogEntry officialReleaseDate 0..1 dateReleased 0..1
CodeSystemVersionCatalogEntry officialResourceVersionId 0..1 versionNumber 0..1 This information is not always known, which is why it is not required in CTS 2. CTS 2 does require, however, a codeSystemVersionName which uniquely identifies the version in the context of the service, but does not necessarily have any tie to the publisher's version identifier.
CodeSystemVersionCatalogEntry sourceAndNotation.sourceDocumentSyntax 0..1 format 0..1
CodeSystemVersionCatalogEntry status 0..1 statusId 1..1



CTS 2 to Bioportal map for Entity Description
CTS 2 Class CTS 2 element card Bioportal element card Notes
EntityDescriptionBase about 1..1 fullId 1..1
EntityDescriptionBase entityId 1..1 id 1..1
label 1..1
isTopLevel 1..1
authors 0..n There is no 'SourceAndRole' on an Entity, so this is not mapped. If this needed to be persisted, it could be a 'Note'.
NamedEntityDescription entryState/status 0..1 isObsolete 1..1 if isObsolete is 'true', entryState = 'INACTIVE' and 'status' = 'Obsolete'.
EntityDescriptionBase alternateEntityId 0..n 0..0
EntityDescriptionBase describingCodeSystemVersion 0..1 ontologyVersionId 1..1
EntityDescriptionBase designation 0..n synonyms 0..n
EntityDescriptionBase definition 0..n definitions 0..n
EntityDescriptionBase example 0..n 0..0
EntityDescriptionBase note 0..n 0..0
EntityDescriptionBase property 0..n ClassBean.relation 0..n When the target of the relation map is a string, it is assumed to be a property
EntityDescriptionBase sourceStatements 0..1 0..0
EntityDescriptionBase subjectof 0..1 classBean.Id 0..1
EntityDescriptionBase predicateof 0..1 classBean.relations.key 0..n When the target of the relations map in BioPortal is a list of classbean, the key is assumed to be a predicate
EntityDescriptionBase targetof 0..1 classBean.relations.value 0..n The list classbean in the relations map values.
EntityDescriptionBase parent 0..1 Relation.SuperClass 0..n
EntityDescriptionBase ancestors 0..1 0..0 A BioPortal rest call overs this
EntityDescriptionBase children 0..1 Relation.SubClass 0..n
EntityDescriptionBase descendents 0..1 0..0 A BioPortal rest call overs this
EntityDescriptionBase entityTypes 0..n type 1..1
EntityDescriptionBase instances 0..1 InstanceBean 0..n
EntityDescriptionBase equivalentEntity 0..n ClassBean.relation.equivalentClass 0..n



CTS 2 to Bioportal map for Association
CTS 2 Class CTS 2 element card Bioportal element card Notes
Association associationID 1..1 URI 1..1 There is no identity given to the triple by Bioportal, so we will have to generate or concat something.
Association subject 1..1 classbean.id
Association predicate 1..1 classBean.relations.key 0..n
Association target 0..n classBean.relations.value 1..n
Association associationQualifier 0..n 0..0
Association assertedBy 1..1 0..0 There really is no way to get the ontology or ontologyVersion from the 'classBean', so we can't popluate this without parsing the URI
Association assertedIn 0..1 0..0 There really is no way to get the ontology or ontologyVersion from the 'classBean', so we can't popluate this without parsing the URI
Association derivation 1..1 0..0
Association derivationReasoningAlgorithm 0..n 0..0
Association sourceStatements 0..1 0..0
Association::Changeable entryId 1..1 0..0 Workflow
Association::Changeable entryState 1..1 0..0 Workflow
Association::Changeable status 0..1 0..0 Workflow
AssociationDirectory directoryFilter 0..1 0..0 NA / CTS2 Specific
AssociationDirectory sortCriteria 0..1 0..0 NA / CTS2 Specific
AssociationDirectory numEntries 0..1 0..0 NA / CTS2 Specific
AssociationDirectory complete 0..1 0..0 NA / CTS2 Specific
AssociationDirectory next 0..1 0..0 NA / CTS2 Specific
AssociationDirectory prev 0..1 0..0 NA / CTS2 Specific
AssociationDirectoryEntry associationID 1..1 0..0 There is no identity given to the triple by Bioportal, so we will have to generate or concat something.
AssociationDirectoryEntry subject 1..1 classbean.id
AssociationDirectoryEntry predicate 0..1 classBean.relations.key 0..n
AssociationDirectoryEntry target 1..1 classBean.relations.value 1..n
AssociationDirectoryEntry assertedBy 1..1 0..0
AssociationDirectoryEntry resourceName 0..1 0..0 Associations aren't referenced by 'name', but by URI. This will equal the 'associationID'
AssociationDirectoryEntry href 0..1 NA / CTS2 Specific
AssociationDirectoryEntry matchStrength 0..1 0..0 NA / CTS2 Specific
AssociationGraph expansionDepth 0..1 0..0 NA / CTS2 Specific
AssociationGraph expansionDirection 1..1 0..0 NA / CTS2 Specific
AssociationGraph grapthFocus 1..1 0..0 NA / CTS2 Specific
AssociationGraph focusEntity 0..1 0..0 NA / CTS2 Specific
AssociationGraph directoryFilter 0..1 0..0 NA / CTS2 Specific
AssociationGraph sortCriteria 0..1 0..0 NA / CTS2 Specific
AssociationGraph numEntries 1..1 0..0 NA / CTS2 Specific
AssociationGraph complete 1..1 0..0 NA / CTS2 Specific
AssociationGraph next 0..1 0..0 NA / CTS2 Specific
AssociationGraph prev 0..1 0..0 NA / CTS2 Specific
GraphNode nodeNumber 1..1 0..0 NA / CTS2 Specific Graph Node info
GraphNode direction 1..1 0..0 NA / CTS2 Specific
GraphNode nextNodeNumber 1..1 0..0 NA / CTS2 Specific
GraphNode nodeEntity 1..1 0..0
GraphNode associationID 1..1 There is no identity given to the triple by Bioportal, so we will have to generate or concat something.
GraphNode subject 1..1 classbean.id 1..1
GraphNode predicate 1..1 classBean.relations.key 0..n
GraphNode target 1..n classBean.relations.value 1..n
GraphNode assertedBy 1..1 0..0
GraphNode resourceName 1..1 0..0 Associations aren't referenced by 'name', but by URI. This will equal the 'associationID'
GraphNode href 1..1 NA / CTS2 Specific
GraphNode matchStrength 1..1 0..0 NA / CTS2 Specific