[GeoSciML] Schematron Info for checking 1). Your basic GeoSciML 3.0 instance doc examples 2) candidate OneGeology query tool valid services 3). feedback for improvement/addition to the current rules
Bruce.Simons at csiro.au
Bruce.Simons at csiro.au
Tue Aug 14 00:17:54 EDT 2012
I've tested https://www.seegrid.csiro.au/subversion/GeoSciML/branches/3.0.0/instances/GSML3_GSV_GeologicUnit_GeologicHistory_January2012.xml and get an error message:
"LithostratigraphicUnit geologic unit (gsml.geologicunit.1677754911682918701) must have at least one valid gsml:composition property defined." From the following test:
test="not($isLithostratigraphicUnit) or $isLithostratigraphicUnit and count(gsmlgu:composition) > 0 and count(gsmlgu:composition) = count(gsmlgu:composition/gsmlgu:CompositionPart/gsmlgu:material/gsmlem:RockMaterial/gsmlem:lithology)">
1. The error message has the incorrect namespace, but the schematron test looks like it tests the correct namespace (gsmlem:lithology)
2. I think the test is failing because I have two lithologies (a GSV and CGI lithology) for each composition (which is valid)
The test should be re-written so that gsmlem:lithology => gsmlgu:composition.
SDI Information Modeller
Land and Water/ Environmental Information Systems
E bruce.simons at csiro.au T +61 3 9252 6514 M +61 429 177155
PO Box 56, Highett, Victoria, 3190
www.csiro.au | www.csiro.au/science/Environmental-Information-Systems
The information contained in this email may be confidential or privileged. Any unauthorised use or disclosure is prohibited. If you have received this email in error, please delete it immediately and notify the sender by return email. Thank you. To the extent permitted by law, CSIRO does not represent, warrant and/or guarantee that the integrity of this communication has been maintained or that the communication is free of errors, virus, interception or interference.
Please consider the environment before printing this email.
From: geosciml-bounces+bruce.simons=csiro.au at lists.opengeospatial.org [mailto:geosciml-bounces+bruce.simons=csiro.au at lists.opengeospatial.org] On Behalf Of Duffy, Tim
Sent: Tuesday, 14 August 2012 2:01 PM
To: geosciml at lists.opengeospatial.org
Subject: [GeoSciML] Schematron Info for checking 1). Your basic GeoSciML 3.0 instance doc examples 2) candidate OneGeology query tool valid services 3). feedback for improvement/addition to the current rules
As discussed at today's CGI-IWG GeoSciML session in Wellington: please check your GeoSciML 3.0 instances/WFS services against this schematron file.
This has evolved from Pavel's rules last year with additions (including a specific OneGeology profile - ignore the messages from that test phase if you are not offering such a candidate) .
We (Marcus and I) fully expect to have some people say 'I need to change something in my instance' and others say ' I disagree with this rule should it not be expressed differently?' and others to say 'I suggest an addtional rule'.
Please share this feedback on this list and we can refine the schematron rules until we agree this as a basic version 1.0 at which point it will be published alongside the 3.0 schemas (and will be offered as a tool for oneGeology 5 star candidate services).
Once your instance documents have passed this agreed v1.0 then Ollie can transfer such valid instance documents to the new 3.0 instance document place n the coming new redesigned GeoSciMl web pages.
Note that BGS has used its production copy of snowflake Gopublisher WFS 2.0 to create the service below which it thinks passes these rules and the OneGeology profile also:
"We have now put a production version of our GeoSciML v3.0 service for public access at:
This is the same as the service that you have been using on ogcdev.bgs.ac.uk except that metadata like access conditions, contact details etc. have now been updated.
Please can you register this as the WFS for the following 3 WMS layers in the 1GG portal to replace the old GIN Mediator cocoon based GeoSciml v2 ones:
GBR BGS 1:625k Bedrock Age
GBR BGS 1:625k Bedrock Lithology
GBR BGS 1:625k Bedrock Lithostratigraphy
The same WFS is appropriate for all 3 layers as it contains age, lithology and lithostratigraphy properties. We don't have a GeoSciML v3 WFS to replace those currently registered for the Superficial layers so please leave those as the old cocoon ones.
For those involved with or interested in the new developing ESRI WFS 2.0 GeoSciML 3.0 initial prototype services please pass feedback/comments on these (using perhaps also the schematron) to Ollie Raymond and he will collate such responses and feed back to ESRI (Roberto Lucchi).
These test ESRI WFS 2.0 services are found on the onegeology portal at:
1). BGS: http://ec2-54-247-3-105.eu-west-1.compute.amazonaws.com/arcgis/rest/services/BGS/BGSFeatureService/GeoDataServer/exts/InspireFeatureDownload/service? for service layer GBR BGS 1:625k Bedrock Lithostratigraphy
2). GA: http://ec2-54-247-3-105.eu-west-1.compute.amazonaws.com/arcgis/rest/services/GA/TasmaniaFeatureServiceTest/GeoDataServer/exts/InspireFeatureDownload/service?
attached to layer tasmania TAS GA 1:1M Geologic Unit polygons - Lithostratigraphy
3). USGIN: http://ec2-54-247-3-105.eu-west-1.compute.amazonaws.com/arcgis/rest/services/MyGeoDataService33/GeoDataServer/exts/InspireFeatureDownload/service
attached to layer USA USGIN 1:3M Geologic Age.
Tim for CGI-IWG
From: Sen, Marcus A.
Sent: 03 August 2012
To: Duffy, Tim
Subject: Schematron for testing GeoSciML v3.0 services/instances including OneGeology 5 star service checking for 1G portal age and lithology query tool validity
It's a bit of a mess and not entirely in sync with the state of the schematron file itself quite yet due to recent onegeology profile improvements.
I have added a "onegeology.profile" phase to the Schematron file at https://www.seegrid.csiro.au/subversion/GeoSciML/branches/3.0.0/schematron/GeoSciML_v3_Testbed_4.sch .
Must have MappedFeatures which have GeologicUnit specifications
There must be at least some olderNamedAge properties in the returned features
There must be at least some lithology properties in the returned features
The age and lithology properties must come from the latest appropriate CGI dictionaries.
I haven't made it very restrictive.
There can be more than one GeologicEvent defined for a GeologicUnit. Your query will return MappedFeatures with any GeologicEvent with an olderNamedAge equal to the queried age. I don't think we need to restrict anyone who happens to have more than one GeologicEvent.
Similarly the query will match where any lithology matches the queried lithology. We discussed restricting this to lithologies > 50% or something similar in the past. Again I don't think we can impose restrictions on how many or what proportions the lithologies are in providers' services. Let us just accept that the current query will retrieve MappedFeatures where any lithology matches the query. If you later add a restriction that the proportion should be e.g. > 50% then we should also accept that that won't retrieve MappedFeatures where the most predominant lithology still represents under 50% of the total. (John Laxton has just posted a question I asked him to the geosciml email list about what it means when a RockMaterial has several lithology properties.)
Also, I'm not enforcing services have to have ages or lithologies for every MappedFeature (maybe they will have some missing data).
You can either test the Schematron using your own local validator (e.g. oXygen ) or you can use the web service provided by CSIRO at http://xmldev.arrc.csiro.au/Schematron/ (suggest not from IE works with e.g. chrome)
You can test either instance documents that you upload or documents on the web which could include a query to a web service. For example, to test the BGS GeoSciML v3 Snowflake Software GoPublisher service I would have to do the following:
- click the "change source" link near the top of the left hand frame and select "url"
- Paste a query request (e.g. http://ogcdev.bgs.ac.uk/gopublisher_bgs625k/wfs?service=wfs&version=2.0.0&request=GetFeature&count=10&typename=gsml:MappedFeature)
into the URL: box. I suggest you restrict the number of features retrieved so as not to overwhelm the service
- Click the "add more" link below the Schemas box and select "add new url"
- Enter "https://www.seegrid.csiro.au/subversion/GeoSciML/branches/3.0.0/schematron/GeoSciML_v3_Testbed_4.sch" into the http box that appears.
- Enter "onegeology.profile" into the "Phase:" box.
- I suggest selecting "Brief" in the "Format:" list is the easiest output to read but this is up to your personal preference.
This message (and any attachments) is for the recipient only. NERC
is subject to the Freedom of Information Act 2000 and the contents
of this email and any reply you make may be disclosed by NERC unless
it is exempt from release under the Act. Any material supplied to
NERC may be stored in an electronic records management system.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the GeoSciML