[GeoNetwork-devel] identifying ISO metadata profiles

It’s standard practice for communities to define profiles of existing metadata standards to enable interoperability. We are focused on ISO19139-encoded metadata, and developing a conformance class 1 profile for geologic information (http://lab.usgin.org/profiles/doc/use-iso-19139-xml-schema-describe-geoscience-information-resources).

The question is how to specify that a given metadata record conforms to a particular profile. In the context of ISO19115, it appears that the MD_Metadata.metadataStandardName is the intended place for this information. The scope note in ISO19115; 2003, Table B.2.1 states “name of the metadata standard (including profile name) used”. Obviously in order for generic clients to use this information there needs to be some convergence on the exact syntax for specifying the base standard and profile. However, GeoNetwork 2.4 (from subversion trunk 1/27/10) uses URI’s from the namespace declarations in an xml document to distinguish documents using different profiles, not the metadataStandardName (see details on the precise logic below). Thus, given the current code base, in order to introduce a new profile of ISO19139 (conformance class 1—no new elements added) that GeoNetwork will recognize, we have to put in a namespace declaration that serves to identify the profile.

Is this a widely used, undocumented convention for specifying profiles in ISO19139 metadata? Why doesn’t GeoNetwork use the metadataStandardName? My guess is we need a registry for metadataStandardName/profile strings. Its tempting to think that the URI’s geonetwork is using to identify profiles could just as well go in the metadataStandardName, perhaps with an ‘ISO:’ prefix of some sort.

steve

GeoNetwork schema detection logic

In GeoNetwork 2.4, we have determined that the schema detection algorithm works by first looking at the xml root element to detect FGDC, dc, the old ISO19115 xml, and CSW:Record metadata schema. If none of those match and http://www.isotc211.org/2005/gmd is not a declared namespace URI, then autodetect fails at this point.

If http://www.isotc211.org/2005/gmd is a declared namespace URI in the xml file (there may be many namespace declarations), then GeoNetwork attempts to match the xml file to one of the schemas defined in geonetwork\xml\schemas with the following logic:

If http://www.isotc211.org/2005/gmd is not the namespace URI for the root element in the xml being scanned, then GeoNetwork checks to see if the root element URI matches the ‘prime namespace URI’ defined by one of the geonetwork\xml\schemas; this ‘prime namespace’ is the target namespace in schemas<schema>\schema.xsd. If so that identifies the schema, otherwise autodetect fails.

If http://www.isotc211.org/2005/gmd is the namespace URI for the root element in the xml being scanned, then GeoNetwork checks the XML file’s other namespace declarations to see if any of the declared namespace URI’s match one of the geonetwork\xml\schemas prime namespace URIs. If so, then the matching schema is determined to be the file’s schema. If no matching schema is found, then the GeoNetwork ISO19139 profile is used, and what ever is in the metadataStandardName field in the imported metadata record is overwritten with “ISO 19115:2003/19139”, so if there is a profile specified, it is lost.

···
-- 
Stephen M. Richard
Section Chief, Geoinformatics
Arizona Geological Survey
416 W. Congress St., #100
Tucson, Arizona, 85701 USA

Phone: 
Office: (520) 209-4127
Reception: (520) 770-3500 
FAX: (520) 770-3505

email: [steve.richard@anonymised.com](mailto:steve.richard@anonymised.com)

Hello Steve,

2010/1/29 Stephen M Richard <steve.richard@anonymised.com>:

It’s standard practice for communities to define profiles of existing
metadata standards to enable interoperability. We are focused on
ISO19139-encoded metadata, and developing a conformance class 1 profile for
geologic information
(http://lab.usgin.org/profiles/doc/use-iso-19139-xml-schema-describe-geoscience-information-resources).

The question is how to specify that a given metadata record conforms to a
particular profile. In the context of ISO19115, it appears that the
MD_Metadata.metadataStandardName is the intended place for this information.
The scope note in ISO19115; 2003, Table B.2.1 states "name of the metadata
standard (including profile name) used". Obviously in order for generic
clients to use this information there needs to be some convergence on the
exact syntax for specifying the base standard and profile. However,
GeoNetwork 2.4 (from subversion trunk 1/27/10) uses URI’s from the namespace
declarations in an xml document to distinguish documents using different
profiles, not the metadataStandardName (see details on the precise logic
below). Thus, given the current code base, in order to introduce a new
profile of ISO19139 (conformance class 1—no new elements added) that
GeoNetwork will recognize, we have to put in a namespace declaration that
serves to identify the profile.

Is this a widely used, undocumented convention for specifying profiles in
ISO19139 metadata? Why doesn’t GeoNetwork use the metadataStandardName? My

Hum, maybe some reasons :
* for the time being all ISO profiles which have been added to
GeoNetwork has a new namespace defined. But that's true that the use
of metadataStandardName could be a better approach for profiles. We
discussed that with Heikki also for the profil used in NGR project
which does not have a new namespace.
* but metadataStandardName is not mandatory in ISO, so what to do
when it's not provided ?
* also, looking to the ISO profil for France, there's no value
defined for the metadataStandardName. Which is maybe not a good idea !

So we should probably find a better way to handle profil with no
specific namespace.

Cheers.

Francois

guess is we need a registry for metadataStandardName/profile strings. Its
tempting to think that the URI’s geonetwork is using to identify profiles
could just as well go in the metadataStandardName, perhaps with an ‘ISO:’
prefix of some sort.

steve

GeoNetwork schema detection logic

In GeoNetwork 2.4, we have determined that the schema detection algorithm
works by first looking at the xml root element to detect FGDC, dc, the old
ISO19115 xml, and CSW:Record metadata schema. If none of those match and
http://www.isotc211.org/2005/gmd is not a declared namespace URI, then
autodetect fails at this point.

If http://www.isotc211.org/2005/gmd is a declared namespace URI in the xml
file (there may be many namespace declarations), then GeoNetwork attempts to
match the xml file to one of the schemas defined in geonetwork\xml\schemas
with the following logic:

If http://www.isotc211.org/2005/gmd is not the namespace URI for the root
element in the xml being scanned, then GeoNetwork checks to see if the root
element URI matches the 'prime namespace URI' defined by one of the
geonetwork\xml\schemas; this ‘prime namespace’ is the target namespace in
schemas\<schema>\schema.xsd. If so that identifies the schema, otherwise
autodetect fails.

If http://www.isotc211.org/2005/gmd is the namespace URI for the root
element in the xml being scanned, then GeoNetwork checks the XML file’s
other namespace declarations to see if any of the declared namespace URI’s
match one of the geonetwork\xml\schemas prime namespace URIs. If so, then
the matching schema is determined to be the file’s schema. If no matching
schema is found, then the GeoNetwork ISO19139 profile is used, and what ever
is in the metadataStandardName field in the imported metadata record is
overwritten with "ISO 19115:2003/19139", so if there is a profile specified,
it is lost.

--
Stephen M. Richard
Section Chief, Geoinformatics
Arizona Geological Survey
416 W. Congress St., #100
Tucson, Arizona, 85701 USA

Phone:
Office: (520) 209-4127
Reception: (520) 770-3500
FAX: (520) 770-3505

email: steve.richard@anonymised.com

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the
business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at
http://sourceforge.net/projects/geonetwork

snip...

Is this a widely used, undocumented convention for specifying profiles in
ISO19139 metadata? Why doesn’t GeoNetwork use the metadataStandardName? My
     

Hum, maybe some reasons :
  * for the time being all ISO profiles which have been added to
GeoNetwork has a new namespace defined. But that's true that the use
of metadataStandardName could be a better approach for profiles. We
discussed that with Heikki also for the profil used in NGR project
which does not have a new namespace.
  * but metadataStandardName is not mandatory in ISO, so what to do
when it's not provided ?
   

I would propose that if you're using some particular profile, specifying that in the metadataStandardName would be mandatory if you want people to know. If the root element is http://www.isotc211.org/2005/gmd:MD_Metadata, with no metadataStandardName specified, then the assumption would be that no profile is in use, and metadata conforms to ISO19139 (it is XML schema valid, no more...).

  * also, looking to the ISO profil for France, there's no value
defined for the metadataStandardName. Which is maybe not a good idea !
   

:slight_smile:

So we should probably find a better way to handle profil with no
specific namespace.

I agree

Cheers.

Francois

guess is we need a registry for metadataStandardName/profile strings. Its
tempting to think that the URI’s geonetwork is using to identify profiles
could just as well go in the metadataStandardName, perhaps with an ‘ISO:’
prefix of some sort.
     

Hi All,

The ANZLIC Metadata Profile version 1.1 uses the MD_Metadata namespace. This is because the ANZLIC Metadata Profile does not add nor exclude any ISO 19115 metadata elements. What it does do is make the MD_Metadata/fileIdentifier mandatory. This is checked in the ISO 19139 XML using Schematron rules. Hence, in the matter of compliance, an ANZLIC Metadata Profile XML metadata record is the same as an ISO 19139 XML metadata record.

Regarding the metadataStandardName. I believe that ISO 19139 should add an attribute to this element of type URL that allows a hypertext link to the actual XML implementation of the profile identified by the metadataStandardName and the metadataStandardVersion. This will allow users to find the validation XML - XSDs, Schematron etc. - and the profile documentation for the profile.

My two cents worth. ;--)

John

-----Original Message-----
From:
metadata-bounces+john.hockaday=ga.gov.au@anonymised.com
[mailto:metadata-bounces+john.hockaday=ga.gov.au@anonymised.com
rst.com] On Behalf Of stephen richard
Sent: Monday, 1 February 2010 6:12 AM
To: Francois Prunayre
Cc: metadata@anonymised.com;
GeoNetwork-devel@lists.sourceforge.net
Subject: Re: [metadata] [GeoNetwork-devel] identifying ISO
metadata profiles

snip...
>> Is this a widely used, undocumented convention for
specifying profiles in
>> ISO19139 metadata? Why doesn't GeoNetwork use the
metadataStandardName? My
>>
> Hum, maybe some reasons :
> * for the time being all ISO profiles which have been added to
> GeoNetwork has a new namespace defined. But that's true that the use
> of metadataStandardName could be a better approach for profiles. We
> discussed that with Heikki also for the profil used in NGR project
> which does not have a new namespace.
> * but metadataStandardName is not mandatory in ISO, so what to do
> when it's not provided ?
>
I would propose that if you're using some particular profile,
specifying
that in the metadataStandardName would be mandatory if you want people
to know. If the root element is
http://www.isotc211.org/2005/gmd:MD_Metadata, with no
metadataStandardName specified, then the assumption would be that no
profile is in use, and metadata conforms to ISO19139 (it is XML schema
valid, no more...).

> * also, looking to the ISO profil for France, there's no value
> defined for the metadataStandardName. Which is maybe not a
good idea !
>
:slight_smile:

> So we should probably find a better way to handle profil with no
> specific namespace.
>
>
I agree
> Cheers.
>
> Francois
>
>
>> guess is we need a registry for
metadataStandardName/profile strings. Its
>> tempting to think that the URI's geonetwork is using to
identify profiles
>> could just as well go in the metadataStandardName, perhaps
with an 'ISO:'
>> prefix of some sort.
>>
_______________________________________________
metadata mailing list
metadata@anonymised.com
http://lists.geocomm.com/mailman/listinfo/metadata

_____________________________________
This List is brought to you by:
The GeoCommunity and The GISDataDepot
http://www.geocomm.com/ | http://data.geocomm.com/

Hello all,

John raises an interesting point here that makes me think of the MD_MetadataExtensionInformation/extensionOnLineResource element which is an onlineResource. We have been wondering lately about the difference between these two approaches to specifying an extension. The first clearly implies xml content. The second could support the kind of information John mentions…

Ted

Xlink Method:
<gmd:metadataExtensionInfo xlink:href=“[http://ngdc.noaa.gov/metadata/published/xsd/schema/resources/extensions/MD_MetadataExtensionInformation.xml](http://ngdc.noaa.gov/metadata/publishe
d/
nsions/MD_MetadataExtensionInformation.xml)” xlink:show=“embed”/>

CI_OnlineResource Method:
gmd:metadataExtensionInfo
gmd:MD_MetadataExtensionInformation
gmd:extensionOnLineResource
gmd:CI_OnlineResource
gmd:linkage
gmd:URLlhttp://ngdc.noaa.gov/metadata/published/xsd/schema/resources/extensions/MD_MetadataExtensionInformation.xml</gmd:URL>
</gmd:linkage>
gmd:description
< nbsp; gco:CharacterStringNOAA National Geophysical Data Center ISO 19115 Extensions</gco:CharacterString>
</gmd:description>
gmd:function
<gmd:CI_OnLineFunctionCode
codeList=“http://www.isotc211.org/2005/resources/Codelist/gmxCodelists .x /a>”

codeListValue=“information”>information</gmd:CI_OnLineFunctionCode>
</gmd:function>
</gmd:CI_OnlineResource>
</gmd:extensionOnLineResource>
</gmd:MD_MetadataExtensionInformation>
</gmd:metadataExtensionInfo>


On Jan 31, 2010, at 4:05 PM, < day@anonymised.com">John.Hockaday@anonymised.com wrote:

Hi All,

The ANZLIC Metadata Profile version 1.1 uses the MD_Metadata namespace. This is because the ANZLIC Metadata Profile does not add nor exclude any ISO 19115 metadata elements. What it does do is make the MD_Metadata/fileIdentifier mandatory. This is checked in the ISO 19139 XML using Schematron rules. Hence, in the matter of compliance, an ANZLIC Metadata Profile XML metadata record is the same as an ISO 19139 XML metadata record.

Regarding the metadataStandardName. I believe that ISO 19139 should add an attribute to this element of type URL that allows a hypertext link to the actual XML implementation of the profile identified by the metadataStandardName and the metadataStandardVersion. This will allow users to find the validation XML - XSDs, Schematron etc. - and the profile documentation for the profile.

My two cents worth. ;–)
-----Original Message-----

