Skip to content

Commit

Permalink
added CityGML3 custom conversion producing consistent ontologies
Browse files Browse the repository at this point in the history
  • Loading branch information
Nataliya Keberle committed Sep 25, 2024
1 parent 9344439 commit baffad4
Show file tree
Hide file tree
Showing 27 changed files with 318,089 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<ShapeChangeConfiguration xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.interactive-instruments.de/ShapeChange/Configuration/1.1" xmlns:sc="http://www.interactive-instruments.de/ShapeChange/Configuration/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.interactive-instruments.de/ShapeChange/Configuration/1.1 http://shapechange.net/resources/schema/ShapeChangeConfiguration.xsd">
<input>
<!-- <parameter name="inputModelType" value="EA7"/> -->
<parameter name="inputModelType" value="SCXML"/>
<parameter name="inputFile" value='$input$'/>
<parameter name="appSchemaNamespaceRegex" value="^(https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/|http://www.opengis.net/citygml/).*"/>
<parameter name="checkingConstraints" value="disabled"/>
<parameter name="addTaggedValues" value="itemType"/>
<xi:include href="http://shapechange.net/resources/config/StandardAliases.xml"/>
<stereotypeAliases>
<StereotypeAlias wellknown="BasicType" alias="basictype"/>
<StereotypeAlias wellknown="property" alias="Property"/>
<StereotypeAlias wellknown="version" alias="Version"/>
<StereotypeAlias wellknown="FeatureType" alias="TopLevelFeatureType"/>
</stereotypeAliases>
</input>
<log>
<parameter name="reportLevel" value="WARNING" />
<parameter name="logFile" value="logs/log.xml" />
</log>
<!-- Proposed by OGC document number 16-020 http://docs.opengeospatial.org/per/16-020.html#rdf_cr_associationclass -->
<transformers>
<Transformer id="ACMAPPER" class="de.interactive_instruments.ShapeChange.Transformation.Flattening.AssociationClassMapper" mode="enabled"/>
<!-- Union alternative 1 transformer -->
<Transformer id="FLATTENER1" class="de.interactive_instruments.ShapeChange.Transformation.Flattening.Flattener" input="ACMAPPER" mode="enabled">
<parameters>
<ProcessParameter name="includeUnionIdentifierTaggedValue" value="true"/>
<ProcessParameter name="separatorForPropertyFromUnion" value="."/>
<ProcessParameter name="flattenObjectTypes" value="false"/>
<ProcessParameter name="flattenDataTypesExcludeRegex" value=".*"/>
<ProcessParameter name="setMinCardinalityToZeroWhenMergingUnion" value="false"/>
</parameters>
<rules>
<ProcessRuleSet name="flattener">
<rule name="rule-trf-prop-flatten-types"/>
</ProcessRuleSet>
</rules>
</Transformer>
<Transformer class="de.interactive_instruments.ShapeChange.Transformation.Flattening.Flattener" input="ACMAPPER" id="FLATTENER2" mode="disabled">
<parameters>
<ProcessParameter name="includeUnionIdentifierTaggedValue" value="true"/>
</parameters>
<rules>
<ProcessRuleSet name="flattener">
<rule name="rule-trf-cls-replace-with-union-properties"/>
</ProcessRuleSet>
</rules>
</Transformer>
</transformers>
<targets>
<!-- <TargetOwl class="de.interactive_instruments.ShapeChange.Target.Ontology.OWLISO19150" mode="enabled"> -->
<TargetOwl class="de.interactive_instruments.ShapeChange.Target.Ontology.OWLISO19150" mode="enabled" inputs="ACMAPPER">
<targetParameter name="outputDirectory" value="$output$"/>
<!-- <targetParameter name="outputDirectory" value="../Data-IO/OWL/CityGML_3.0_Conceptual_Model"/> -->
<targetParameter name="defaultEncodingRule" value="CityGML_Lite_RDF_Encoding_Rules"/>
<targetParameter name="defaultTypeImplementation" value="owl:Thing"/>
<targetParameter name="URIbase" value="https://ogcbblocks/CityGML/3.0"/>
<targetParameter name="language" value="en"/>
<xi:include href="https://shapechange.net/resources/config/StandardNamespaces-owl.xml"/>
<namespaces>
<!-- CityGML 3.0 namespaces -->
<Namespace nsabr="app" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/appearance#"/>
<Namespace nsabr="brid" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/bridge#"/>
<Namespace nsabr="bldg" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/building#"/>
<Namespace nsabr="pcl" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/pointcloud#"/>
<Namespace nsabr="frn" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityfurniture#"/>
<Namespace nsabr="grp" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityobjectgroup#"/>
<Namespace nsabr="con" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/construction#"/>
<Namespace nsabr="core" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core#"/>
<Namespace nsabr="dyn" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/dynamizer#"/>
<Namespace nsabr="gen" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/generics#"/>
<Namespace nsabr="luse" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/landuse#"/>
<Namespace nsabr="dem" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/relief#"/>
<Namespace nsabr="tran" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/transportation#"/>
<Namespace nsabr="tun" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/tunnel#"/>
<Namespace nsabr="veg" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/vegetation#"/>
<Namespace nsabr="vers" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/versioning#"/>
<Namespace nsabr="wtr" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/waterbody#"/>
<Namespace nsabr="xAL" ns="urn:oasis:names:tc:ciq:xal:3"/>
<!-- ADE namespaces -->
<Namespace nsabr="doc" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/Document/3.0/document#"/>
<Namespace nsabr="wksp" ns="https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/Workspace/3.0/workspace#"/>
<!-- ISO TC211 namespaces -->
<Namespace nsabr="iso19103" ns="http://def.isotc211.org/iso19103/2005/UnitsOfMeasure#"/>
<Namespace nsabr="iso19107-cm" ns="http://def.isotc211.org/iso19107/2003/CoordinateGeometry#"/>
<Namespace nsabr="iso19107-gc" ns="http://def.isotc211.org/iso19107/2003/GeometricComplex#"/>
<Namespace nsabr="iso19109" ns="http://def.isotc211.org/iso19109/2015/GeneralFeatureModel#"/>
<Namespace nsabr="iso19111-2007" ns="http://def.isotc211.org/iso19111/2007/CoordinateReferenceSystems#"/>
<Namespace nsabr="iso19111-2019" ns="http://def.isotc211.org/iso19111/2019/CoordinateReferenceSystems#"/>
<Namespace nsabr="iso19123" ns="http://def.isotc211.org/iso19123/2005/DiscreteCoverages#"/>
<Namespace nsabr="iso19136-bt" ns="http://def.isotc211.org/iso19136/2007/BasicTypes#"/>
<Namespace nsabr="orph" ns="http://def.isotc211.org/orphans/Orphans#"/>
<!-- OGC Standard namespaces -->
<Namespace nsabr="tsml" ns="http://www.opengis.net/tsml/1.0#"/>
<Namespace nsabr="sos" ns="http://www.opengis.net/sos/1.0#"/>
</namespaces>
<descriptorTargets>
<!-- <DescriptorTarget target="skos:prefLabel" template="[[name]]"/> -->
<DescriptorTarget target="rdfs:label" template="[[name]]"/>
<DescriptorTarget target="skos:definition" template="[[definition]]"/>
<DescriptorTarget target="rdfs:comment" template="[[description]]"/>
</descriptorTargets>
<xi:include href="https://shapechange.net/resources/config/StandardMapEntries_iso19103-owl.xml"/>
<xi:include href="https://shapechange.net/resources/config/StandardMapEntries_iso19107-owl-gml.xml"/>
<xi:include href="https://shapechange.net/resources/config/StandardMapEntries_iso19108-owl.xml"/>
<xi:include href="https://shapechange.net/resources/config/StandardMapEntries_iso19136_2007-owl.xml"/>
<xi:include href="https://shapechange.net/resources/config/StandardMapEntries_iso19136_2007-owl.xml"/>
<xi:include href="./StandardMapEntries_iso19107-owl.xml"/>
<xi:include href="./StandardMapEntries_iso19136-owl.xml"/>
<xi:include href="./CityGML3.0CodeListMapEntries.xml"/>
<xi:include href="./CityGML3.0EnumMapEntries.xml"/>
<rdfMapEntries>
<RdfTypeMapEntry type="AnyFeature" target="iso19109:AnyFeature"/>
<RdfTypeMapEntry type="CV_DiscreteGridPointCoverage" target="iso19123:CV_DiscreteGridPointCoverage"/>
<RdfTypeMapEntry type="EngineeringCRS" target="iso19111-2019:EngineeringCRS"/>
<RdfTypeMapEntry type="MeasureOrNilReasonList" target="iso19136-bt:MeasureOrNilReasonList"/>
<RdfTypeMapEntry type="DoubleOrNilReasonList" target="iso19136-bt:DoubleOrNilReasonList"/>
<RdfTypeMapEntry type="SC_CRS" target="iso19111-2007:SC_CRS"/>
<RdfTypeMapEntry type="UnitOfMeasure" target="sc:Measure"/>
<RdfTypeMapEntry type="TM_Duration" target="time:TemporalDuration"/>
<RdfTypeMapEntry type="TM_Period" target="time:Interval"/>
<RdfTypeMapEntry type="GM_TriangulatedSurface" target="iso19107-cm:GM_TriangulatedSurface"/>
<RdfTypeMapEntry type="Sequence&lt;Real&gt;" target="orph:Sequence.lt.Real.gt."/>
<RdfTypeMapEntry type="Code" target="iso19136-bt:Code"/>
<RdfTypeMapEntry type="Sequence&lt;DoubleBetween0and1&gt;" target="orph:Sequence.lt.MeasureOrNilReason.gt."/>
<RdfTypeMapEntry type="doubleList" target="iso19136-bt:doubleList"/>
<RdfTypeMapEntry type="GetObservationResponse" target="sos:GetObservationResponse"/>
</rdfMapEntries>
<rules>
<EncodingRule name="CityGML_Lite_RDF_Encoding_Rules">
<!-- TODO take out domain/range declarations -->
<rule name="rule-owl-pkg-ontologyName-iso191502"/>
<!-- <rule name="rule-owl-pkg-ontologyName-code"/> -->
<!-- <rule name="rule-owl-pkg-singleOntologyPerSchema"/> -->
<rule name="rule-owl-pkg-importISO191502Base"/>
<rule name="rule-owl-cls-iso191502IsAbstract"/>
<!-- <rule name="rule-owl-cls-enumerationAsCodelist"/> -->
<rule name="rule-owl-cls-iso191502Enumeration"/>
<rule name="rule-owl-cls-encode-featuretypes"/>
<rule name="rule-owl-cls-encode-objecttypes"/>
<rule name="rule-owl-cls-encode-mixintypes"/>
<rule name="rule-owl-cls-encode-datatypes"/>
<rule name="rule-owl-cls-encode-basictypes"/>
<!-- <rule name="rule-owl-cls-codelist-external"/> -->
<rule name="rule-owl-cls-codelist-19150-2"/>
<!-- <rule name="rule-owl-cls-codelist-19150-2-skos-collection"/>
<rule name="rule-owl-cls-codelist-19150-2-differentIndividuals"/> -->
<rule name="rule-owl-cls-generalization"/>
<rule name="rule-owl-cls-union"/>
<rule name="rule-owl-prop-general"/>
<rule name="rule-owl-prop-iso191502-naming"/>
<rule name="rule-owl-prop-localScopeAll"/>
<!-- <rule name="rule-owl-prop-globalScopeAttributes"/> -->
<!-- <rule name="rule-owl-prop-globalScopeByUniquePropertyName"/> -->
<!-- <rule name="rule-owl-prop-globalScopeByConversionParameter"/> -->
<!-- <rule name="rule-owl-prop-multiplicityAsQualifiedCardinalityRestriction"/> -->
<!-- <rule name="rule-owl-prop-multiplicityAsUnqualifiedCardinalityRestriction"/> -->
<rule name="rule-owl-prop-voidable-as-minCardinality0"/>
<rule name="rule-owl-prop-range-global"/>
<rule name="rule-owl-prop-range-local-withUniversalQuantification"/>
<rule name="rule-owl-prop-mapping-compare-specifications"/>
<!-- <rule name="rule-owl-all-constraints-humanReadableTextOnly"/> -->
<!-- <rule name="rule-owl-all-constraints-byConstraintMapping"/> -->
</EncodingRule>
</rules>
</TargetOwl>
</targets>
</ShapeChangeConfiguration>
Loading

0 comments on commit baffad4

Please sign in to comment.