Closed marqh closed 10 months ago
The PR https://github.com/opengeospatial/NamingAuthority/pull/127 adds a section describing the role of Content Negotiation.
requirement is understood...
the wrinkle here is that is not so easy to define how to return an "OWL snippet" - because generally many different pieces of an ontology may refer to a class - such as rdfs:domain and range statements, statements about the properties of the class etc..
so generally we'll return an entire OWL file or an HTML rendering of OWL file with a fragment identifier etc.
stay tuned - working on this now - I've just completed a flexible automated entailment and SHACL validation environment in python which can be run on the desktop or as a github action - this is because the "whole repository" approach previously available was nearly impossible to debug. I now have to extend the scope of the processing to the incubation area for models such as this..
@rob-metalinkage How about simply running a DESCRIBE
command on the subject you want to query?
For example, DESCRIBE <http://www.opengis.net/def/sensor-model/csmwg/csm>
used in a SPARQL query with the Accept parameter set to the relevant media type.
See the output on the attached screenshot (using Postman).
https://www.w3.org/Submission/CBD/ was a useful start. I'd add inverse links as well as outbound relations.
@ghobona I understand that DESCRIBE is implementation specific.
I presume that CBD was submitted to W3C in 2005 and never approved as a W3C Recommendation. Am I right?
That's correct.
The query above demonstrating the deficinecy, wget --header 'Accept:text/ttl' -O Reference.ttl https://www.opengis.net/def/binary-array-ld/Reference
still returns 404 but now also returns an Alternate Profiles Link
header payload listing the profiles & formats that are available and the text "A profile for the requested URI base exists but no rules match for the requested format".
Content Negotiation by Profile suggests that the server should not respond with Not Found but instead with the default profile/format combo.
I suggest that the ConnegP instructions should be followed but that a note similar to "A profile for the requested URI base exists but no rules match for the requested format" be included in the response. This may clean up some perceptions of the Content Negotiation implementation.
It does appear, from multiple projects not just here, that we generally need a profile defined around the CBD definition which is then all data the system holds centered on the requested object. I expect such a profile is a "fundamental" profile, just as "Container Members" and "Container Annotations" (all info other than member listing) are such profiles. We - OGC and all of us - are missing a catalogue of such fundamental profiles.
The "Container Annotations" fundamental profile is defined: https://w3id.org/profile/contanno.
I will:
Additional request for Content Negotiation to enable access to JSON and XML representations of Tile Matrix Sets.
https://github.com/opengeospatial/NamingAuthority/issues/106#issuecomment-1183827273
Cc: @jerstlouis
Revisiting the original issue -
a) text/ttl not supported (its text/turtle) - an elegant response to be provided. b) we have changed back end processes and now have the full turtle etc available, but exposing these and the redirect to this has not been made available to the production server yet (its using vocprez's limited internal graph view not the source material at the moment)
We'll sort these out.
Tested and confirmed to work through Postman.
Closing the GitHub Issue.
Related to #123 but with some different nuance
i am struggling with content negotiation with the OGC registry
I expect
to return the turtle encoded Owl Ontology this currently works using a hard coded redirect, as described in #123
i also expect this pattern to work for individual resources. So, while
successfully resolves to the html web page I would expect
to return the Owl definition of the
owl:Class
bald:Reference
but no, i get an `ERROR 404: Not Found' response
this is surprising and concerning
more experimentation unearths the pattern
but this returns a payload of
This is also unexpected. The resource
https://www.opengis.net/def/binary-array-ld/Reference
is defined withinhttps://www.opengis.net/def/binary-array-ld
asbut I don't seem to be able to return this payload from the definitions server
Please may you help / advise on this behaviour and whether the requirement from me is clear?
thank you mark