On 1/04/2016 3:31, Steve Ray wrote:

Thanks, Holger. I was afraid that was what you’d say.

Another option I could use would be to unleash my second set of rules only when the first set of rules has finished iteratively firing. The only way I can think of doing this at present is to invoke the reasoner from a SPARQLMotion script or SWP code, which could then do the second import of rules and invoke the reasoner again. However, I want to be able to use the TBC development environment to examine the results. If I use SPARQLMotion or SWP, I think I lose that, right?


Yes, the concept of inferences graph that is part of the currently open TBC model is TBC-specific. You could still use SM or SWP scripts within TBC, but the resulting inferences would have to be copied into the inferences graph by other means.

Holger


- Steve

Steven R. Ray, Ph.D.

Distinguished Research Fellow

Carnegie Mellon University

NASA Research Park

Building 23 (MS 23-11)

P.O. Box 1
Moffett Field, CA 94305-0001

Email: [email protected]

Phone: (650) 587-3780

Cell:      (202) 316-6481

Skype: steverayconsulting

cid:[email protected]

*From:*[email protected] [mailto:[email protected]] *On Behalf Of *Holger Knublauch
*Sent:* Wednesday, March 30, 2016 10:06 PM
*To:* [email protected]
*Subject:* Re: [topbraid-users] Unexpected behavior of spin:constructor

On 31/03/2016 9:52, Steve Ray (CMU) wrote:

    Hi,

    I just wanted to check if I’m misunderstanding the behavior of
    spin:constructor.

    I built a toy system with one class (Thing_1) containing a
    spin:constructor that creates a single triple:

    *CONSTRUCT*{

    *?this*rdfs:label ?type.

    }

    *WHERE*{

    *?this*a ?type.

    }

    So far so good. I can go to Instance view and create an instance,
    and sure enough, it gets created with the label set to the rdf:type.

    Here’s the problem:

    I create a separate file that declares a single triple:

    data:Thing_1_1

      rdf:type constructorTest:Thing_1 ;

    .

    If I import that file into the class-declaration file, I expect
    the constructor to fire. But no, nothing happens.

    My question is, why not? What constitutes the act of creating a
    new instance?


Constructors are not run when you add an import statement - figuring out all consequences of such a global action would be quite difficult. They do get run when you create a new instance from the TBC editors and menu actions.


I have attached the two toy files in case that makes it easier to understand my question.

(My motivating goal is, given a large data file, I want a bunch of properties to get populated when I import it. I had been using spin:rules to do that, but I want to reserve the rules for subsequent calculations, once all those initial properties get created.)


I guess spin:rules are the only real solution here. You could mark all instances that you have already "seen", e.g. by inferring another flag (either directly at the resource or as another object pointing at your instances).

Holger

--
You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN. To post to this group, send email to [email protected] <mailto:[email protected]>
---
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 Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
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 Group "TopBraid 
Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), 
Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- 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.

Reply via email to