Skip to content

fairagro/SoilTextureOntology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Soil Texture Ontology

Background and Purpose

The ontology contained in this repository was initially created by the Kuratorium für Technik und Bauwesen in der Landwirtschaft e.V. during the SIMLEARN project. Its purpose was twofold:

  • it was used to translate data that contained numeric soil grain size fractions determined in the lab into their soil texture classification counterpart (and vice versa from classes to clay/silt/sand fraction ranges).
  • it served as a testbed ontology for more complex reasoning, especially type inference from numeric ranges of properties

As the ontology was more a side result of the project, it remained unpublished for a certain time. As there was some demand for a formal representation of a soil texture taxonomy and classification within the FAIRagro project, the creators however decided to disseminate this work now through this repository.

Soil Texture Coverage

The ontology has initially been created based upon the German soil texture classification system as described in the Bodenkundliche Kartieranleitung, edition 4 (KA4 - in particular table 26 on page 135 of that document). It has been cross-checked against the most recent 6th edition of the Kartieranleitung with no need for changes being observed.

Thus, at the moment it covers requirements for being used as descriptors for datasets only that have been recorded according to that system. The ontology however is easily extensible and using the existing class definitions and hierarchy as a template, basically any different soil texture classification system can be added, like the USDA system, which has different grain diameter limits. Feel free to send patches/pull requests for that - also if you spot errors.

Reasoning with the Ontology

Functionality

Given a dataset represented as a knowledge graph in RDF, you can use a reasoner to assign soil texture classes as rdf:types to for example sample objects, given the following preconditions:

  • Instances to be classified have to use the properties :sandFraction, :siltFraction and :clayFraction defined in the ontology for specifying determined values.
  • Their value space has to be a double with a range between 0 and 1. In other words: we do not use percentages but fractions!

The ontology does not allow for the reasoner to check whether the sum of these values is 1.0 - if anybody has an idea on how to achieve this efficiently with a certain tolerance, drop us a note.

So, for example, if a dataset contains the following turtle snippet:

:SampleX :sandFraction 0.13 ;
         :siltFraction 0.45 ;
         :clayFraction 0.42 .

a reasoner will infer the following statement from the ontology:

:SampleX rdf:type :KA4Lt3 .

You can then query for example for the textual description of this class, which would be "mittel toniger Lehm", get at the skos:definition containing a description of its class boundaries or walk up the class/concept hierarchy to find out that KA4Lt3 is a rdfs:subClass of :KA4ut - reflecting the "Bodenartengruppe".

Performance

Up to now, we tested only with the HermiT reasoner using Protégé and another small program in Java using the owlapi. You will get results very quickly, if you hand the ontology and just a single data instance to the reasoner. But already giving it two data instances led to unpredictable runtime behaviour. It will output results, but it can take almost arbitrary amounts of time. The phenomenon is known to the hermite developers and attributed to the Java collection library implementation (see B. Motik, R. Shearer, I. Horrocks (2009): Hypertableau Reasoning for Description Logics, Journal of Artificial Intelligence Research 36, p. 219).

Acknowledgements

Development of the ontology in the SIMLEARN project was supported by the German Ministry for Education and Research (BMBF) under the grant number 01|S19073. The FAIRagro project is funded by the German Research Foundation (DFG) - project number 501899475.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors