Michel;  Yes you can do owl:same as inferences with SPIN.  The
following is a spin:rule that will infer all of the properties that
make instances equivalent:
CONSTRUCT
{  ?this ?aprop ?value .
    ?arsc ?aprop2 ?value2 .
}
WHERE
{   ?this owl:sameAs ?arsc .
    ?arsc ?aprop ?value .
    ?this ?aprop2 ?value2 .
}

If you don't want, for example, type triples to be inferred, you can
filter these with  FILTER ((?aprop2 != rdf:type) && (?aprop !=
rdf:type)).  In this way it is more flexible than OWL semantics.

Also, in your script, you have the following in your
IfcExtrudedAreaSoliddefinition:

CONSTRUCT {
    ?this :Depth ?Depth .
    ?this :SweptArea ?IfcRectangleProfileDef .
    ?IfcRectangleProfileDef :XDim ?XDim .
    ?IfcRectangleProfileDef :YDim ?YDim .
}
WHERE {
    ?this :height ?height .
    ?this :lenght ?length .
    ?this :width ?width .
    LET (?Depth := ?height) .
    LET (?XDim := ?length) .
    LET (?YDim := ?width) .
}

This fail to construct any triples because ?IfcRectangleProfileDef  is
not bound to avalue.

-- Scott

On Mar 1, 5:09 am, "Bohms, H.M. (Michel)" <[email protected]> wrote:
> Hi Scot,
>
> - unfort. TopSpin first doesn't solve the problem.
> - I have OWLIM in to do the inference of the equivalent instances... 
> (assuming TopSpin does not do this...maybe wrong...)
>
> Cheers, Michel
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Scott Henninger
> Sent: 26 February 2009 16:10
> To: TopBraid Composer Users
> Subject: [tbc-users] Re: Trying to CONSTRUCT a graph involving more than 1 
> triple template (TBC version 3.0.0.62)
>
> Michel; Thanks for sending both the ontology and .tbc file!  I took a look at 
> the SPIN rules and don't see a obvious issues.  I'm unclear on what what role 
> the OWLIM inference plays in your inferences, but it seems to me that 
> reversing the order of inference engines may work.
> I.e. running TopSPIN first, then OWLIM.
>
> -- Scott
>
> On Feb 26, 6:45 am, Michel Bohms <[email protected]> wrote:
> > Dear all,
>
> > I try to use SPIN/Sparql for mapping from one ontology to another,
> > actually from a semantic ontology featuring a Wall with a length,
> > width and height to two alternative, derived representations: one in
> > the form of a BoundingBox, one in the form of a ExtrudedAreaSolid.
>
> > The first one is quite simple and is easily inferred with combo of
> > Swift/TopSpin (the spin:rule is also trivial) The second is giving me
> > problems since the CONTRUCT graph is more complex here.
>
> > Currently I cannot find many examples for such situations so maybe I
> > am making some sparql mistake in my spin:rule.
>
> > For the moment the base mapping is started by making Wall and the two
> > reps. equivalent classes (so that SWIFT starts to infer/construct the
> > reps first; maybe I change this later in "no equivalence+adapted
> > rules" ie construct the rep classes first in my CONSTRUCT after adding
> > an objectproperty like "representation" for Wall, but this aside).
> > Next I try to construct via my rule the properties of the
> > ExtrudedAreaSolid. Since this is an objectproperty ("SweptArea") I
> > also want to construct properties "further in the graph".
>
> > After inferring however, the are not even instances of the SweptArea
> > range class (being "IfcRectangleProfileDef", let alone values for its
> > properties calculated via the LET clauses (XDim and YDim).
>
> > What I can think of is that the reasoners have problems with the
> > underlying types of the involved datatype properties, not being simple
> > floats, but user-defined datatypes (PostiveLengthMeasures). However,
> > guess this cause is unlikely.
>
> > Any help very much appreciated! (when I get this one to work I have
> > the feeling I get get 'anything' to work with SPIN/Sparql ...:)
>
> > Michel Bohms
>
> > ps
> > I hope the attachments work
>
> > mu .owl.tbc file content:
> > # Saved by TopBraid on Thu Feb 26 13:23:15 CET 2009 # baseURI: null
>
> > @prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
> > @prefix inference:  <http://www.topbraid.org/2007/06/inference.owl#> .
> > @prefix visual:  <http://topbraid.org/visual#> .
> > @prefix owl:     <http://www.w3.org/2002/07/owl#> .
> > @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
> > @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> > @prefix forms:   <http://www.topbraid.org/2007/01/forms.owl#> .
> > @prefix composite:  <http://www.topbraid.org/2007/05/composite.owl#> .
>
> > []    a       inference:Configuration ;
> >       composite:child
> >               [ a       inference:SwiftOWLIMEngine ;
> >                 composite:index "0"^^xsd:int
> >               ] ;
> >       composite:child
> >               [ a       <http://spinrdf.org/spin#TopSPIN> ;
> >                 composite:index "1"^^xsd:int
> >               ] .
>
> > my ontology (cannot find how to have attachments to this mail...):
>
> > <?xml version="1.0"?>
> > <rdf:RDF
> >     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
> >     xmlns="http://www.tno.nl/mapping2#";
> >     xmlns:spin="http://spinrdf.org/spin#";
> >     xmlns:sp="http://spinrdf.org/sp#";
> >     xmlns:owl="http://www.w3.org/2002/07/owl#";
> >     xmlns:xsd="http://www.w3.org/2001/XMLSchema#";
> >     xmlns:owl11="http://www.w3.org/2006/12/owl11#";
> >     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";
> >     xmlns:spl="http://spinrdf.org/spl#";
> >   xml:base="http://www.tno.nl/mapping2";>
> >   <owl:Ontology rdf:about="">
> >     <owl:versionInfo rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >     >Created with TopBraid Composer</owl:versionInfo>
> >     <owl:imports rdf:resource="http://spinrdf.org/spin"/>
> >   </owl:Ontology>
> >   <owl:Class rdf:ID="IfcParameterizedProfileDef">
> >     <rdfs:subClassOf>
> >       <owl:Class rdf:ID="IfcProfileDef"/>
> >     </rdfs:subClassOf>
> >   </owl:Class>
> >   <owl:Class rdf:ID="Wall">
> >     <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/
> > owl#Thing"/>
> >   </owl:Class>
> >   <owl:Class rdf:ID="IfcBoundingBox">
> >     <owl:equivalentClass rdf:resource="#Wall"/>
> >     <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/
> > owl#Thing"/>
> >     <spin:rule>
> >       <sp:Construct>
> >         <sp:templates rdf:parseType="Collection">
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A0">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >XDim</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="XDim"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A1">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >YDim</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="YDim"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A2">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >ZDim</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="ZDim"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >         </sp:templates>
> >         <sp:where rdf:parseType="Collection">
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A3">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >length</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="length"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A4">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >width</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="width"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >           <rdf:Description>
> >             <sp:object>
> >               <rdf:Description rdf:nodeID="A5">
> >                 <sp:varName rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#string"
> >                 >height</sp:varName>
> >               </rdf:Description>
> >             </sp:object>
> >             <sp:predicate>
> >               <owl:DatatypeProperty rdf:ID="height"/>
> >             </sp:predicate>
> >             <sp:subject rdf:resource="http://spinrdf.org/spin#_this"/>
> >           </rdf:Description>
> >           <sp:Let>
> >             <sp:expression rdf:nodeID="A3"/>
> >             <sp:variable rdf:nodeID="A0"/>
> >           </sp:Let>
> >           <sp:Let>
> >             <sp:expression rdf:nodeID="A4"/>
> >             <sp:variable rdf:nodeID="A1"/>
> >           </sp:Let>
> >           <sp:Let>
> >             <sp:expression rdf:nodeID="A5"/>
> >             <sp:variable rdf:nodeID="A2"/>
> >           </sp:Let>
> >         </sp:where>
> >       </sp:Construct>
> >     </spin:rule>
> >   </owl:Class>
> >   <owl:Class rdf:ID="IfcSweptAreaSolid">
> >     <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/
> > owl#Thing"/>
> >     <rdfs:subClassOf>
> >       <owl:Restriction>
> >         <owl:onProperty>
> >           <owl:DatatypeProperty rdf:ID="SweptArea"/>
> >         </owl:onProperty>
> >         <owl:cardinality rdf:datatype="http://www.w3.org/2001/
> > XMLSchema#int"
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TopBraid Composer Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/topbraid-composer-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to