From dbf5548683fb1d3f345db498190d181c503779ff Mon Sep 17 00:00:00 2001 From: vyasakhilesh Date: Tue, 10 Oct 2023 11:26:01 +0200 Subject: [PATCH] filtered annotation properties --- ...nnotation_v8_no_duplicate_only_rel_ann.ttl | 1037 +++++++++++++++++ annotation_correction.ipynb | 718 ++++++++++++ 2 files changed, 1755 insertions(+) create mode 100644 annotation properties/annotation_v8_no_duplicate_only_rel_ann.ttl create mode 100644 annotation_correction.ipynb diff --git a/annotation properties/annotation_v8_no_duplicate_only_rel_ann.ttl b/annotation properties/annotation_v8_no_duplicate_only_rel_ann.ttl new file mode 100644 index 0000000..e960bd0 --- /dev/null +++ b/annotation properties/annotation_v8_no_duplicate_only_rel_ann.ttl @@ -0,0 +1,1037 @@ + "BFO OWL specification label" . + "BFO OWL规范标签" . + "Relates an entity in the ontology to the name of the variable that is used to represent it in the code that generates the BFO OWL file from the lispy specification." . + "将本体中的实体关联到用于在代码中表示它的变量的名称,这些代码从lispy规范生成BFO OWL 文件。" . + "Really of interest to developers only" . + "只对开发人员感兴趣" . + . + . + . + . + . + . + . + . + . + "BFO OWL specification label" . + "BFO OWL规范标签" . + . + "BFO CLIF specification label" . + "BFO CLIF规范标签" . + "Relates an entity in the ontology to the term that is used to represent it in the the CLIF specification of BFO2" . + "将本体中的实体关联到用于在BFO2 CLIF规范中表示它的术语上。" . + "Person:Alan Ruttenberg" . + "Really of interest to developers only" . + "只对开发人员感兴趣" . + . + . + . + . + . + . + . + . + . + "BFO CLIF specification label" . + "BFO CLIF规范标签" . + . + "editor preferred label" . + "editor preferred term" . + "editor preferred term~editor preferred label" . + "编辑首选术语" . + "编辑首选标签" . + . + "The concise, meaningful, and human-friendly name for a class or property preferred by the ontology developers. (US-English)" . + "对于一类或属性的简洁的、有意义的、与人类友好的名称由本体开发商首选。 (美国英语)" . + "PERSON:Daniel Schober" . + "GROUP:OBI:" . + . + . + . + . + . + . + . + . + . + "editor preferred label" . + "editor preferred term" . + "editor preferred term~editor preferred label" . + "编辑首选术语" . + "编辑首选术语~编辑首选标签" . + "编辑首选标签" . + "example of usage" . + "example" . + "例子" . + "用法示例" . + . + "A phrase describing how a class name should be used. May also include other kinds of examples that facilitate immediate understanding of a class semantics, such as widely known prototypical subclasses or instances of the class. Although essential for high level terms, examples for low level terms (e.g., Affymetrix HU133 array) are not" . + "A phrase describing how a class name should be used. May also include other kinds of examples that facilitate immediate understanding of a class semantics, such as widely known prototypical subclasses or instances of the class. Although essential for high level terms, examples for low level terms (e.g., Affymetrix HU133 array) are not." . + "A phrase describing how a term should be used and/or a citation to a work which uses it. May also include other kinds of examples that facilitate immediate understanding, such as widely know prototypes or instances of a class, or cases where a relation is said to hold." . + "短语描述一个类的名字应该如何使用。也可包括其他类型有助于直接理解类的语义的例子,如广为人知的类的原型子类或实例。虽然高水平的术语必不可少,对于低级别术语的示例(例如,Affymetrix HU133阵列)不" . + "PERSON:Daniel Schober" . + "GROUP:OBI:" . + "GROUP:OBI:" . + "IAO" . + . + . + . + . + . + . + "IAO:0000112" . + "uberon" . + "example_of_usage" . + "1" . + "example_of_usage" . + . + . + . + . + "example of usage" . + "用法示例" . + "has curation status" . + "有管理状态" . + "PERSON:Alan Ruttenberg" . + "PERSON:Bill Bug" . + "PERSON:Melanie Courtot" . + "OBI_0000281" . + . + . + . + . + . + . + . + . + . + . + "has curation status" . + "有管理状态" . + "definition" . + "textual definition" . + "定义" . + . + "A property representing the English language definitions of what NCI means by the concept. They may also include information about the definition's source and attribution in a form that can easily be interpreted by software." . + "English language definitions of what NCI means by the concept. These are limited to 1024 characters. They may also include information about the definition's source and attribution in a form that can easily be interpreted by software." . + "OBI的官方定义,解释类或属性的含义。应该是亚里士多德式的,形式化和规范化的。 可以通过口语定义进行扩充。" . + "The official OBI definition, explaining the meaning of a class or property. Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions." . + "The official definition, explaining the meaning of a class or property. Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions." . + "The official definition." . + "官方的定义,解释类或属性的含义。应该是亚里士多德式的,形式化和规范化的。 可以通过口语定义进行扩充。" . + "2012-04-05: Barry Smith OBI的官方定义解释了一个类或属性的含义:'应该是亚里士多德式的,形式化和规范化的。可以用口语定义'是糟糕的。 您能解决这样的问题吗? 解释关于类或属性的表达含义的必要和充分条件的陈述。 Alan Ruttenberg 您提出的定义是一个合理的备选,除非它很常见,没有给出必要和充分的条件。大多数情况下它们是必要的,偶尔是必要的,充分的或者仅仅仅充分的。它们通常使用不是自己定义的术语,因此它们实际上不能通过这些标准进行评估。 关于拟议定义的具体内容: 我们没有“含义”,或“表达”或“属性”的定义。对于在预期意义上的“参考”,我认为我们使用术语“指示”。对于'表达',我认为我们和你的意思是符号,或标识符。对于“含义”,它不同于类和属性。对于类,我们希望文档能够让读者确定一个实体是否是该类的实例。对于属性,让我们的目标读者决定,给定一对潜在的关系,判断关系成立的断言正确与否。 “目标读者”部分表明我们也指定了我们期望的能够理解定义的人,并且概括了人类和计算机读者以包含文本和逻辑定义。 就我个人而言,我更愿意削弱对文档的定义,并指出什么是可取的。 我们还有一个悬而未决的问题,就是如何针对不同的受众定位不同的定义。临床读者阅读chebi需要来自受过化学训练的受众的不同类型的定义文档/定义,同样需要一个适合本体工作者的定义。 " . + "2012-04-05: Barry Smith The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. Can you fix to something like: A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. Alan Ruttenberg Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. On the specifics of the proposed definition: We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. We also have the outstanding issue of how to aim different definitions to different audiences. A clinical audience reading chebi wants a different sort of definition documentation/definition from a chemistry trained audience, and similarly there is a need for a definition that is adequate for an ontologist to work with. " . + "2012-04-05: Barry Smith The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. Can you fix to something like: A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. Alan Ruttenberg Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. On the specifics of the proposed definition: We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. We also have the outstanding issue of how to aim different definitions to different audiences. A clinical audience reading chebi wants a different sort of definition documentation/definition from a chemistry trained audience, and similarly there is a need for a definition that is adequate for an ontologist to work with." . + "2012-04-05: Barry Smith The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. Can you fix to something like: A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. Alan Ruttenberg Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. On the specifics of the proposed definition: We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. We also have the outstanding issue of how to aim different definitions to different audiences. A clinical audience reading chebi wants a different sort of definition documentation/definition from a chemistry trained audience, and similarly there is a need for a definition that is adequate for an ontologist to work with. " . + "2012-04-05: Barry Smith The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. Can you fix to something like: A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. Alan Ruttenberg Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. On the specifics of the proposed definition: We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. We also have the outstanding issue of how to aim different definitions to different audiences. A clinical audience reading chebi wants a different sort of definition documentation/definition from a chemistry trained audience, and similarly there is a need for a definition that is adequate for an ontologist to work with. " . + "PERSON:Daniel Schober" . + "DEFINITION" . + "GROUP:OBI:" . + . + . + . + . + . + . + . + . + . + . + "Definition" . + . + "no" . + . + "DEFINITION" . + . + "Allyson Lister 8.10.2019: Although the IAO definition has been included here, we have made a curation decision to allow non-Aristotelian definitions." . + . + . + . + "definition" . + "textual definition" . + "定义" . + "文本定义" . + . + "editor note" . + "编者注" . + . + "An administrative note intended for its editor. It may not be included in the publication version of the ontology, so it should contain nothing necessary for end users to understand the ontology." . + "管理者注释用于其编辑器。它可能不包含在本体的出版版本中,所以它应该不包含最终用户了解本体所需的信息。" . + "PERSON:Daniel Schober" . + "GROUP:OBI:" . + "GROUP:OBI:" . + "GROUP:OBI:" . + . + . + . + . + . + . + . + "IAO:0000116" . + "uberon" . + "editor_note" . + "编辑_注释" . + "1" . + "editor_note" . + "编辑_注释" . + "IAO:0000116" . + "uberon" . + "editor_note" . + "1" . + "editor_note" . + . + . + . + . + . + "editor note" . + "fma translation source" . + "编者注" . + "IAO:0000116" . + "definition editor" . + "term editor" . + "术语编辑者" . + . + "Name of editor entering the definition in the file. The definition editor is a point of contact for information regarding the term. The definition editor may be, but is not always, the author of the definition, which may have been worked upon by several people" . + "Name of editor entering the term in the file. The term editor is a point of contact for information regarding the term. The term editor may be, but is not always, the author of the definition, which may have been worked upon by several people" . + "输入文件中术语编辑者的名称。术语编辑者是有关术语的信息交汇点。术语编辑者可以是,但并不总是,定义的作者,这可能是由几个人完成" . + "20110707, MC: label update to term editor and definition modified accordingly. See http://code.google.com/p/information-artifact-ontology/issues/detail?id=115." . + "20110707, MC: label update to term editor and definition modified accordingly. See https://github.com/information-artifact-ontology/IAO/issues/115." . + "20110707,MC:术语编辑和定义进行相应的修改。见http://code.google.com/p/information-artifact-ontology/issues/detail?id=115。" . + "PERSON:Daniel Schober" . + "GROUP:OBI:" . + "GROUP:OBI:" . + . + . + . + . + . + "definition_editor" . + "Peter McQuilton" . + . + . + . + . + . + . + "definition editor" . + "definition_editor" . + "term editor" . + "术语编辑者" . + "alternative label" . + "alternative term" . + "替代术语" . + . + "A label for a class or property that can be used to refer to the class or property instead of the preferred rdfs:label. Alternative labels should be used to indicate community- or context-specific labels, abbreviations, shorthand forms and the like." . + "An alternative name for a class or property which means the same thing as the preferred name (semantically equivalent)" . + "一类或属性的替代名称,这意味着与所述首选名称同样的事物(语义上等价)" . + "Mia" . + "OBO Operations committee" . + "PERSON:Daniel Schober" . + "GROUP:OBI:" . + "GROUP:OBI:" . + . + . + . + . + . + . + "Consider re-defing to: An alternative name for a class or property which can mean the same thing as the preferred name (semantically equivalent, narrow, broad or related)." . + . + . + . + . + "alternative label" . + "alternative term" . + "alternative_term" . + "替代术语" . + "definition source" . + "定义来源" . + . + "Formal citation, e.g. identifier in external database to indicate / attribute source(s) for the definition. Free text indicate / attribute source(s) for the definition. EXAMPLE: Author Name, URI, MeSH Term C04, PUBMED ID, Wiki uri on 31.01.2007" . + "Formal citation, e.g. identifier in external database to indicate / attribute source(s) for the definition. Free text indicate / attribute source(s) for the definition. EXAMPLE: Author Name, URI, MeSH Term C04, PUBMED ID, Wiki uri on 31.01.2007." . + "formal citation, e.g. identifier in external database to indicate / attribute source(s) for the definition. Free text indicate / attribute source(s) for the definition. EXAMPLE: Author Name, URI, MeSH Term C04, PUBMED ID, Wiki uri on 31.01.2007" . + "正式引用,例如在外部数据库中的标识符,用于表示/定义的属性源(S)。自由文本表示/为定义属性源(S)。实例:在2007年1月31日的作者姓名,URI,MeSH术语C04,PUBMEDID,维基uri" . + "PERSON:Daniel Schober" . + "Discussion on obo-discuss mailing-list, see http://bit.ly/hgm99w" . + "GROUP:OBI:" . + "论OBO-讨论邮件-列表,请参阅http://bit.ly/hgm99w" . + . + . + . + . + . + "definition_source" . + "Peter McQuilton" . + . + . + . + . + . + "definition source" . + "definition_source" . + "定义来源" . + "curator note" . + "管理者注释" . + . + "An administrative note of use for a curator but of no use for a user" . + "管理者注释对管理者有用对用户无用" . + "PERSON:Alan Ruttenberg" . + . + . + . + . + . + "IAO:0000232" . + "uberon" . + "curator_notes" . + "管理者_注释" . + "1" . + "curator_notes" . + "管理者_注释" . + "IAO:0000232" . + "uberon" . + "curator_notes" . + "1" . + "curator_notes" . + . + . + . + "curator note" . + "curator notes" . + "管理者注释" . + "term tracker item" . + "the URI for an OBI Terms ticket at sourceforge, such as https://sourceforge.net/p/obi/obi-terms/772/" . + . + "An IRI or similar locator for a request or discussion of an ontology term." . + "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg" . + "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg" . + "IAO:0000233" . + "external" . + "uberon" . + "term_tracker_item" . + "1" . + "1" . + "term_tracker_item" . + . + "The 'tracker item' can associate a tracker with a specific ontology term." . + . + . + "term tracker item" . + "ontology term requester" . + . + "The 'term requester' can credit the person, organization or project who request the ontology term.,The name of the person, project, or organization that motivated inclusion of an ontology term by requesting its addition." . + "The name of the person, project, or organization that motivated inclusion of an ontology term by requesting its addition." . + "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg" . + "Person: Jie Zheng, Chris Stoeckert, Alan Ruttenberg" . + . + "The 'term requester' can credit the person, organization or project who request the ontology term." . + "IAO" . + "ontology term requester" . + "imported from" . + "引自" . + . + "For external terms/classes, the ontology from which the term was imported" . + "For external terms/classes, the ontology from which the term was imported." . + "外部术语/类,术语引入的本体" . + "PERSON:Alan Ruttenberg" . + "PERSON:Melanie Courtot" . + "GROUP:OBI:" . + . + . + . + . + . + "no" . + "metadata complete - requires restrictions and relationships" . + "IAO:0000412" . + . + . + . + . + "imported from" . + "引自" . + "expand expression to" . + "ObjectProperty: RO_0002104 Label: has plasma membrane part Annotations: IAO_0000424 "ObjectProperty: RO_0002104 Label: has plasma membrane part Annotations: IAO_0000424 "ObjectProperty: RO_0002104 Label: has plasma membrane part Annotations: IAO_0000424 "A macro expansion tag applied to an object property (or possibly a data property) which can be used by a macro-expansion engine to generate more complex expressions from simpler ones" . + "Chris Mungall" . + . + . + . + . + "expand expression to" . + "OBO foundry unique label" . + . + "An alternative name for a class or property which is unique across the OBO Foundry." . + "The intended usage of that property is as follow: OBO foundry unique labels are automatically generated based on regular expressions provided by each ontology, so that SO could specify unique label = 'sequence ' + [label], etc. , MA could specify 'mouse + [label]' etc. Upon importing terms, ontology developers can choose to use the 'OBO foundry unique label' for an imported term or not. The same applies to tools ." . + "PERSON:Alan Ruttenberg" . + "PERSON:Bjoern Peters" . + "PERSON:Chris Mungall" . + "PERSON:Melanie Courtot" . + "GROUP:OBO Foundry " . + . + . + . + "OBO foundry unique label" . + "obo foundry unique label" . + "elucidation" . + "说明" . + "person:Alan Ruttenberg" . + "Person:Barry Smith" . + . + . + . + . + . + "Primitive terms in a highest-level ontology such as BFO are terms which are so basic to our understanding of reality that there is no way of defining them in a non-circular fashion. For these, therefore, we can provide only elucidations, supplemented by examples and by axioms" . + "在最高级别的本体中的原始术语如BFO是对我们理解现实最基本,以至于无法以非循环的方式来定义它们的术语。对于这些,因此,我们只能提供说明,通过例子和公理进行补充" . + . + . + . + "elucidation" . + "说明" . + "has associated axiom(nl)" . + "具有相关联的公理(nl)" . + "Person:Alan Ruttenberg" . + "Person:Alan Ruttenberg" . + . + . + . + . + "An axiom associated with a term expressed using natural language" . + "与一个使用自然语言表达的术语相关的公理" . + . + . + . + "has associated axiom(nl)" . + "具有相关联的公理(nl)" . + "has associated axiom(fol)" . + "具有相关联的公理(fol)" . + "Person:Alan Ruttenberg" . + "Person:Alan Ruttenberg" . + . + . + . + . + "An axiom expressed in first order logic using CLIF syntax" . + "使用CLIF语法在第一逻辑进行表达的公理" . + . + . + . + "has associated axiom(fol)" . + "具有相关联的公理(fol)" . + "has ontology root term" . + "Has ontology root term." . + "Ontology annotation property. Relates an ontology to a term that is a designated root term of the ontology. Display tools like OLS can use terms annotated with this property as the starting point for rendering the ontology class hierarchy. There can be more than one root" . + "Ontology annotation property. Relates an ontology to a term that is a designated root term of the ontology. Display tools like OLS can use terms annotated with this property as the starting point for rendering the ontology class hierarchy. There can be more than one root." . + "Nicolas Matentzoglu" . + "IAO:0000700" . + "external" . + "uberon" . + "has_ontology_root_term" . + "1" . + "1" . + "has_ontology_root_term" . + . + "has ontology root term" . + "has_ontology_root_term" . + "preferred_root" . + "has axiom id" . + "Person:Alan Ruttenberg" . + "Person:Alan Ruttenberg" . + . + . + . + . + "A URI that is intended to be unique label for an axiom used for tracking change to the ontology. For an axiom expressed in different languages, each expression is given the same URI" . + . + . + . + . + "axiom id" . + "has axiom label" . + "ISA alternative term" . + . + "An alternative term used by the ISA tools project (http://isa-tools.org)." . + "Requested by Alejandra Gonzalez-Beltran https://sourceforge.net/tracker/?func=detail aid=3603413 group_id=177891 atid=886178" . + "Requested by Alejandra Gonzalez-Beltran https://sourceforge.net/tracker/?func=detail&aid=3603413&group_id=177891&atid=886178" . + "Person: Alejandra Gonzalez-Beltran" . + "Person: Philippe Rocca-Serra" . + "ISA tools project (http://isa-tools.org)" . + . + "ISA alternative term" . + . + "IEDB alternative term" . + . + "An alternative term used by the IEDB." . + "PERSON:Randi Vita, Jason Greenbaum, Bjoern Peters" . + "IEDB" . + . + "IEDB alternative term" . + . + "temporal interpretation" . + "An assertion that holds between an OWL Object Property and a temporal interpretation that elucidates how OWL Class Axioms that use this property are to be interpreted in a temporal context." . + . + . + . + . + . + "temporal interpretation" . + . + . + . + . + . + . + "defined by inverse" . + . + . + "logical macro assertion on an annotation property" . + . + "relation p is the direct form of relation q iff p is a subPropertyOf q, p does not have the Transitive characteristic, q does have the Transitive characteristic, and for all x, y: x q y -> exists z1, z2, ..., zn such that x p z1 ... z2n y" . + "The general property hierarchy is: directly P SubPropertyOf P . Transitive(P) Where we have an annotation assertion directly P is direct form of P" . + "If we have the annotation P is-direct-form-of Q, and we have inverses P' and Q', then it follows that P' is-direct-form-of Q'" . + "Chris Mungall" . + "Chris Mungall" . + . + . + . + "is direct form of" . + . + . + "Relation p is the indirect form of relation q iff p is a subPropertyOf q, and there exists some p' such that p' is the direct form of q, p' o p' -> p, and forall x,y : x q y -> either (1) x p y or (2) x p' y" . + "relation p is the indirect form of relation q iff p is a subPropertyOf q, and there exists some p' such that p' is the direct form of q, p' o p' -> p, and forall x,y : x q y -> either (1) x p y or (2) x p' y" . + "Chris Mungall" . + "Chris Mungall" . + . + . + "is indirect form of" . + . + . + "If R <- P o Q is a defining property chain axiom, then (1) R -> P o Q holds and (2) Q is either reflexive or locally reflexive. A corollary of this is that P SubPropertyOf R." . + . + . + . + "is a defining property chain axiom where second argument is reflexive" . + . + "cjm" . + . + "2018-03-14T00:03:16Z" . + . + . + "is positive form of" . + . + "cjm" . + . + "2018-03-14T00:03:24Z" . + . + . + "is negative form of" . + . + . + "Preliminary entries" . + . + . + "Annotated by 3rd party" . + . + . + "Manually annotated by ChEBI Team" . + . + . + "IUPAC NAME" . + . + . + . + "formula" . + . + . + . + . + . + "smiles" . + . + "eco subset" . + . + . + "pg" . + . + "2020-09-22T11:05:29Z" . + . + "valid_for_go_annotation_extension" . + . + . + "pg" . + . + "2020-09-22T11:05:18Z" . + . + "valid_for_go_gp2term" . + . + . + "pg" . + . + "2020-09-22T11:04:12Z" . + . + "valid_for_go_ontology" . + . + . + "pg" . + . + "2020-09-22T11:05:45Z" . + . + "valid_for_gocam" . + . + . + . + "uberon" . + "dc-contributor" . + "dc-贡献者" . + "1" . + "dc-contributor" . + "dc-贡献者" . + "Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity." . + "Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity." . + "Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity." . + "贡献者的例子包括一个人,一个 组织或者一个服务。 典型地, 一个贡献者的名字 应该用于指示这个实体." . + "contributor" . + "Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity." . + . + "oba" . + "uberon" . + "dc-contributor" . + . + "1" . + "dc-contributor" . + . + "An entity responsible for making contributions to the content of the resource." . + "一个实体应该有助于 资源的内容" . + . + . + "Contributor" . + "contributor" . + "贡献者" . + "An entity primarily responsible for making the resource. (This property is used in the SCDO when a term was created by the SCDO Working Group or a curator.) The SCDO uses this especially to apply to term descriptions." . + . + . + "no" . + "ready for release" . + "Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity." . + "Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity." . + "Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity." . + "creator" . + "Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity." . + . + "uberon" . + "dc-creator" . + "1" . + "dc-creator" . + . + "An entity primarily responsible for making the content of the resource." . + "An entity primarily responsible for making the content of the resource." . + . + . + . + "Creator" . + "creator" . + "dc:creator" . + "Creator" . + "Typically, Date will be associated with the creation or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD format." . + "Typically, Date will be associated with the creation or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD format." . + "Typically, Date will be associated with the creation or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD format." . + . + "A date associated with an event in the life cycle of the resource." . + . + . + "Date" . + "date" . + "dc:date" . + "An account of a resource." . + "Description of the ontology." . + "Description." . + . + "Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content." . + "Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content." . + "描述应该包含但不限于一个摘要, 内容表格, 内容的图形表示 或内容的自由文本描述" . + "description" . + "Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content." . + . + "uberon" . + "dc-description" . + "1" . + "dc-description" . + . + . + "An account of the content of the resource." . + "资源内容的说明。" . + . + . + . + "Description" . + "description" . + "描述" . + . + "A language of the resource." . + . + "no" . + "ontology annotation property" . + "Recommended best practice is to use RFC 3066 [RFC3066], which, in conjunction with ISO 639 [ISO639], defines two- and three-letter primary language tags with optional subtags. Examples include en or eng for English, akk for Akkadian, and en-GB for English used in the United Kingdom." . + . + "A language of the intellectual content of the resource." . + "Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]." . + . + "Language" . + "dc:language" . + "language" . + "Language" . + "A related resource from which the described class/term's annotations are derived." . + . + . + . + "yes" . + "pending vetting by the SCDO developers" . + "The present resource may be derived from the Source resource in whole or in part. Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system." . + "The present resource may be derived from the Source resource in whole or in part. Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system." . + "The present resource may be derived from the Source resource in whole or in part. Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system." . + . + "uberon" . + "dc-source" . + "1" . + "dc-source" . + . + "A reference to a resource from which the present resource is derived." . + "A reference to a resource from which the present resource is derived." . + . + . + . + . + "Source" . + "dc:source" . + "derived from resource" . + "source" . + . + . + . + "bibliographic citation" . + . + "bibliographic citation" . + . + "An entity responsible for making contributions to the resource." . + "contributor" . + . + "uberon" . + "dc-contributor" . + "1" . + "dc-contributor" . + . + . + "contributor" . + . + "contributor" . + . + . + . + "created" . + "date created" . + . + . + "created" . + . + "creator" . + . + . + . + "creator" . + . + . + "creator" . + . + "An account of the resource." . + . + "description" . + . + "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource." . + . + "description" . + . + "description" . + . + . + . + "format" . + . + "format" . + . + "identifier_dc_terms" . + . + . + . + "identifier" . + . + "identifier" . + . + "A legal document giving official permission to do something with the resource." . + "License of the ontology." . + "License." . + "Mark Miller" . + "2018-05-11T13:47:29Z" . + "license" . + . + "uberon" . + "dcterms-license" . + "1" . + "dcterms-license" . + . + . + . + "license" . + . + . + "license" . + . + "Date on which the resource was changed." . + . + "modified" . + . + . + "date modified" . + "date_modified" . + "modified" . + . + . + "modified" . + . + . + "dcterms-references" . + "1" . + "dcterms-references" . + . + . + "For MIAPA reporting, recommended for referencing sequence and other identifiers for a TU as applicable." . + . + "references" . + . + . + "references" . + . + "A related resource from which the described resource is derived." . + . + . + "The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system." . + . + . + "source" . + . + . + . + "source" . + . + "subject_dc_terms" . + . + . + "subject" . + . + "subject" . + . + "title" . + "title_dc_terms" . + . + . + . + . + "title" . + . + "title" . + "preferredNamespacePrefix" . + . + . + . + . + "uberon" . + "doap-bug-database" . + "1" . + "doap-bug-database" . + . + "bug database" . + "Subset property, name of subet." . + . + "subset property" . + "subset_property" . + "IAO:0100001" . + . + "synonym_type_property" . + "Author of the class." . + . + . + . + . + . + . + "created by" . + "created_by" . + . + "Date class was created." . + . + . + . + . + . + . + "creation date" . + "creation_date" . + "Date." . + . + "date" . + "ID of merged class." . + . + . + . + . + . + "has alternative identifier" . + "has_alternative_id" . + "有_可替代的_id" . + "A database cross-reference. An annotation which directs one to information contained within a database." . + "A property representing a reference to an identical or very similar object in another database." . + "Reference database or publication source." . + . + . + . + . + "Conceptual Entity" . + "xRef" . + . + "metadata complete - requires restrictions and relationships" . + "IAO:0100001" . + "SBO:0000554" . + "DbXref" . + "Xref" . + "database cross-reference" . + "database_cross_reference" . + "db xref" . + "hasDbXref" . + . + . + . + . + . + "database cross reference" . + "database_cross_reference" . + "has database cross reference" . + "hasDbXref" . + "xRef" . + "数据库_交叉_引用" . + "A property representing a fully qualified synonym, contains the string, term type, source, and an optional source code if appropriate. Each subfield is deliniated to facilitate interpretation by software." . + "An alias in which the alias exhibits true synonymy. Example: ornithine cycle is an exact synonym of urea cycle." . + "An alternative label for a class or property which has the exact same meaning than the preferred name/primary label." . + "An alternative label for a given entity such as a commonly used abbreviation or synonym. " . + "Exact synonym." . + "Fully qualified synonym, contains the string, term type, source, and an optional source code if appropriate. Each subfield is deliniated to facilitate interpretation by software." . + "Synonym of the term." . + . + . + . + . + . + . + "no" . + "pending vetting by the SCDO developers" . + "IAO:0100001" . + "FULL_SYN" . + "Synonym with Source Data" . + . + . + . + . + . + "alternative_term" . + "has exact synonym" . + "hasExactSynonym" . + "has_exact_synonym" . + "有_精确的_同义词" . + . + . + . + "A relation between a class and an OBO namespace string. OBO namespaces are to be distinguished from IDspaces; for example, biological_process is a namespace, GO is an idspace." . + "Name space of the ontology." . + . + . + . + . + "IAO:0100001" . + . + "disease_ontology" . + . + . + . + "has OBO namespace" . + "has_obo_namespace" . + "有_obo_命名空间" . + "An alias in which the alias is related the primary class name, but not necessarily broader or narrower. Example: cytochrome bc1 complex is a related synonym of ubiquinol-cytochrome-c reductase activity; virulence is a related synonym of pathogenesis" . + "An alias in which the alias is related to the primary class name, but not necessarily broader or narrower. Example: cytochrome bc1 complex is a related synonym of ubiquinol-cytochrome-c reductase activity; virulence is a related synonym of pathogenesis." . + "An alternative label for a class or property that has been used synonymously with the primary term name, but the usage is not strictly correct." . + "Has related synonym." . + . + . + . + . + . + . + "no" . + "pending vetting by the SCDO developers" . + "IAO:0100001" . + . + . + "has related synonym" . + "hasRelatedSynonym" . + "has_related_synonym" . + "oboInOwl:hasRelatedSynonym" . + "有_相关的_同义词" . + . + . + . + "An annotation property used to further annotate synonym axioms." . + . + "IAO:0100001" . + . + . + "has synonym type" . + "has_synonym_type" . + "An identifier for an individual entity." . + "An identifier is an information content entity that is the outcome of a dubbing process and is used to refer to one instance of entity shared by a group of people to refer to that individual entity." . + . + . + . + . + . + . + . + . + "id" . + "An association that connects the concept defining a particular terminology subset with concepts that belong to this subset." . + "In subset." . + "Used to associate the concept defining a particular terminology subset with concepts that belong to this subset." . + . + . + . + . + "Concept_In_Subset" . + . + . + . + "in subset" . + "in_subset" . + "在_子集" . + . + "obo-source" . + "A skos concept mapping used to link two concepts that are sufficiently similar that they can be used interchangeably." . + . + . + . + . + . + "has close match" . + . + "skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of compound errors when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property." . + . \ No newline at end of file diff --git a/annotation_correction.ipynb b/annotation_correction.ipynb new file mode 100644 index 0000000..6b3b4b5 --- /dev/null +++ b/annotation_correction.ipynb @@ -0,0 +1,718 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "bc1d701e-e492-478d-a9e1-907329c0762e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import re" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3b6a1c7-ef9f-4230-968f-d697881fcfe2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open('./annotation_v1.txt', 'r') as f:\n", + " with open('./annotation_v3.txt', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall('> .\\n\", line)\n", + " # fw.write(line)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c29e5f7e-024d-49d7-b516-194b138b4477", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open('./annotation_v1.txt', 'r') as f:\n", + " with open('./annotation_v3.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall('> .\\n\", line)\n", + " # print(line)\n", + " if re.findall('.*\"\\n$', line):\n", + " line = re.sub('\\\"\\n', \"\\\" .\\n\", line)\n", + " # print(\"#########################################\", line)\n", + " # print(line)\n", + " fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "951ca317-078e-4a86-aa9a-b2d508c71ca5", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open('./annotation_v3.ttl', 'r') as f:\n", + " with open('./annotation_v4.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall('\\\"\\\"', line):\n", + " line = re.sub('\\\"\\\"', \"\", line)\n", + " # print(line)\n", + " fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "577da8cc-994c-46fe-827a-c5d10dc8a42c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#n0:ComplexTerm xmlns:\n", + "with open('./annotation_v4.ttl', 'r') as f:\n", + " with open('./annotation_v5.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall('n0:ComplexTerm xmlns:', line) or re.findall('n0:ComplexDefinition xmlns:n0=', line):\n", + " pass\n", + " # line = re.sub('\\\"\\\"', \"\", line)\n", + " else:\n", + " # print(line)\n", + " fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "d2d71732-33de-4144-bb21-0bad29c1b491", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open('./annotation_v5.ttl', 'r') as f:\n", + " with open('./annotation_v6.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall(',1\\n', line):\n", + " line = re.sub('\\\",1\\n', \"> 1 .\\n\", line)\n", + " # print(line)\n", + " fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "e148a68a-1915-4eb1-8a7c-c4be01900594", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 2022-09-04T11:14:13Z .\n", + "\n", + " 2018-05-31T21:59:53Z .\n", + "\n", + " 2018-05-31T22:00:25Z .\n", + "\n", + " 2018-05-31T22:00:39Z .\n", + "\n", + " 2018-05-31T22:02:49Z .\n", + "\n", + " 2018-05-31T22:08:30Z .\n", + "\n", + " 2018-05-31T22:31:59Z .\n", + "\n", + " 2018-05-31T22:56:10Z .\n", + "\n", + " 2018-05-31T22:56:31Z .\n", + "\n", + " 2018-05-31T22:56:59Z .\n", + "\n", + " 2022-03-29T15:09:49Z .\n", + "\n", + " 2018-07-05T13:18:08Z .\n", + "\n", + " 2018-05-05T19:01:17Z .\n", + "\n", + " 2018-05-11T13:47:29Z .\n", + "\n" + ] + } + ], + "source": [ + "with open('./annotation_v6.ttl', 'r') as f:\n", + " with open('./annotation_v7.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall('1.1\\/date\\\"', line):\n", + " line = re.sub('1.1/date\\\",', '1.1/date> ', line)\n", + " line = re.sub('\\n', ' .\\n', line)\n", + " print(line)\n", + " fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "414e5bc4-b702-41f6-a00f-bbbbaeb30867", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "@prefix dcterms: . \n", + " \n", + "dcterms:description . \n", + "- Preparing a sample storage and / or shipment strategy; \n", + "- Training staff how to collect samples, e.g. physician; \n", + "- Training staff how to analyze selected samples in the lab, e.g. perform ring trials \n", + "- Provisioning of collection resources (e.g. laptops, collection apps, central data or sample repositories, questionnaires, information leaflets or letters, required lab material); \n", + "- Agreements with intermediate collection bodies, (e.g. sub-contractors); \n", + "- Data pooling, with the aim of increasing the effective number of observations of some phenomena; \n", + "- Mapping or record linkage routines, with the aim of linking different data sources that use different encoding schemas; \n", + "- Prioritising, when two or more sources contain data for the same variable, with potentially different values. \n", + "- Automatic coding routines that assign numeric codes to text responses according to a pre-determined statistical classification. \n", + "- Checking that the population coverage and response rates are as required; \n", + "- Comparing the statistics with previous cycles (if applicable); \n", + "- Checking that the associated metadata, paradata and quality indicators are present and in line with expectations; \n", + "- Checking geospatial consistency of the data; \n", + "- Confronting the statistics against other relevant data (both internal and external); \n", + "- Investigating inconsistencies in the statistics; \n", + "- Performing macro editing; \n", + "Barry Smith \n", + " \n", + "The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. \n", + " \n", + "Can you fix to something like: \n", + " \n", + "A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. \n", + " \n", + "On the specifics of the proposed definition: \n", + " \n", + "We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. \n", + " \n", + "Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. \n", + " \n", + "Barry Smith \n", + " \n", + "The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. \n", + " \n", + "Can you fix to something like: \n", + " \n", + "A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. \n", + " \n", + "On the specifics of the proposed definition: \n", + " \n", + "We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. \n", + " \n", + "Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. \n", + " \n", + "Barry Smith \n", + " \n", + "OBI的官方定义解释了一个类或属性的含义:'应该是亚里士多德式的,形式化和规范化的。可以用口语定义'是糟糕的。 \n", + " \n", + "您能解决这样的问题吗? \n", + " \n", + "解释关于类或属性的表达含义的必要和充分条件的陈述。 \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "您提出的定义是一个合理的备选,除非它很常见,没有给出必要和充分的条件。大多数情况下它们是必要的,偶尔是必要的,充分的或者仅仅仅充分的。它们通常使用不是自己定义的术语,因此它们实际上不能通过这些标准进行评估。 \n", + " \n", + "关于拟议定义的具体内容: \n", + " \n", + "我们没有“含义”,或“表达”或“属性”的定义。对于在预期意义上的“参考”,我认为我们使用术语“指示”。对于'表达',我认为我们和你的意思是符号,或标识符。对于“含义”,它不同于类和属性。对于类,我们希望文档能够让读者确定一个实体是否是该类的实例。对于属性,让我们的目标读者决定,给定一对潜在的关系,判断关系成立的断言正确与否。 “目标读者”部分表明我们也指定了我们期望的能够理解定义的人,并且概括了人类和计算机读者以包含文本和逻辑定义。 \n", + " \n", + "就我个人而言,我更愿意削弱对文档的定义,并指出什么是可取的。 \n", + " \n", + "Barry Smith \n", + " \n", + "The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. \n", + " \n", + "Can you fix to something like: \n", + " \n", + "A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. \n", + " \n", + "On the specifics of the proposed definition: \n", + " \n", + "We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. \n", + " \n", + "Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. \n", + " \n", + "Barry Smith \n", + " \n", + "The official OBI definition, explaining the meaning of a class or property: 'Shall be Aristotelian, formalized and normalized. Can be augmented with colloquial definitions' is terrible. \n", + " \n", + "Can you fix to something like: \n", + " \n", + "A statement of necessary and sufficient conditions explaining the meaning of an expression referring to a class or property. \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "Your proposed definition is a reasonable candidate, except that it is very common that necessary and sufficient conditions are not given. Mostly they are necessary, occasionally they are necessary and sufficient or just sufficient. Often they use terms that are not themselves defined and so they effectively can't be evaluated by those criteria. \n", + " \n", + "On the specifics of the proposed definition: \n", + " \n", + "We don't have definitions of 'meaning' or 'expression' or 'property'. For 'reference' in the intended sense I think we use the term 'denotation'. For 'expression', I think we you mean symbol, or identifier. For 'meaning' it differs for class and property. For class we want documentation that let's the intended reader determine whether an entity is instance of the class, or not. For property we want documentation that let's the intended reader determine, given a pair of potential relata, whether the assertion that the relation holds is true. The 'intended reader' part suggests that we also specify who, we expect, would be able to understand the definition, and also generalizes over human and computer reader to include textual and logical definition. \n", + " \n", + "Personally, I am more comfortable weakening definition to documentation, with instructions as to what is desirable. \n", + " \n", + "Barry Smith \n", + " \n", + "OBI的官方定义解释了一个类或属性的含义:'应该是亚里士多德式的,形式化和规范化的。可以用口语定义'是糟糕的。 \n", + " \n", + "您能解决这样的问题吗? \n", + " \n", + "解释关于类或属性的表达含义的必要和充分条件的陈述。 \n", + " \n", + "Alan Ruttenberg \n", + " \n", + "您提出的定义是一个合理的备选,除非它很常见,没有给出必要和充分的条件。大多数情况下它们是必要的,偶尔是必要的,充分的或者仅仅仅充分的。它们通常使用不是自己定义的术语,因此它们实际上不能通过这些标准进行评估。 \n", + " \n", + "关于拟议定义的具体内容: \n", + " \n", + "我们没有“含义”,或“表达”或“属性”的定义。对于在预期意义上的“参考”,我认为我们使用术语“指示”。对于'表达',我认为我们和你的意思是符号,或标识符。对于“含义”,它不同于类和属性。对于类,我们希望文档能够让读者确定一个实体是否是该类的实例。对于属性,让我们的目标读者决定,给定一对潜在的关系,判断关系成立的断言正确与否。 “目标读者”部分表明我们也指定了我们期望的能够理解定义的人,并且概括了人类和计算机读者以包含文本和逻辑定义。 \n", + " \n", + "就我个人而言,我更愿意削弱对文档的定义,并指出什么是可取的。 \n", + " \n", + "GO_ID (EC: xx; Qualifier: xx; PMID: xxxxx;) \n", + "PMID: pmid1, pmid2, ... \n", + "PMID: pmid1, pmid2, ... \n", + " PREFIX owl: \n", + " PREFIX : \n", + "PREFIX in_taxon: \n", + "PREFIX never_in_taxon: \n", + "CONSTRUCT { \n", + " in_taxon: a owl:ObjectProperty . \n", + " ?x owl:disjointWith [ \n", + " a owl:Restriction ; \n", + " owl:onProperty in_taxon: ; \n", + " owl:someValuesFrom ?taxon \n", + " ] . \n", + " ?x rdfs:subClassOf [ \n", + " a owl:Restriction ; \n", + " owl:onProperty in_taxon: ; \n", + " owl:someValuesFrom [ \n", + " a owl:Class ; \n", + " owl:complementOf ?taxon \n", + " ] \n", + " ] . \n", + "} \n", + "WHERE { \n", + " ?x never_in_taxon: ?taxon . \n", + "PREFIX part_of: \n", + "PREFIX mutually_spatially_disjoint_with: \n", + "CONSTRUCT { \n", + " part_of: a owl:ObjectProperty . \n", + " [ \n", + " a owl:Restriction ; \n", + " owl:onProperty part_of: ; \n", + " owl:someValuesFrom ?x ; \n", + " owl:disjointWith [ \n", + " a owl:Restriction ; \n", + " owl:onProperty part_of: ; \n", + " owl:someValuesFrom ?y \n", + " ] \n", + " ] \n", + "} \n", + "WHERE { \n", + " ?x mutually_spatially_disjoint_with: ?y . \n", + "PREFIX owl: \n", + "PREFIX in_taxon: \n", + "PREFIX present_in_taxon: \n", + "CONSTRUCT { \n", + " in_taxon: a owl:ObjectProperty . \n", + " ?witness rdfs:label ?label . \n", + " ?witness rdfs:subClassOf ?x . \n", + " ?witness rdfs:subClassOf [ \n", + " a owl:Restriction ; \n", + " owl:onProperty in_taxon: ; \n", + " owl:someValuesFrom ?taxon \n", + " ] . \n", + "} \n", + "WHERE { \n", + " ?x present_in_taxon: ?taxon . \n", + " BIND(IRI(CONCAT( \n", + " \" . \n", + "\"oboInOwl:hasRelatedSynonym> . \n", + "\"oio:hasOBONamespace> . \n", + "\"rdfs:seeAlso> . \n" + ] + } + ], + "source": [ + "with open('./annotation_v7.ttl', 'r') as f:\n", + " with open('./annotation_v8.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if not re.findall(\"^[ \"x 'cell expresses' y iff:\n", + "\n", + " \"x 'cell expresses' y iff:\n", + "\n", + " \"The general property hierarchy is:\n", + "\n", + " \"The general property hierarchy is:\n", + "\n", + " 2018-03-14T00:03:16Z\n", + "\n", + " \"Annotation options:\n", + "\n", + " \"The vaccine Prevnar has the indications:\n", + "\n", + " \"2023-03-31T09:17:34Z\n", + "\n", + " 2020-09-22T11:05:29Z\n", + "\n", + " 2020-09-22T11:05:18Z\n", + "\n", + " 2020-09-22T11:04:12Z\n", + "\n", + " 2020-09-22T11:05:45Z\n", + "\n", + " 2017-07-26T18:19:59Z\n", + "\n", + " 2017-09-11T16:38:22Z\n", + "\n" + ] + } + ], + "source": [ + "with open('./annotation_v8.ttl', 'r') as f:\n", + " with open('./annotation_v9.ttl', 'w') as fw:\n", + " for i, line in enumerate(f.readlines()):\n", + " if re.findall(\"[0-9:TZ]\\n\", line):\n", + " print(line)\n", + " # line = line.sub(\"> [0-9TZ]\\n\", )\n", + " # fw.write(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "9d1b49d1-74f4-4863-b23b-4b1604d498da", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Find relevant annotation properties in file\n", + "\n", + "relevant_ann_l = []\n", + "with open('./WebProtege/digitrubber-full.ttl', 'r') as f:\n", + " for line in f.readlines():\n", + " if ' rdf:type owl:AnnotationProperty' in line:\n", + " relevant_ann_l.append(line.split(sep=' rdf:type owl:AnnotationProperty')[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "8169ae38-c7a6-4e12-bbf6-c7e3dc7c3656", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(103, 103)" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(relevant_ann_l), len(set(relevant_ann_l))" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "89db8211-9f56-4d07-a302-ba9ed712f2ef", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open('annotation properties/annotation_v8_no_duplicate.ttl', 'r') as f:\n", + " with open('./annotation properties/annotation_v8_no_duplicate_only_rel_ann.ttl', 'w') as fw:\n", + " for line in f.readlines():\n", + " if line.split(sep='