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

CO_347 has no submission reachable #175

Closed
jonquet opened this issue Jan 11, 2022 · 4 comments
Closed

CO_347 has no submission reachable #175

jonquet opened this issue Jan 11, 2022 · 4 comments
Assignees
Labels
content Issues related to the content of AgroPortal

Comments

@jonquet
Copy link
Contributor

jonquet commented Jan 11, 2022

http://data.agroportal.lirmm.fr/ontologies/CO_347/latest_submission returns an error.

Repository folder shows 25 submission. The ontology has been affected by the issue reported in #167
Certainly the last parsing had a problem and the ontology ended up with no submission
http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/25 => fails
http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/24 => work

I would suggest to remove 25 "manually" (using ontologies_api) and delete the files. It can't be done via REST API has the submission is not reachable.

@syphax-bouazzouni
Copy link
Contributor

@syphax-bouazzouni
Copy link
Contributor

syphax-bouazzouni commented Jan 24, 2022

Backend resolution

Origin of the problem

From the /srv/ontoportal/ontologies_api/current/log/unicorn.stdout.log file we can see the following :

Bad data found in submission:

{
   :"id=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/25",
   :submissionId=>25,
   :"metrics=>nil",
   :"ontology=>"{
      :"administeredBy=>"[
         "http://data.agroportal.lirmm.fr/users/admin",
         "http://data.agroportal.lirmm.fr/users/Malaporte"
      ],
      :"acronym=>""CO_347",
      :"name=>""Castor Bean Ontology",
      :"summaryOnly=>nil",
      :"flat=>nil",
      :"ontologyType=>""http://data.agroportal.lirmm.fr/ontology_types/ONTOLOGY",
      :"group=>"[
         "http://data.agroportal.lirmm.fr/groups/CROP"
      ],
      :"hasDomain=>"[
         "http://data.agroportal.lirmm.fr/categories/TRAITS"
      ],
      :"viewingRestriction=>""public",
      :"viewOf=>nil",
      :"views=>"[
         
      ],
      "@id""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347",
      "@type""=>""http://data.bioontology.org/metadata/Ontology",
      "links""=>"{
         "submissions""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions",
         "properties""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/properties",
         "classes""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/classes",
         "single_class""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/classes/{class_id}",
         "roots""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/classes/roots",
         "instances""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/instances",
         "metrics""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/metrics",
         "reviews""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/reviews",
         "notes""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/notes",
         "groups""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/groups",
         "categories""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/categories",
         "latest_submission""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/latest_submission",
         "projects""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/projects",
         "download""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/download",
         "views""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/views",
         "analytics""=>""http://data.agroportal.lirmm.fr/ontologies/CO_347/analytics",
         "ui""=>""http://agroportal.lirmm.fr/ontologies/CO_347",
         "@context""=>"{
            "submissions""=>""http://data.bioontology.org/metadata/OntologySubmission",
            "properties""=>""http://data.bioontology.org/metadata/Property",
            "classes""=>""http://www.w3.org/2002/07/owl#Class",
            "single_class""=>""http://www.w3.org/2002/07/owl#Class",
            "roots""=>""http://www.w3.org/2002/07/owl#Class",
            "instances""=>""http://data.bioontology.org/metadata/Instance",
            "metrics""=>""http://data.bioontology.org/metadata/Metrics",
            "reviews""=>""http://data.bioontology.org/metadata/Review",
            "notes""=>""http://data.bioontology.org/metadata/Note",
            "groups""=>""http://data.bioontology.org/metadata/Group",
            "categories""=>""http://data.bioontology.org/metadata/Category",
            "latest_submission""=>""http://data.bioontology.org/metadata/OntologySubmission",
            "projects""=>""http://data.bioontology.org/metadata/Project",
            "download""=>""http://data.bioontology.org/metadata/Ontology",
            "views""=>""http://data.bioontology.org/metadata/Ontology",
            "analytics""=>""http://data.bioontology.org/metadata/Analytics",
            "ui""=>""http://data.bioontology.org/metadata/Ontology"
         }
      },
      "@context""=>"{
         "@vocab""=>""http://data.bioontology.org/metadata/",
         :"acronym=>""http://data.bioontology.org/metadata/omvacronym",
         :"name=>""http://data.bioontology.org/metadata/omvname",
         :"administeredBy=>"{
            "@id""=>""http://data.bioontology.org/metadata/User",
            "@type""=>""@id"
         },
         :"group=>"{
            "@id""=>""http://data.bioontology.org/metadata/Group",
            "@type""=>""@id"
         },
         :"hasDomain=>"{
            "@id""=>""http://data.bioontology.org/metadata/Category",
            "@type""=>""@id"
         },
         :"viewOf=>"{
            "@id""=>""http://data.bioontology.org/metadata/Ontology",
            "@type""=>""@id"
         },
         :"ontologyType=>"{
            "@id""=>""http://data.bioontology.org/metadata/OntologyType",
            "@type""=>""@id"
         }
      }
   },
   :"submissionStatus=>"[
      
   ],
   :"classType=>nil",
   :"hasOntologyLanguage=>nil",
   :"uploadFilePath=>nil",
   :"pullLocation=>nil",
   :"released=>nil",
   :"creationDate=>nil",
   :"status=>nil",
   :"contact=>"[
      
   ],
   :"prefLabelProperty=>nil",
   :"definitionProperty=>nil",
   :"synonymProperty=>nil",
   :"authorProperty=>nil",
   :"hierarchyProperty=>nil",
   :"obsoleteProperty=>nil",
   :"obsoleteParent=>nil",
   :"homepage=>nil",
   :"publication=>nil",
   :"URI=>nil",
   :"naturalLanguage=>"[
      
   ],
   :"documentation=>nil",
   :"version=>nil",
   :"description=>nil",
   :numberOfClasses=>344,
   :numberOfIndividuals=>0,
   :numberOfProperties=>3,
   :maxDepth=>3,
   :maxChildCount=>75,
   :averageChildCount=>10,
   :classesWithOneChild=>1,
   :classesWithMoreThan25Children=>3,
   :classesWithNoDefinition=>201,
   :"modificationDate=>nil",
   :"entities=>nil",
   :"numberOfAxioms=>nil",
   :"keyClasses=>nil",
   :"keywords=>""Castor Bean",
   :"knownUsage=>""The concepts of the CO are used to curate agronomic databases and describe the data.",
   :"notes=>nil",
   :"conformsToKnowledgeRepresentationParadigm=>nil",
   :"hasContributor=>nil",
   :"hasCreator=>nil",
   :"designedForOntologyTask=>"[
      
   ],
   :"wasGeneratedBy=>nil",
   :"wasInvalidatedBy=>nil",
   :"curatedBy=>nil",
   :"endorsedBy=>"[
      
   ],
   :"fundedBy=>""CGIAR (www.cgiar.org/)",
   :"translator=>nil",
   :"hasDomain=>""http://data.bioontology.org/categories/TRAITS",
   :"hasFormalityLevel=>""http://w3id.org/nkos/nkostype#ontology",
   :"hasLicense=>""https://creativecommons.org/licenses/by/4.0/",
   :"hasOntologySyntax=>""http://www.w3.org/ns/formats/RDF_XML",
   :"isOfType=>""http://omv.ontoware.org/2005/05/ontology#ApplicationOntology",
   :"usedOntologyEngineeringMethodology=>""http://www.cropontology.org/TD_template_v5.xls",
   :"usedOntologyEngineeringTool=>nil",
   :"useImports=>"[
      
   ],
   :"hasPriorVersion=>#<RDF"::"URI":"0x3702350(http"://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/23)>,
   :"isBackwardCompatibleWith=>"[
      
   ],
   :"isIncompatibleWith=>"[
      
   ],
   :"deprecated=>false",
   :"versionIRI=>nil",
   :"ontologyRelatedTo=>"[
      "#<RDF"::"URI":"0x2fdb720(http":,
      "#<RDF"::"URI":"0x2fda85c(http":,
      "#<RDF"::"URI":"0x2fda1b8(http":
   ],
   :"comesFromTheSameDomain=>"[
      
   ],
   :"similarTo=>"[
      
   ],
   :"isAlignedTo=>"[
      "#<RDF"::"URI":"0x357ad0c(http":
   ],
   :"explanationEvolution=>nil",
   :"generalizes=>nil",
   :"hasDisparateModelling=>nil",
   :"hiddenLabel=>nil",
   :"coverage=>nil",
   :"publisher=>""CROP ONTOLOGY (http://www.cropontology.org/)",
   :"identifier=>""",
   :"source=>nil",
   :"abstract=>nil",
   :"alternative=>nil",
   :"hasPart=>nil",
   :"isFormatOf=>nil",
   :"hasFormat=>nil",
   :"audience=>nil",
   :"valid=>nil",
   :"accrualMethod=>nil",
   :"accrualPeriodicity=>nil",
   :"accrualPolicy=>nil",
   :"endpoint=>#<RDF"::"URI":"0x3fee874(http":,
   :"dataDump=>#<RDF"::"URI":"0x3fee75c(http"://data.agroportal.lirmm.fr/ontologies/CO_347/download?download_format=rdf)>,
   :"csvDump=>#<RDF"::"URI":"0x3fee4dc(http"://data.agroportal.lirmm.fr/ontologies/CO_347/download?download_format=csv)>,
   :"openSearchDescription=>#<RDF"::"URI":"0x3fee1a8(http"://data.agroportal.lirmm.fr/search?ontologies=CO_347&q=)>,
   :"uriLookupEndpoint=>#<RDF"::"URI":"0x403105c(http"://data.agroportal.lirmm.fr/search?ontologies=CO_347&require_exact_match=true&q=)>,
   :"uriRegexPattern=>nil",
   :"depiction=>nil",
   :"logo=>#<RDF"::"URI":"0x4033dd4(http":,
   :"competencyQuestion=>nil",
   :"usedBy=>"[
      
   ],
   :"metadataVoc=>"[
      
   ],
   :"hasDisjunctionsWith=>nil",
   :"toDoList=>nil",
   :"example=>nil",
   :"preferredNamespaceUri=>nil",
   :"preferredNamespacePrefix=>nil",
   :"morePermissions=>""Crop Ontology by Integrated Breeding Platform is licensed under a Creative Commons Attribution 4.0 International License.",
   :"useGuidelines=>nil",
   :"curatedOn=>nil",
   :"repository=>nil",
   :"bugDatabase=>nil",
   :"mailingList=>nil",
   :"exampleIdentifier=>#<RDF"::"URI":"0x40f1320(http"::0000108)>,
   :"award=>nil",
   :"copyrightHolder=>nil",
   :"associatedMedia=>nil",
   :"workTranslation=>nil",
   :"translationOfWork=>nil",
   :"includedInDataCatalog=>"[
      "#<RDF"::"URI":"0x412ca88(http"://www.cropontology.org/ontology/CO_347)>,
      "#<RDF"::"URI":"0x412c628(https"://www.ebi.ac.uk/ols/ontologies/co_347)>
   ],
   :"diffFilePath=>""/srv/ontoportal/data/repository/CO_347/24/bubastis_diff.xml",
   :"masterFileName=>nil",
   :"missingImports=>"[
      
   ]
}