From:

metadata-bounces+john.hockaday=ga.gov.au@anonymised.com

[mailto:metadata-bounces+john.hockaday=ga.gov.au@anonymised.com

rst.com] On Behalf Of stephen richard

Sent: Monday, 1 February 2010 6:12 AM

To: Francois Prunayre

Cc: metadata@anonymised.com;

GeoNetwork-devel@lists.sourceforge.net

Subject: Re: [metadat ntifying ISO

metadata profiles

snip…

Is this a widely used, undocumented convention for

specifying profiles in

ISO19139 metadata? Why doesn’t GeoNetwork use the

metadataStandardName? My

Hum, maybe some reasons :

* fo profiles which have been added to

GeoNetwork has a new namespace defined. But that’s true that the use

of metadataStandardName could be a better approach for profiles. We

discussed that with Heikki also for the profil used in NGR project

which does not have a new namespace.

* but metadataStandardName is not mandatory in ISO, so what to do

when it’s not provided ?

I would propose that if you’re u ile,

specifying

that in the metadataStandardName would be mandatory if you want people

to know. If the root element is

http://www.isotc211.org/2005/gmd:MD_Metadata, with no

metadataStandardName specified, then the assumption would be that no

profile is in use, and metadata conforms to ISO19139 (it is XML schema

valid, no more…).

* also, looking to the ISO profil for France, there’s no value

defined for the metadataStandardName. Which is maybe not a
good idea !

:slight_smile:

So we should probably find a better way to handle profil with no

specific namespace.

I agree

Cheers.

Francois

br>

guess is we need a registry for

metadataStandardName/profile strings. Its

tempting to think that the URI’s geonetwork is using to

identify profiles

could just as well go in the metadataStandardName, perhaps

with an ‘ISO:’

prefix of some sort.

_________ __ ___________

metadata mailing list

metadata@anonymised.com

http://lists.geocomm.com/mailman/listinfo/metadata

_____________________________________

This List is brought to you by:

The GeoCommunity and The GISDataDepot

http://www.geocomm.com/ | http://data.geocomm.com/

_______________________________________________
metadata mailing list

==== Ted Habermann ===========================
Enterprise Data Systems Group Leader
NOAA, National Geophysical Data Center
V: 303.497.6472 F: 303.497.6513
"If you want to go quickly, go alone.
If you want to go far, go together"
Old Proverb
==== Ted.Habermann@anonymised.com ==================

(attachments)

Ted Habermann.vcf (390 Bytes)

On 1/31/2010 4:05 PM, John.Hockaday@anonymised.com wrote:

Hi All,

The ANZLIC Metadata Profile version 1.1 uses the MD_Metadata namespace.

I assume you mean http://www.isotc211.org/2005/gmd?

  This is because the ANZLIC Metadata Profile does not add nor exclude any ISO 19115 metadata elements. What it does do is make the MD_Metadata/fileIdentifier mandatory. This is checked in the ISO 19139 XML using Schematron rules. Hence, in the matter of compliance, an ANZLIC Metadata Profile XML metadata record is the same as an ISO 19139 XML metadata record.
   

They both conform to the same xml schema, but I'm assuming there are conventions in ANZLIC that are useful for a metadata consuming application to know. How does an ANCLIC metadata document tell the user that the metadata conforms to that profile?

Regarding the metadataStandardName. I believe that ISO 19139 should add an attribute to this element of type URL that allows a hypertext link to the actual XML implementation of the profile identified by the metadataStandardName and the metadataStandardVersion. This will allow users to find the validation XML - XSDs, Schematron etc. - and the profile documentation for the profile.
   

like all controlled vocabulary used in xml, I'd like to see it implemented as a scoped name with an identifier for the containing vocabulary, an identifier for the concept in the vocabulary, a language-localized label for the concept, and a URL for a definition service or other resources... (interoperability requires a controlled vocabulary of metadata standards....)

steve

My two cents worth. ;--)

