ESIPFed / cor

Community Ontology Repository
5 stars 3 forks source link

Problem registering vocab #40

Closed smrgeoinfo closed 6 years ago

smrgeoinfo commented 6 years ago

http://resource.geosciml.org/vocabulary/cgi/2016/boreholedrillingmethod.rdf When I try to register vocab at this URL, it doesn't load the content. Its a SKOS vocabulary, opens fine in Protege 5.0.0, and at http://vocabs.ga.gov.au/cgi/sissvoc/borehole-drilling-method/resource?uri=http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod. Other GeoSciML vocabs have loaded fine. I can't figure out what the problem is.

when I try to update the metadata, an error throws: "{ "error": "No graph writer for 'OWX'" }"

smrgeoinfo commented 6 years ago

same problem with http://resource.geosciml.org/vocabulary/cgi/2016/foliationtype.rdf

smrgeoinfo commented 6 years ago

after removing BOM at start of file, get same error with http://resource.geosciml.org/vocabulary/cgi/2016/featureobservationmethod.rdf

carueda commented 6 years ago

Just tried this and I'm seeing the BOM issue (#49 ) in the backend log,.. In fact it can be confirmed with a direct request using a command line tools like https://httpie.org/ :

$ http -pb get 'http://resource.geosciml.org/vocabulary/cgi/2016/featureobservationmethod.rdf'

<?xml version="1.0" encoding="UTF-8"?>
...
smrgeoinfo commented 6 years ago

I downloaded the .rdf from that URL, opened in Notepad++, saved as 'Encoding UTF-8' and then tried registering by uploading my local copy saved w/o BOM. I got past the 'format not recognized' to this 'No graph writer for OWX' problem.

Getting the online files updated is a trickier process, I have to work with my Australian colleagues who run the server.

smrgeoinfo commented 6 years ago

I'm not sure how to approach the 'No graph writer for OWX' problem; what's OWX?

carueda commented 6 years ago

owx is the recommended file extension for the OWL XML Serialization , see https://www.w3.org/TR/owl2-xml-serialization/

EDIT: Not that we require the uploaded file to have such extension at all -- just that, internally, the owx code is used to indicate what format the ontology is being dealt with.

I'll have to take a closer look, but it seems the file might have been recognized as with OWL/XML (owx) format instead of RDF/XML at time of registration. Can you try to reproduce and report here, if possible with some screenshot?

carueda commented 6 years ago

I just tried upolading http://resource.geosciml.org/vocabulary/cgi/2016/boreholedrillingmethod.rdf while looking at the log:

ERROR org.apache.jena.riot - Bad character in IRI (space): <http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/cone_penetrometer_test_probe[space]...>

so, that error made COR continue trying with the next possible formats ending up with OWX.

Any chance to fix that error so COR can actually identify it as RDF/XML?

carueda commented 6 years ago

The malformed IRI (because of a trailing space) is almost at the end of the file:

"http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/cone_penetrometer_test_probe "
carueda commented 6 years ago

Just confirming the identified OWL/XML format for the existing entry via the special API request:

http -pb get 'http://cor.esipfed.org/ont/api/v0/ont?iri=http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod&format=!md'
{
    "author": "Stephen Richard",
    "format": "owx",
    "metadata": {},
    "name": "Borehole Drilling Method Terms",
    "ontologyType": "other",
    "ownerName": "~smresipcor",
    "status": "draft",
    "uri": "http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod",
    "version": "20180723T222312",
    "versions": [
        {
            "status": "draft",
            "version": "20180723T222312",
            "visibility": "public"
        }
    ],
    "visibility": "public"
}

Once this source file is fixed, we will need to first unregister the existing entry at the COR so you can then go with a "fresh" registration with the fix. The unregistration option is only available to admins at this point so just let me know.

carueda commented 6 years ago