Conclusion : This last submission is not valid , and have this errors :

:"hasOntologyLanguage=>"{
   :"existence=>""`hasOntologyLanguage` value cannot be nil"
},
:"released=>"{
   :"existence=>""`released` value cannot be nil"
},
:uploadFilePath=> ["In non-summary only submissions a data file or url must be provided."]

Fix

To solve this we had to update the submission in the console manually, like this :

[root@agroportal ncbo_cron]# bin/ncbo_cron --console
[1] pry(main)> submission_id = "http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/25"
[2] pry(main)> sub = LinkedData::Models::OntologySubmission.find(RDF::IRI.new(submission_id)).first
[11] pry(main)> sub.bring_remaining
[13] pry(main)> sub.valid?
=> false
[14] pry(main)> sub.errors
=> show the errors
[25] pry(main)> sub.hasOntologyLanguage=LinkedData::Models::OntologyFormat.find("OWL").first
[26] pry(main)> sub.released=DateTime.now
[30] pry(main)> sub.uploadFilePath= "/srv/ontoportal/data/repository/CO_347/25/owl"
[31] pry(main)> sub.valid?
=> true
[32] pry(main)> sub.save

Result

the submission http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/25?display=all , is now reachable
but still the UI is not working
image

@syphax-bouazzouni
Copy link
Contributor

syphax-bouazzouni commented Jan 24, 2022

UI resolution

Origin of the probelem in UI

in the log file we can see
image
Which says that we don't have creationDate

Solution

[root@agroportal ncbo_cron]# bin/ncbo_cron --console
[1] pry(main)> submission_id = "http://data.agroportal.lirmm.fr/ontologies/CO_347/submissions/25"
[2] pry(main)> sub = LinkedData::Models::OntologySubmission.find(RDF::IRI.new(submission_id)).first
[11] pry(main)> sub.bring_remaining
[49] pry(main)> sub.creationDate = sub.released
[50] pry(main)> sub.save

Result

UI is working
image

@syphax-bouazzouni
Copy link
Contributor

syphax-bouazzouni commented Jan 24, 2022

Content cleanup

The problem

The last submission of CO_347 is not parsed

Solution

[root@agroportal ncbo_cron]# bin/ncbo_ontology_process -o CO_347

Result

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content Issues related to the content of AgroPortal
Projects
None yet
Development

No branches or pull requests

2 participants