John

snip

On Monday, 1 February 2010 5:16 PM Stephen Richard wrote:

On 1/31/2010 4:05 PM, John.Hockaday@anonymised.com wrote:
> Hi All,
>
> The ANZLIC Metadata Profile version 1.1 uses the
MD_Metadata namespace.
I assume you mean http://www.isotc211.org/2005/gmd?

Yes.

> This is because the ANZLIC Metadata Profile does not add
nor exclude any ISO 19115 metadata elements. What it does do
is make the MD_Metadata/fileIdentifier mandatory. This is
checked in the ISO 19139 XML using Schematron rules. Hence,
in the matter of compliance, an ANZLIC Metadata Profile XML
metadata record is the same as an ISO 19139 XML metadata record.
>
They both conform to the same xml schema, but I'm assuming there are
conventions in ANZLIC that are useful for a metadata consuming
application to know. How does an ANCLIC metadata document
tell the user
that the metadata conforms to that profile?

As mentioned, by validation using the ANLZIC Schematron.

> Regarding the metadataStandardName. I believe that ISO
19139 should add an attribute to this element of type URL
that allows a hypertext link to the actual XML implementation
of the profile identified by the metadataStandardName and the
metadataStandardVersion. This will allow users to find the
validation XML - XSDs, Schematron etc. - and the profile
documentation for the profile.
>
like all controlled vocabulary used in xml, I'd like to see it
implemented as a scoped name with an identifier for the containing
vocabulary, an identifier for the concept in the vocabulary, a
language-localized label for the concept, and a URL for a definition
service or other resources... (interoperability requires a controlled
vocabulary of metadata standards....)

I believe a nicer solution would be an official ISO TC 211 endorsed registry of registered profiles. This will allow users to find all approved existing profiles to see if something exists that meets their needs before defining yet another profile. If an existing profile only partially meets their needs then they could extend the existing profile and register that extension at the official ISO TC 211 endorsed registry of profiles.

John

steve

> My two cents worth. ;--)
>
>
> John
>
>
>
snip