Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make "mappings" as a first class property to obographs? #102

Open
Tracked by #101
matentzn opened this issue Oct 26, 2023 · 16 comments
Open
Tracked by #101

Make "mappings" as a first class property to obographs? #102

matentzn opened this issue Oct 26, 2023 · 16 comments

Comments

@matentzn
Copy link

Like this?

{
    "id": "http://purl.obolibrary.org/obo/MONDO_0014957",
    "meta": {
        "mappings": [
            {
                "pred": "exact",
                "val": "UMLS:C4310678",
                "xrefs": [
                    "Orphanet:123"
                ],
                "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            },
            {
                "pred": "related",
                "val": "OMIM:617182",
                "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            }
        ],
        "basicPropertyValues": [
            {
                "pred": "http://www.w3.org/2004/02/skos/core#exactMatch",
                "val": "http://linkedlifedata.com/resource/umls/id/C4310678"
            },
            {
                "pred": "http://www.w3.org/2004/02/skos/core#relatedMatch",
                "val": "https://omim.org/entry/617182"
            }
        ]
    },
    "type": "CLASS",
    "lbl": "language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia"
}
@matentzn matentzn mentioned this issue Oct 26, 2023
6 tasks
@cthoyt
Copy link

cthoyt commented Oct 26, 2023

Is this necessary, given #44? Couldn't you pack all
Of these annotations inside a theoretical meta object for a given xref, and just assume the default predicate is hasdbxref?

@matentzn
Copy link
Author

I find this terrible... Like really bad. Chris also suggested the same as you (overloading xref), but it really offends my sense of aesthetics. It is also very hard to communicate, unless we want to somehow start educating the world that "mappings" are types of "xrefs" 😱 . 🙅

@matentzn
Copy link
Author

matentzn commented Oct 26, 2023

I think the alternatives are either adding syntactic sugar:

"mappings": [
            {
                "pred": "exact",
                "val": "UMLS:C4310678",
                "xrefs": [
                    "Orphanet:123"
                ],
                "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            },
            {
                "pred": "related",
                "val": "OMIM:617182",
                "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            }
        ],

or leaving it at:

"basicPropertyValues": [
            {
                "pred": "http://www.w3.org/2004/02/skos/core#exactMatch",
                "val": "http://linkedlifedata.com/resource/umls/id/C4310678"
                "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            },
            {
                "pred": "http://www.w3.org/2004/02/skos/core#relatedMatch",
                "val": "https://omim.org/entry/617182",
                  "meta": {
                    "basicPropertyValues": [
                        {
                            "pred": "sssom:mapping_justification",
                            "val": "semapv:ManualMappingCuration"
                        },
                        {
                            "pred": "sssom:confidence",
                            "val": 0.9
                        }
                    ]
                }
            }
        ]

@cmungall
Copy link
Member

cmungall commented Oct 26, 2023 via email

@cthoyt
Copy link

cthoyt commented Oct 26, 2023

I don’t have a strong opinion either way and will support whatever the Java implementer is willing to trudge through :)

@matentzn
Copy link
Author

matentzn commented Nov 1, 2023

Thank you both for your comments! :) You know I am in favour, I wonder now how to move this forward.

@julesjacobsen
Copy link
Collaborator

julesjacobsen commented Nov 9, 2023

Can I get this absolutely clear, please. Given a current BasicPropertyValue (i.e. generic type), when the predicate equals "http://www.w3.org/2004/02/skos/core#relatedMatch" or "http://www.w3.org/2004/02/skos/core#exactMatch", these should instead be represented as a new specialised type MappingPropertyValue, contained in Meta

meta:
  definition: string
  synonyms: SynonymPropertyValue[]
  xrefs: XrefPropertyValue[]
  mappings: MappingPropertyValue[] # NEW!
  basicPropertyValues: BasicPropertyValue[]

where the MappingPropertyValue is essentially a type of XrefPropertyValue and has the following fields:

mapping:
  lbl: string
  pred: string
  val: string
  xrefs: string[] # should this be `sources` ? 
  meta: Meta

Examples below, however this will be ontology dependent as HPO does not use skos:exactMatch so the xrefs remain the same, MONDO does use skos:exactMatch and therefore contains mappings and xrefs.

For the case of skos:relatedMatch, what is that supposed to mean when defined as a 'mapping'? Shouldn't a 'mapping' be a 1:1 relationship i.e. an exact match?

As you mentioned 'xref' is a pretty non-committal term, sometimes it is used as a direct or indirect mapping but other times it is used to describe the source of an assertion (generally when used in the nested fashion). Wouldn't it be useful to define this nested xref as a source instead?

@julesjacobsen
Copy link
Collaborator

julesjacobsen commented Nov 9, 2023

Example MONDO:

    <!-- http://purl.obolibrary.org/obo/MONDO_0014957 -->

    <owl:Class rdf:about="http://purl.obolibrary.org/obo/MONDO_0014957">
        <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/MONDO_0003847"/>
        <rdfs:subClassOf rdf:nodeID="genid212486"/>
        <obo:IAO_0000233 rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://github.com/monarch-initiative/mondo/issues/4521</obo:IAO_0000233>
        <oboInOwl:hasDbXref>OMIM:617182</oboInOwl:hasDbXref>
        <oboInOwl:hasDbXref>UMLS:C4310678</oboInOwl:hasDbXref>
        <oboInOwl:hasExactSynonym>LADCI</oboInOwl:hasExactSynonym>
        <oboInOwl:hasExactSynonym>language delay and ADHD/cognitive impairment with or without cardiac arrhythmia</oboInOwl:hasExactSynonym>
        <oboInOwl:hasExactSynonym>language delay and attention Deficit-hyperactivity disorder/cognitive impairment with or without Cardiac arrhythmia</oboInOwl:hasExactSynonym>
        <oboInOwl:hasExactSynonym>language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia; LADCI</oboInOwl:hasExactSynonym>
        <oboInOwl:id>MONDO:0014957</oboInOwl:id>
        <rdfs:label>language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia</rdfs:label>
        <skos:exactMatch rdf:resource="http://linkedlifedata.com/resource/umls/id/C4310678"/>
        <skos:exactMatch rdf:resource="https://omim.org/entry/617182"/>
    </owl:Class>
    <owl:Restriction rdf:nodeID="genid212486">
        <owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/RO_0004003"/>
        <owl:someValuesFrom rdf:resource="http://identifiers.org/hgnc/4401"/>
    </owl:Restriction>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
        <owl:annotatedTarget rdf:resource="http://purl.obolibrary.org/obo/MONDO_0003847"/>
        <oboInOwl:source>https://orcid.org/0000-0001-5208-3432</oboInOwl:source>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
        <owl:annotatedTarget rdf:nodeID="genid212486"/>
        <oboInOwl:source>MONDO:mim2gene_medgen</oboInOwl:source>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasDbXref"/>
        <owl:annotatedTarget>OMIM:617182</owl:annotatedTarget>
        <oboInOwl:source>MONDO:equivalentTo</oboInOwl:source>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasDbXref"/>
        <owl:annotatedTarget>UMLS:C4310678</owl:annotatedTarget>
        <oboInOwl:source>MONDO:equivalentTo</oboInOwl:source>
        <oboInOwl:source>MONDO:ncbi_mim2gene_medline</oboInOwl:source>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasExactSynonym"/>
        <owl:annotatedTarget>LADCI</owl:annotatedTarget>
        <oboInOwl:hasDbXref>OMIM:617182</oboInOwl:hasDbXref>
        <oboInOwl:hasSynonymType rdf:resource="http://purl.obolibrary.org/obo/mondo#ABBREVIATION"/>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasExactSynonym"/>
        <owl:annotatedTarget>language delay and ADHD/cognitive impairment with or without cardiac arrhythmia</owl:annotatedTarget>
        <oboInOwl:hasDbXref>OMIM:617182</oboInOwl:hasDbXref>
        <oboInOwl:hasDbXref>OMIM:genemap2</oboInOwl:hasDbXref>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/MONDO_0014957"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasExactSynonym"/>
        <owl:annotatedTarget>language delay and attention Deficit-hyperactivity disorder/cognitive impairment with or without Cardiac arrhythmia</owl:annotatedTarget>
        <oboInOwl:hasDbXref>OMIM:617182</oboInOwl:hasDbXref>
    </owl:Axiom>

Currently becomes:

{
      "id" : "http://purl.obolibrary.org/obo/MONDO_0014957",
      "lbl" : "language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia",
      "type" : "CLASS",
      "meta" : {
        "synonyms" : [ {
          "synonymType" : "http://purl.obolibrary.org/obo/mondo#ABBREVIATION",
          "pred" : "hasExactSynonym",
          "val" : "LADCI",
          "xrefs" : [ "OMIM:617182" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and ADHD/cognitive impairment with or without cardiac arrhythmia",
          "xrefs" : [ "OMIM:617182", "OMIM:genemap2" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and attention Deficit-hyperactivity disorder/cognitive impairment with or without Cardiac arrhythmia",
          "xrefs" : [ "OMIM:617182" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia; LADCI"
        } ],
        "xrefs" : [ {
          "val" : "OMIM:617182"
        }, {
          "val" : "UMLS:C4310678"
        } ],
        "basicPropertyValues" : [ {
          "pred" : "http://purl.obolibrary.org/obo/IAO_0000233",
          "val" : "https://github.com/monarch-initiative/mondo/issues/4521"
        }, {
          "pred" : "http://www.w3.org/2004/02/skos/core#exactMatch",
          "val" : "http://linkedlifedata.com/resource/umls/id/C4310678"
        }, {
          "pred" : "http://www.w3.org/2004/02/skos/core#exactMatch",
          "val" : "https://omim.org/entry/617182"
        } ]
      }
    }

With mappings becomes:

{
      "id" : "http://purl.obolibrary.org/obo/MONDO_0014957",
      "lbl" : "language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia",
      "type" : "CLASS",
      "meta" : {
        "synonyms" : [ {
          "synonymType" : "http://purl.obolibrary.org/obo/mondo#ABBREVIATION",
          "pred" : "hasExactSynonym",
          "val" : "LADCI",
          "xrefs" : [ "OMIM:617182" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and ADHD/cognitive impairment with or without cardiac arrhythmia",
          "xrefs" : [ "OMIM:617182", "OMIM:genemap2" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and attention Deficit-hyperactivity disorder/cognitive impairment with or without Cardiac arrhythmia",
          "xrefs" : [ "OMIM:617182" ]
        }, {
          "pred" : "hasExactSynonym",
          "val" : "language delay and attention deficit-hyperactivity disorder/cognitive impairment with or without cardiac arrhythmia; LADCI"
        } ],
        "xrefs" : [ {
          "val" : "OMIM:617182"
        }, {
          "val" : "UMLS:C4310678"
        } ],
        "mappings" : [ {
          "pred" : "http://www.w3.org/2004/02/skos/core#exactMatch",
          "val" : "UMLS:C4310678" # URI becomes CURIE
        }, {
          "pred" : "http://www.w3.org/2004/02/skos/core#exactMatch",
          "val" : "OMIM:617182" # URI becomes CURIE
        } ],
        "basicPropertyValues" : [ {
          "pred" : "http://purl.obolibrary.org/obo/IAO_0000233",
          "val" : "https://github.com/monarch-initiative/mondo/issues/4521"
        } ]
      }
    }

@julesjacobsen
Copy link
Collaborator

julesjacobsen commented Nov 9, 2023

Example HPO

    <!-- http://purl.obolibrary.org/obo/HP_0000006 -->

    <owl:Class rdf:about="http://purl.obolibrary.org/obo/HP_0000006">
        <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/HP_0034345"/>
        <obo:IAO_0000115>A mode of inheritance that is observed for traits related to a gene encoded on one of the autosomes (i.e., the human chromosomes 1-22) in which a trait manifests in heterozygotes. In the context of medical genetics, an autosomal dominant disorder is caused when a single copy of the mutant allele is present. Males and females are affected equally, and can both transmit the disorder with a risk of 50% for each child of inheriting the mutant allele.</obo:IAO_0000115>
        <oboInOwl:hasAlternativeId>HP:0001415</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001447</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001448</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001451</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001452</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001455</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001456</oboInOwl:hasAlternativeId>
        <oboInOwl:hasAlternativeId>HP:0001463</oboInOwl:hasAlternativeId>
        <oboInOwl:hasDbXref>SNOMEDCT_US:263681008</oboInOwl:hasDbXref>
        <oboInOwl:hasDbXref>UMLS:C0443147</oboInOwl:hasDbXref>
        <oboInOwl:hasExactSynonym>Autosomal dominant</oboInOwl:hasExactSynonym>
        <oboInOwl:hasExactSynonym>monoallelic_autosomal</oboInOwl:hasExactSynonym>
        <oboInOwl:hasRelatedSynonym>Autosomal dominant form</oboInOwl:hasRelatedSynonym>
        <oboInOwl:hasRelatedSynonym>Autosomal dominant type</oboInOwl:hasRelatedSynonym>
        <oboInOwl:id>HP:0000006</oboInOwl:id>
        <rdfs:label>Autosomal dominant inheritance</rdfs:label>
<!-- N.B. MISSING <skos:exactMatch /> TAGS, SO MAPPINGS WILL NOT BE CREATED -->
    </owl:Class>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/HP_0000006"/>
        <owl:annotatedProperty rdf:resource="http://purl.obolibrary.org/obo/IAO_0000115"/>
        <owl:annotatedTarget>A mode of inheritance that is observed for traits related to a gene encoded on one of the autosomes (i.e., the human chromosomes 1-22) in which a trait manifests in heterozygotes. In the context of medical genetics, an autosomal dominant disorder is caused when a single copy of the mutant allele is present. Males and females are affected equally, and can both transmit the disorder with a risk of 50% for each child of inheriting the mutant allele.</owl:annotatedTarget>
        <oboInOwl:hasDbXref rdf:resource="https://orcid.org/0000-0002-0736-9199"/>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/HP_0000006"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasExactSynonym"/>
        <owl:annotatedTarget>monoallelic_autosomal</owl:annotatedTarget>
        <oboInOwl:hasSynonymType rdf:resource="http://purl.obolibrary.org/obo/HP_0034334"/>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/HP_0000006"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym"/>
        <owl:annotatedTarget>Autosomal dominant form</owl:annotatedTarget>
        <oboInOwl:hasDbXref rdf:resource="https://orcid.org/0000-0002-5316-1399"/>
    </owl:Axiom>
    <owl:Axiom>
        <owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/HP_0000006"/>
        <owl:annotatedProperty rdf:resource="http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym"/>
        <owl:annotatedTarget>Autosomal dominant type</owl:annotatedTarget>
        <oboInOwl:hasDbXref rdf:resource="https://orcid.org/0000-0002-5316-1399"/>
    </owl:Axiom>

currently and with mappings remains the same:

{
      "id" : "http://purl.obolibrary.org/obo/HP_0000006",
      "lbl" : "Autosomal dominant inheritance",
      "type" : "CLASS",
      "meta" : {
        "definition" : {
          "val" : "A mode of inheritance that is observed for traits related to a gene encoded on one of the autosomes (i.e., the human chromosomes 1-22) in which a trait manifests in heterozygotes. In the context of medical genetics, an autosomal dominant disorder is caused when a single copy of the mutant allele is present. Males and females are affected equally, and can both transmit the disorder with a risk of 50% for each child of inheriting the mutant allele.",
          "xrefs" : [ "https://orcid.org/0000-0002-0736-9199" ]
        },
        "synonyms" : [ {
          "pred" : "hasExactSynonym",
          "val" : "Autosomal dominant"
        }, {
          "synonymType" : "http://purl.obolibrary.org/obo/HP_0034334",
          "pred" : "hasExactSynonym",
          "val" : "monoallelic_autosomal"
        }, {
          "pred" : "hasRelatedSynonym",
          "val" : "Autosomal dominant form",
          "xrefs" : [ "https://orcid.org/0000-0002-5316-1399" ]
        }, {
          "pred" : "hasRelatedSynonym",
          "val" : "Autosomal dominant type",
          "xrefs" : [ "https://orcid.org/0000-0002-5316-1399" ]
        } ],
        "xrefs" : [ {
          "val" : "SNOMEDCT_US:263681008"
        }, {
          "val" : "UMLS:C0443147"
        } ],
        "basicPropertyValues" : [ {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001415"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001447"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001448"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001451"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001452"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001455"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001456"
        }, {
          "pred" : "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId",
          "val" : "HP:0001463"
        } ]
      }
    }

@matentzn
Copy link
Author

Alright, after some back and forth, @julesjacobsen has now convinced me that extending the existing schema for xrefs to support semantic predicates is less destructive and confusing for the community. So basically, similarly to the way synonyms are modelled:

 "synonyms" : [ {
          "synonymType" : "http://purl.obolibrary.org/obo/mondo#ABBREVIATION",
          "pred" : "hasExactSynonym",
          "val" : "LADCI",
          "xrefs" : [ "OMIM:617182" ]
        }

We would extend the xref system to semantic precision, from what it is right now:

 "xrefs" : [ {
          "val" : "MESH:D010319"
        }

to semantic:

 "xrefs" : [ {
          "val" : "MESH:D010319",
          "pred" : "exactMatch"
        }

My biggest qualm (other than the fact that my mission to obliterate the notion of "xref" from the face of the earth) with this is that this would only neatly work for standard mapping predicates, like exact, related etc. We are introducing other mapping relations, like "crossSpeciesExactMatch" or others would be harder, because we are not introducing another type system like synonym types for these (relying instead of actual predicates).

@cthoyt
Copy link

cthoyt commented Nov 20, 2023

I'm not sure I understand the qualm. Isn't it good that you can use whatever CURIE you want to specify the predicate? And if none is given, it just means a default predicate from OIO?

@matentzn
Copy link
Author

Yes that would be good, but that is not what it says right now:

"xrefs" : [ {
          "val" : "MESH:D010319",
          "pred" : "exactMatch"
        }

is not using a CURIE, it is using a built in enum,

"xrefs" : [ {
          "val" : "MESH:D010319",
          "pred" : "skos:exactMatch"
        }

That would be better, but less obographs style.

@cmungall
Copy link
Member

cmungall commented Nov 20, 2023 via email

@matentzn
Copy link
Author

How do open-ended predicates work right now for translating between OWL and
SSSOM? Does the mapper assume only the fixed predicates?

There are certain predicates that are by default assumed to be valid mapping predicates, but a user can pass in any predicate id to process as a mapping predicate.

Moving ontologies to specific predicates either as a replacement to or as
semi-duplicative xref shadows is going to be confusing to everyone, whether
they are consuming obojson, rdf/owl, or obo format. We should open this
more generally

Can you give an example? I am not sure how this relates to my comment above #102 (comment)

I thought this is what you where suggesting?

@julesjacobsen
Copy link
Collaborator

julesjacobsen commented Nov 20, 2023

What's wrong with saying "pred" : "skos:exactMatch" and have that resolve to https://www.w3.org/2009/08/skos-reference/skos.html#exactMatch via the resources (like what @cthoyt mentions above)? This means libraries can interpret what they know and safely fall back to their original interpretations of an unasserted xref.

My point about adding a predicate to a xref is that it is simply clarifying an existing data structure and a non-breaking, additive change. I agree than defining it as an enum is by definition fixed and therefore might not be the best choice.

@matentzn
Copy link
Author

What's wrong with saying "pred" : "skos:exactMatch"

yeah, maybe that is the best way. Its a bit inconsistent with the way we do synonyms, but not worse than my above mappings proposal!

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

No branches or pull requests

4 participants