[Auscope-geosciml] RE : RE : service architecture [SEC=UNCLASSIFIED]

Boisvert, Eric Eric.Boisvert at RNCan-NRCan.gc.ca
Wed Sep 16 20:30:31 EDT 2009


yes, I was just lazy
 
One way to simulate polymorphism in xpath is using *
 
gsml:speficiation/*/gsml:preferredAge/...
 
Since we assume the model should not include silly invalid stuff in the '*' spot, we should get all possible subsitutions.
 
Actually, this is how you can query the GIN mediator for polymorphic xpaths.

________________________________

De: auscope-geosciml-bounces at lists.arcs.org.au de la part de Stephen M Richard
Date: mer. 2009-09-16 20:29
À: auscope-geosciml at lists.arcs.org.au
Objet : Re: [Auscope-geosciml] RE : service architecture [SEC=UNCLASSIFIED]


Eric--shouldn't xpath allow the filter for say preferredAge to be 

<ogc:PropertyName>../gsml:preferredAge/../value</ogc:PropertyName> ?


Boisvert, Eric wrote: 

		If you deliver individual geologic feature types in separate WFS services (like we did in Testbed > 3), then you don't get the problem of dealing with mixed geologic feature types.
		    

	 
	I did not look carefully at your implementation, but why did you create a separate service for each feature type when this is already part of the query syntax 
	 
	typeName=gsml:GeologicUnit
	or
	<wfs:Query typeName="gsml:GeologicUnit">
	...
	</wfs:Query>
	 
	  

		Could you give a real world example when a GeologicUnit would have the same name as a GeologicStructure?
		    

	 
	I think it's the case when you don't know exactly what kind of GeologicFeature you are dealing with.  You only know it's a GeologicFeature of some sort.
	 
	Another case could be, give me all GeologicFeature of such or such age.  Since a GeologicFeature can be a GeologicUnit or a GeologicStructure including all potential subtype, do we have to specifically write a request for each of them or just invoke the topmost class ?
	 
	WFS has a way to lump a series of types into a single query with
	 
	typeName=gsml:GeologicUnit,gsml:GeologicStructure,gsml:Contact,...
	or
	<wfs:Query typeName="gsml:GeologicUnit,gsml:GeologicStructure,gsml:Contact">
	...
	</wfs:Query>
	
	I guess it's a workable solution (I think it's silly). But the tricky part is when, as pointed out by Ben, the substitution appears in the XPath.  in GeoSciML, the most common case is requesting gsml:MappedFeature based on the properties of a class dangling at the other end of the gsml:specification
	
	Do we need to write a big ogc:Or request 
	
	 
	
	<wfs:Query typeName="gsml:MappedFeature">
	<ogc:Filter>
	  <ogc:Or>
	     <ogc:PropertyIsEqualTo>
	        <ogc:PropertyName>gsml:speficiation/gsml:GeologicUnit/gsml:preferredAge/...</ogc:PropertyName>
	<ogc:Literal>...</ogc:Literal>
	     </ogc:PropertyIsEqualTo>
	    <ogc:PropertyIsEqualTo> 
	        <ogc:PropertyName>gsml:speficiation/gsml:GeologicStructure/gsml:preferredAge/...</ogc:PropertyName>
	<ogc:Literal>...</ogc:Literal>
	     </ogc:PropertyIsEqualTo>
	    <ogc:PropertyIsEqualTo> 
	        <ogc:PropertyName>gsml:speficiation/gsml:Contact/gsml:preferredAge/...</ogc:PropertyName>
	<ogc:Literal>...</ogc:Literal>
	     </ogc:PropertyIsEqualTo>
	    <ogc:PropertyIsEqualTo> 
	        <ogc:PropertyName>gsml:speficiation/gsml:Fault/gsml:preferredAge/...</ogc:PropertyName>
	<ogc:Literal>...</ogc:Literal>
	     </ogc:PropertyIsEqualTo>
	.. more madness..
	</ogc:Or>
	</ogc:Filter>
	</wfs:Query>
	
	The fun part is, that if you have more than one condition to check (eg, geologicHistory), you now have a cardinal product
	
	GeologicUnit/preferredAge/ AND GeologicUnit/geologicHistory
	
	OR
	
	GeologicUnit/preferredAge/ AND GeologicStructure/geologicHistory
	
	OR
	
	GeologicUnit/preferredAge/ AND Contact/geologicHistory
	
	... lots of lines
	
	GeologicStructure/preferredAge/ AND GeologicUnit/geologicHistory
	
	OR
	
	GeologicStructure/preferredAge/ AND  GeologicStructure/geologicHistory
	
	OR
	
	..  keep them coming..
	
	a third property anyone ?
	
	 
	
	 
	
	 
	
	 
	
	
	  


-- 
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 at azgs.az.gov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 6725 bytes
Desc: not available
URL: <http://lists.opengeospatial.org/pipermail/geosciml/attachments/20090916/cd2540c4/attachment.bin>


More information about the GeoSciML mailing list