Ha! seems like the unregistration was not necessary after all as you just uploaded the new version successfully (and properly identified now as RDF/XML -- note the rdf format):

 http -pb get 'http://cor.esipfed.org/ont/api/v0/ont?iri=http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod&format=!md'
{
    "author": "CGI Geoscience Terminology Working Group",
    "format": "rdf",
    "log": "update metadata, fix space in URI, upload from local copy of the rdf file downloaded from resource.geosciml.org/vocabulary",
    "metadata": {
        "http://mmisw.org/ont/mmi/20081020/ontologyMetadata/contact": [
            "http://www.cgi-iugs.org/tech_collaboration/geoscience_terminology_working_group.html"
        ],
        "http://mmisw.org/ont/mmi/20081020/ontologyMetadata/contactRole": [
            "Committee steward"
        ],
        "http://mmisw.org/ont/mmi/20081020/ontologyMetadata/hasResourceType": [
            "SKOS vocabulary"
        ],
        "http://mmisw.org/ont/mmi/20081020/ontologyMetadata/origVocManager": [
            "CGI Geoscience Terminology Working Group"
        ],
        "http://mmisw.org/ont/mmi/20081020/ontologyMetadata/origVocUri": [
            "http://resource.geosciml.org/vocabulary/cgi/2016/boreholedrillingmethod.rdf"
        ],
        "http://omv.ontoware.org/2005/05/ontology#description": [
            "This scheme specifies concepts used to describe methods used to drill a borehole, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group."
        ],
        "http://omv.ontoware.org/2005/05/ontology#hasCreator": [
            "CGI Geoscience Terminology Working Group"
        ],
        "http://omv.ontoware.org/2005/05/ontology#keywords": [
            "procedure, geosciml, well, drill"
        ],
        "http://omv.ontoware.org/2005/05/ontology#name": [
            "Borehole Drilling Method"
        ],
        "http://purl.org/dc/terms/creator": [
            "CGI Geoscience Terminology Working Group"
        ],
        "http://purl.org/dc/terms/date": [
            "2016-06-02"
        ],
        "http://purl.org/dc/terms/description": [
            "This scheme specifies concepts used to describe methods used to drill a borehole, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme."
        ],
        "http://purl.org/dc/terms/title": [
            "Borehole Drilling Method"
        ],
        "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": [
            "http://www.w3.org/2002/07/owl#Ontology",
            "http://www.w3.org/2004/02/skos/core#ConceptScheme"
        ],
        "http://www.w3.org/2000/01/rdf-schema#seeAlso": [
            "http://vocabs.ga.gov.au/cgi/sissvoc/borehole-drilling-method/resource?uri=http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod"
        ],
        "http://www.w3.org/2004/02/skos/core#changeNote": [
            "Amended SKOS for migration to new vocabulary repository, 11-MAY-2016",
            "Original SKOS implementation, 03-FEB-2016",
            "Corrected error in \"broader\" values for hand auger, power auger, sonic core. 2-JUN-2016"
        ],
        "http://www.w3.org/2004/02/skos/core#editorialNote": [
            "This file contains the 2016.06 version of the CGI Borehole Drilling Method vocabulary. Vocabulary Shepherd: Ollie Raymond. Compilation and review in Google doc spreadsheet, converted to MS Excel, then SKOS generation using SKOS_for_GA_from_XLS_2016.02.xslt."
        ],
        "http://www.w3.org/2004/02/skos/core#hasTopConcept": [
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/sonic",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/sidewall_core",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/percussion_drilling",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/box_core",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/air_core",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/probe",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/core_drilling",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/hydraulic_rotary_drilling",
            "http://resource.geosciml.org/classifier/cgi/boreholedrillingmethod/auger"
        ]
    },
    "name": "Borehole Drilling Method",
    "ontologyType": "other",
    "ownerName": "~smresipcor",
    "resourceType": "SKOS vocabulary",
    "status": "stable",
    "uri": "http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod",
    "version": "20180803T193328",
    "versions": [
        {
            "log": "update metadata, fix space in URI, upload from local copy of the rdf file downloaded from resource.geosciml.org/vocabulary",
            "status": "stable",
            "version": "20180803T193328",
            "visibility": "public"
        },
        {
            "status": "draft",
            "version": "20180803T192939",
            "visibility": "public"
        },
        {
            "status": "draft",
            "version": "20180723T222312",
            "visibility": "public"
        }
    ],
    "visibility": "public"
}
smrgeoinfo commented 6 years ago

I removed the space in a local copy of the boreholedrillingmethod.rdf, and then registered the local copy with same iri and everything seems to have worked OK--that fixed it. There is still an old version at http://cor.esipfed.org/ont?iri=http://resource.geosciml.org/classifierscheme/cgi/2016.01/boreholedrillingmethod that doesn't have any content, but that shouldn't be a problem. I'll check the other problematic vocabs to see if there are similar extra spaces

carueda commented 6 years ago

I just unregistered that initial version 20180723T222312 with the empty metadata and wrong owx format.

smrgeoinfo commented 6 years ago

there's no ' "' in a URI in foliationtype.rdf. I'm guessing there must be some other subtle (not XML syntax) problem that messes up the format detection... I"m looking at the file, can't see any problems that would muck up parsing.

carueda commented 6 years ago

Also, just removed version 20180803T192939 as well. So, only your very last submission is registered at this point.

carueda commented 6 years ago

From the log for foliationtype.rdf:

WARN  org.apache.jena.riot - [line: 595, col: 128] {W107} Bad URI: 
<http://resource.geosciml.org/classifier/cgi/foliationtype/ductile shear banding foliation> 
Code: 17/WHITESPACE in PATH: A single whitespace character. 
These match no grammar rules of URIs/IRIs. 
These characters are permitted in RDF URI References, XML system identifiers, and XML Schema anyURIs.

ERROR org.apache.jena.riot - Bad character in IRI (space): 
<http://resource.geosciml.org/classifier/cgi/foliationtype/ductile[space]...>

The latter is an actual error (the other just a warning).

smrgeoinfo commented 6 years ago

and feature observation method had a space in several URIs as well... (regex: ("http([^"]) ([^"])") "http://resource.geosciml.org/classifier/cgi/featureobservationmethod/outcrop observation" direct observation drill core observation

there's a bunch of useless versions generated in the course of testing to see if I had all the fixes in. 20180803T201910 is the keeper.

smrgeoinfo commented 6 years ago

Thanks very much for your help Carlos-- I don't think I would have been able to find those problems!

Mischief managed, close