Hello
On a related problem when using an "instance" model that imports a "class"
model where I have a spin:rule defined, I'm seeing some weirdness in the
namespace prefix used in the spin:rule.
When looking at it in my "class" model (Relex.owl) the query looks like below:
CONSTRUCT {
?this Relex:failureRate ?rate .
}
WHERE {
?this Relex:ratio ?ratio .
?this Relex:refsSystem ?system .
?system Relex:failureRate ?sysRate .
LET (?rate := SpinLib:ratioToRate(?ratio, ?sysRate)) .
}
However, when I look at the same query from the context of an "instance" model
that imports Relex.owl, the spin:rule changes to look like below:
CONSTRUCT {
?this Relex:failureRate ?rate .
}
WHERE {
?this Relex:ratio ?ratio .
?this Relex:refsSystem ?system .
?system Relex:failureRate ?sysRate .
LET (?rate := :ratioToRate(?ratio, ?sysRate)) .
}
As you can see, for some reason the namespace prefix is getting stripped off
the ratioToRate function. When I try to then run inferences on the instance
model, I get an "Unresolved prefixed name: :ratioToRate" error. Any ideas on
why the prefix may be getting stripped off like that when viewed/ran in the
context of the instance model? FWIW, The instance ontology doesn't have a
Default Namespace defined for it.
Thanks,
Jeff
-----Original Message-----
From: Scott Henninger [mailto:[email protected]]
Sent: Friday, April 03, 2009 2:11 PM
To: TopBraid Composer Users
Subject: [tbc-users] Re: SPIN Inference with import
Jeff; In Composer create a new file (does not need to be a SPIN file) and
import spinsquare. Any instances you add will be added to that file, but as
long as they are instances of, e.g., spinsquare:Rectangle, the SPIN rules will
apply.
Insofar as the import statement is concerned, the below n3 file is missing the
import comment:
# imports: http://topbraid.org/examples/spinsquare
...also a good idea to include the base URI comment, e.g.:
# baseURI: http://SupportQuestions.com/unnamed0
-- Scott
On Apr 3, 1:41 pm, Jeff <[email protected]> wrote:
> hello,
> Using the spinsquare.n3 model I'm able to get the rectangle area
> inference to work correctly. However, I would like to be able to
> create an "instance" model that imports the spinsquare model, add
> instances of Rectangle to the instance model and get the SPIN area
> inference to work on all the instance model rectangles by running the
> topSPIN inferences on the instance model. Is there a way to do this?
> I have tried but can't seem to get it to work, neither in code nor in
> Topbraid composer. Below I've pasted my instance model in full. It's
> interesting that the namespaces for the spin models weren't created,
> even though I did explicitly import them all.
>
> @prefix spinsquare: <http://topbraid.org/examples/spinsquare#> .
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix owl: <http://www.w3.org/2002/07/owl#> .
> @prefix : <http://topbraid.org/examples/spinsquareinst#> .
>
> spinsquare:TestInstRectangle
> a spinsquare:Rectangle ;
> rdfs:label "Test rectangle"^^xsd:string ;
> spinsquare:height 6 ;
> spinsquare:width 8 .
>
> <http://topbraid.org/examples/spinsquareinst>
> a owl:Ontology ;
> owl:imports <http://topbraid.org/examples/spinsquare> , <http://
> spinrdf.org/spin> , <http://spinrdf.org/sp> , <http://spinrdf.org/
> spl> , <http://www.boeing.com/IVHM/SpinLib.owl> ;
> owl:versionInfo "Created with TopBraid Composer"^^xsd:string .
>
> Thanks,
> Jeff
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---