Hello John; I'm assuming what you want in the end is to state that all
members of the class Title need to have at least one hasSource
property whose value is a member of Source.  When that definition is
violated, you want a constraint violation warning.  Is that correct?

If so, then it's not an "inference" to begin with and not something
that OWL reasoners do very well anyway.  I'll give you a way to do
this with SPIN constraints, then ask some follow-ups to your
questions.

1. Import Top/Braid/SPIN/spin.rdf into your model.
2. Add the following spin:constraint query to the class definition of
Title:

# members of Title must have a hasSource property
ASK WHERE {
    NOT EXISTS {
        ?this :hasSource ?source .
    } .
}

3. Turn on Display Constraint Violation Warnings (yellow icon in top
icon tray of Composer)

When you open an instance that violates your constraint (not having
the property in this case), the yellow warning will appear along with
the explanation in the top comment of the query.

If you want OWL-compliant constraints, follow the above, but instead
of step 2, import TopBraid/SPIN/owlrl-all.rdf into your model.  The
constraints and inference rules for OWL 2 RL are found in owl:Thing.
Note that the type of constraint violation describe above is not
supported in OWL 2 RL.


I may not be on track, so let me know.  More directly to your
questions, I was not able to reproduce your bnode creation, so I'd
have to ask for some more information, such as which inference engine
are you using, how was the restriction stated (copy/paste the
owl:equivalentClass restriction and send that).

Not all reasoners will provide explanations of the inference.  SPIN
does, OWLIM and Pellet do not.

-- Scott

On May 26, 1:11 pm, John Perdoni <[email protected]> wrote:
> Hi, still learing owl and tbc and I am wondering if you could clarify
> something for me.
>
> I have an instance called Title with another called Published book
> which is a subclass of Source
>
> ie
>
> Owl Thing
>        Title
>        Source
>               PublishedBook
>
> I have added a owl:equivelent class restriction to an object property
> hasSource within the Title class,  ie hasSource some Source
>
> 1) when i run inferencing on a newly added instance of Title that has
> no hasSource object assigned, the inferencing infers a blank node as a
> source and 8 other blank nodes as members of Source.
>
> 2) when the same instance then has a source object assigned to it  the
> inferred blank node goes away, but I am still left with  8 other blank
> nodes that ie: _b1 rdf:type Source, if i run inferncing again these
> nodes just seem to multiply.
>
> 3) When I remove the restriction completely, I cannot do not see any
> blank nodes left over. and all other restrictions (all cardinality
> ones) work fine.
>
> Am i missing something , do i have some other restriction configured
> wrongly, any help tips or tricks on how to troubleshoot inferencing
> issues    (i have yet to be able to get a message from the lightbulb)
> would be much appreicated.
>
> thanks in advnance
>
> John

-- 
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
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-users?hl=en

Reply via email to