mUnc uses W3C's open and freely available Web standards: RDF, OWL. It also bases on LDScript language implemented in Corese to present uncertainty calculus.
mUnc (Metadata with UNCertainty) is an OWL ontology for describing Uncertainty information. It aims to offer a standard representation for uncertainty theories and values with respect to the current Semantic Web standards. It also offers the possibility to represent and exchange calculation involved in the evaluation of uncertainty.
The open nature of the Web allow the existence of fuzzy, vague, or uncertain information for which exists no standard on the Semantic Web. The aim from mUnc is to offer a formal, publishable and reusable representation of uncertainty over the web of linked data, and allow the integration of many theories [1-4] about "uncertainty reasoning". Moreover, this vocabulary offer a way to link between the theories and their calculus.
The current version enables uncertainty representation at different levels of granularity. Uncertainty can be linked to a sentence or to a world (context).
The figure below shows the core classes and properties of mUnc.
In the version 2 of mUnc, an extension allowing the representation of translatability of uncertainty theories, as shown in the figure below:
In this section, we show some examples to illustrate metadata encoding using mUnc.
In this example, we represent the probability theory using mUnc. This theory have one feature representing the probability of the assertion to be true (ex:probabilityValue). The value linked to this feature is a decimal and can be manipulated using different operations (for the sake of the example: Conjunction, Disjunction, Negation). The calculus is represented using LDScript functions.
prefix ex: <http://example.org/> prefix munc: <http://ns.inria.fr/munc/> ex:Probability a munc:UncertaintyApproach; munc:hasUncertaintyFeature ex:probabilityValue; munc:hasUncertaintyOperator ex:and, ex:or, ex:not. ex:probabilityValue a munc:uncertaintyFeature; rdfs:range xsd:decimal. ex:probabilityValue ex:and ex:conjunctionFunction; ex:or ex:disjunctionFunction; ex:not ex:negationFunction.
The operations are LDScript functions. Each function have a URI enabling its deferenciation.
function munc:conjunctionFunction(?P1, ?P2){ ?P1 * ?P2 }
Once the approach, the Features and the calculus are defined, we can define the values. In this example we annotated both context ex:Biology and sentence ex:S1 with probability information.
ex:S1 munc:hasMeta [a munc:Uncertainty; ex:probabilityValue 0.7]. ex:Biology munc:hasMeta [a munc:Uncertainty; ex:probabilityValue 0.5].
Finally, a SPARQL query engine can translate the code and match each triple with its convenient uncertainty value. We use LDScript to define the operations (functions for calculus) linked to uncertainty theories.
prefix ex: < http://example.org/ > . prefix munc: < http://ns.inria.fr/munc/ > . SELECT ?g ?s ?p ?o ?meta WHERE { { GRAPH ?g { ?s ?p ?object ?object rdf:value ?o ?object munc:hasMeta ?sentenceMeta } } UNION { GRAPH ?g { ?s ?p ?o FILTER (!EXISTS {?o rdf:value ?ob. ?o munc:hasMeta ?mm} && !EXISTS{?s a munc:Uncertainty} && !EXISTS{?s rdf:value ?ob}) } BIND(false as ?sentenceMeta) } ?g munc:hasMeta ?contextMeta BIND(munc:metaList(?sentenceMeta, ?contextMeta) AS ?meta) } function munc:metaList(?xT, ?xG){ let(SELECT ?xT ?xG (group_concat(?FV;separator="-") as ?metaD) WHERE { { SELECT ?xT ?xG (CONCAT(?xF,'=',?xV) AS ?FV) WHERE { ?xG ?xF ?xV1 OPTIONAL {?xT ?xF ?xV2} ?xF rdfs:subPropertyOf munc:uncertaintyFeature ?xF ex:and ?xFFunction BIND(IF(BOUND(?xV2),funcall(?xFFunction,?xV1,?xV2),?xV1) AS ?xV) } GROUP BY ?xT ?xG } UNION { SELECT ?xT ?xG (CONCAT(?xF,'=',?xV) AS ?FV) WHERE { ?xT ?xF ?xV ?xF rdfs:subPropertyOf munc:uncertaintyFeature FILTER NOT EXISTS {?xG ?xF ?xV2} } GROUP BY ?xT ?xG } } ) { ?metaD } }
IRI: http://ns.inria.fr/munc/v2#Meta
IRI: http://ns.inria.fr/munc/v2#Sentence
IRI: http://ns.inria.fr/munc/v2#Uncertainty
IRI: http://ns.inria.fr/munc/v2#UncertaintyApproach
IRI: http://ns.inria.fr/munc/v2#UncertaintyOperation
IRI: http://ns.inria.fr/munc/v2#UncertaintyValue
IRI: http://ns.inria.fr/munc/v2#World
IRI: http://ns.inria.fr/munc/v2#TranslationFunction
IRI: http://ns.inria.fr/munc/v2#hasUncertaintyApproach
IRI: http://ns.inria.fr/munc/v2#hasUncertaintyFeature
IRI: http://ns.inria.fr/munc/v2#hasUncertaintyOperator
IRI: http://ns.inria.fr/munc/v2#uncertaintyFeature
IRI: http://ns.inria.fr/munc/v2#uncertaintyOperator
IRI: http://ns.inria.fr/munc/v2#translateFrom
IRI: http://ns.inria.fr/munc/v2#translateTo
IRI: http://ns.inria.fr/munc/v2#hasTranslation
IRI: http://ns.inria.fr/munc/v2#hasIdealTranslation
IRI: http://ns.inria.fr/munc/v2#hasFullTranslation
This HsentenceMetaL document was obtained by processing the OWL ontology source code through LODE , Live OWL Documentation Environment , developed by Silvio Peroni .