Coffeehouse Thread

4 posts

Semantic Mapping Question

Back to Forum: Coffeehouse
  • MovGP0

    Hi,
    I'm not shure if this is the right place to ask for semantic web issures, but there only very few Forums out there for such things.
    I've tried to make an RDF/OWL-ontology for units (ie. Volt). But the problem ist to map ie. the Class "Volt" to it's Definition of:

    1 V = 1 kg m2 s-3 A-1

    Even it's possible to make properties like "isDirectProportionalTo" and "isIndirectProportionalTo" it's awful to use:

    V isDirectProportionalTo kg
    V isDirectProportionalTo m (1)
    V isDirectProportionalTo m (2)
    ...

    I think that a better way may be to handle that within an external Math-Schema. But then I get the similar Problem of mapping:

    Division(x, y) <-> Times(x, Power(x, -1))

    according to the rule:

    x/y <-> x y-1

    My current Implementation looks like:

    Equal(
      hasValue Division(
        hasDividend x
        hasDivisor y
      )
      hasValue Times(
        hasValue x
        hasValue (
          Power(
            hasBase x
            hasExponent -1
          )
        )
      )
    )

    Has anybody a Idea how to handle this asymmetric mapping in OWL/RDF/DAIML+OIL directly to be able to use a semantic reasoner?

  • MovGP0

    The following is a, quick written but not syntactically correct, Example with some propritary Elements (owlx):

    <rdf:comment>Mapping of "x/y" to "x*y^(-1)"</rdf:comment>

    <owlx:Mapping>
        <owlx:Struct>
            <owl:InstanceOf rdf:resource="&math;Division" />
            <math:Dividend>
                <owlx:InstanceOf rdf:resource="#Variable01" />
            </math:Dividend>
            <math:Divisor>
                <owlx:InstanceOf rdf:resource="#Variable02" />
            </math:Divisor>
        </owlx:Struct>
        <owlx:Struct>
            <owl:InstanceOf rdf:resource="&math;Multiplication" />
            <math:Variable>
                <owlx:InstanceOf rdf:resource="#Variable01" />
            </math:Variable>
            <math:Variable>
                <owl:InstanceOf rdf:resource="&math;Exponentiation" />
                <math:Base>
                    <owlx:InstanceOf rdf:resource="#Variable02" />
                </math:Base>
                <math:Exponent rdfs:datatype="&xsd;Integer">-1</math:Exponent>
            </math:Variable>
        </owlx:Struct>
    </owlx:Mapping>


    <rdf:type rdf:ID="Variable01" rdf:resource="&math;Variable" />
    <rdf:type rdf:ID="Variable02" rdf:resource="&math;Variable" />

  • Karim

    We don't get a whole lot of ontological mapping questions in the Coffeehouse.  LOL

    Marc McDonald was on earlier, he probably could have helped Big Smile

    Maybe the Techoff forum...?

    I would have thought someone would have come up with an ontology for volts and other electrical units already...?

  • MovGP0

    Karim wrote:
    I would have thought someone would have come up with an ontology for volts and other electrical units already...?


    The use of electical units was just an Example. The Problem I want to address ist the n:m mapping of RDF/OWL-Structures. Currently there is only 1:1 Class/Property mapping in the art:

    <unit:V rdf:ID="V">
       <owl:sameAs rdf:resource="&unit;Volt" />
    </unit:V>

    I think that is a limitation of OWL; but maybe someone is genius enought to find a better solution than mine.

    But u're right - maybe should posted on techof...

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.