Semantic search in OGC Catalog Services for the Web
Web Ontology Language & CSW/ebRIM
Heikki Doeleman & Jose Garcia
GeoNetwork opensource
in this presentation
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
introduction
introduction
Juliet Gwenzi: "Enhancing Spatial web search with Semantic Web Technology and Metadata Visualisation", MA thesis Universiteit Twente, the Netherlands, March 2010
- a method for integrating Semantic Web technology in existing GEO catalogs
- richer discovery of data and services
semantic search vs. free text search
introduction
semantic search
- domain model of meaning
- hierarchical structure
- relations: equivalence, inverse, domain-specific
- knowledge-based
free text search
- relevance ranking
- fuzziness
- typo recovery ("did you mean..")
- based on structure and statistics
both styles are complimentary
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
OGC CSW: Catalog Services for the Web
OGC CSW/ebRIM
- CSW/ebRIM ISO Metadata Application Profile: ebRIM registry describes ISO19139 metadata
- implemented in GeoNetwork opensource for European Space Agency's HMA program
- discover, query metadata: GetRecords
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
W3C Web Ontology Language (OWL)
Web Ontology Language
- W3C standard
- Vocabulary to describe a model of a domain
- Classes, properties, individuals, relationships
- Based on RDF
- increasingly expressive sublanguages:
- OWL Lite: Classification hierarchy and simple constraints
- OWL DL: Description Logic: greater expressiveness, without losing computational completeness
- OWL Full: Classes as instances, greater vocabulary, no computational guarantees
OWL example fragment
OWL example
<owl:Class rdf:about="#Storm"/>
<owl:Class rdf:about="#Flooding">
<rdfs:subClassOf>
<owl:Class rdf:about="#Threat"/>
</rdfs:subClassOf>
<owl:equivalentClass>
<owl:Class rdf:ID="Floods"/>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Thunderstorm">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:ID="associatedWith"/>
</owl:onProperty>
<owl:someValuesFrom>
<owl:Class rdf:ID="Flooding"/>
</owl:someValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf rdf:resource="#Storm"/>
</owl:Class>
OWL and ebRIM
Web Ontology Language
- Registry Extension Package
- Add vocabulary: classifications, associations
- Transform OWL document into Registry Package
- Apply vocab to ebRIM ISO RegistryObjects
- Enhance search using OWL vocab
OWL and ebRIM
OWL Registry Package
<rim:ClassificationNode code="#Storm" objectType="urn:owl:severe-weather:ebrim:ObjectType:#Storm"
lid="urn:owl:severe-weather:ebrim:ObjectType:#Storm" id="urn:owl:severe-weather:ebrim:ObjectType:#Storm"
parent="urn:owl:def:ebRIM-ClassificationScheme:SevereWeather">
<rim:Name>
<rim:LocalizedString value="#Storm"/>
</rim:Name>
<rim:Description>
<rim:LocalizedString xml:lang="en" value="No description available"/>
</rim:Description>
</rim:ClassificationNode>
<rim:ClassificationNode code="#Thunderstorm" objectType="urn:owl:severe-weather:ebrim:ObjectType:#Thunderstorm"
lid="urn:owl:severe-weather:ebrim:ObjectType:#Thunderstorm"
id="urn:owl:severe-weather:ebrim:ObjectType:#Thunderstorm" parent="urn:owl:def:ebRIM-ClassificationScheme:SevereWeather">
<rim:Name>
<rim:LocalizedString value="#Thunderstorm"/>
</rim:Name>
<rim:Description>
<rim:LocalizedString xml:lang="en" value="No description available"/>
</rim:Description>
</rim:ClassificationNode>
<rim:Association id="urn:owl:def:ebRIM-AssociationType:IsSubClassOf-#Thunderstorm-#Storm" sourceObject="#Thunderstorm"
associationType="urn:owl:def:ebRIM-AssociationType:IsSubClassOf"
targetObject="urn:owl:severe-weather:ebrim:ObjectType:#Storm"/>
CSW Discovery: GetRecords
OWL ebRIM Discovery
<csw:GetRecords ..namespaces omitted.. >
<csw:Query typeNames="rim:ExtrinsicObject">
<csw:ElementSetName>full</csw:ElementSetName>
<csw:Constraint>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName>
<ogc:Literal>urn:ogc:def:ebRIM-ObjectType:OGC:DataMetadata</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:And>
<ogc:Or>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Classification/@classificationNode</ogc:PropertyName>
<ogc:Literal>urn:owl:severe-weather:ebrim:ObjectType:#Storm</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Or>
</ogc:And>
</ogc:And>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
OWL-enhanced CSW Discovery: GetRecords with subclasses
OWL ebRIM Discovery
<csw:GetRecords ..namespaces omitted.. ">
<csw:Query typeNames="rim:ExtrinsicObject">
<csw:ElementSetName>full</csw:ElementSetName>
lt;csw:Constraint>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName>
<ogc:Literal>urn:ogc:def:ebRIM-ObjectType:OGC:DataMetadata</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:And>
<ogc:Or>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Classification/@classificationNode</ogc:PropertyName>
<ogc:Literal>urn:owl:severe-weather:ebrim:ObjectType:#Storm</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Classification/@classificationNode</ogc:PropertyName>
<ogc:Literal>urn:owl:severe-weather:ebrim:ObjectType:#Thunderstorm</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Classification/@classificationNode</ogc:PropertyName>
<ogc:Literal>urn:owl:severe-weather:ebrim:ObjectType:#Threat</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:ExtrinsicObject/rim:Classification/@classificationNode</ogc:PropertyName>
<ogc:Literal>urn:owl:severe-weather:ebrim:ObjectType:#TropicalCyclone</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Or>
</ogc:And>
</ogc:And>
</ogc:Filter>
lt;/csw:Constraint>
</csw:Query>
</csw:GetRecords>
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
Related work
CSW ebRIM OWL: related work
- Dogac et al.: Enriching ebXML Registries with OWL Ontologies
- OASIS ebXML RegRep Profile for Web Ontology Language (draft)
- OGC 09-010: OWL Application Profile of CSW (draft)
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
Future work
CSW ebRIM OWL: related work
- GeoNetwork OWL/CSW/ebRIM compliant to OASIS ebRIM OWL specification
- Thesaurus Widget enhancements
- Integration of CSW/ebRIM (and OWL/CSW/ebRIM) in standard GeoNetwork GUI
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
Demo
Demo
Coming soon to http://geonetwork.tv/owl
index
- Introduction
- OGC CSW/ebRIM
- W3C Web Ontology Language (OWL)
- OWL in ebRIM
- Related work
- Future work
- Demo
- Questions
Questions
thank you !