On 24/11/2017 9:59, Martynas Jusevicius wrote:
I thought spin:Template (possibly with arguments) can be used anywhere
sp:Query can be used, including constructors?
Yes, that should work. I thought you wanted to use constructors with
parameters specific to each instance, like someone would call a Java
constructor.
Holger
On Thursday, November 23, 2017 at 11:44:22 PM UTC+1, Holger Knublauch
wrote:
Hi,
SPIN constructors don't have a facility for parameters, making
their use rather limited. Given that SPIN is not an official
standard anyway, why not make up your own property and do what you
want there?
Holger
On 24/11/2017 4:25, Martynas Jusevicius wrote:
Hi,
I am using this code to construct class instance:
List<Resource> newResources = new ArrayList<>();
Set<Resource> reachedTypes = new HashSet<>();
OntModel ontModel = forClass.getOntModel();
Map<Resource, List<CommandWrapper>> class2Constructor =
SPINQueryFinder.getClass2QueryMap(ontModel, ontModel, property,
false, false);
SPINConstructors.constructInstance(ontModel, instance,
forClass, targetModel, newResources, reachedTypes,
class2Constructor, null, null, null);
Is it possible to pass initial binding(s) to constructors at
runtime? Something that would correspond to:
:ConstructorWithBase a spin:Template ;
spin:body :OriginalConstructor ;
spin:constraint [ a spl:Argument ;
spl:predicate :base ;
spl:valueType rdfs:Resource
] ;
Does that mean I have to walk all the constructors and turn them
into spin:Templates with arguments as above? Which would require
me to copy the model, as it is reused by different applications
passing different arguments.
Ultimately I am looking for a way to pass a base URI into the
query (in a generic way). Right now I have written my own version
of constructInstance() that simply accepts and sets BASE on the
query, but I would like to reuse SPIN machinery if possible, and
a binding would work as well.
Martynas
atomgraph.com <http://atomgraph.com>
--
You received this message because you are subscribed to the
Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected] <javascript:>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "TopBraid
Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.