Scott,

Thank you for the reply, with reference to whether you are on the
right track in answering my questions, the answer is yes and also, yes
I do want to constrain the members of the class title to have at least
one hasSource property whose value is a member of source, but I also
want to define the class as per best standards (apologies if this is
not the correct terminology).

Going over what you said yesterday, I have started from scratch and
here are my findings and additional questions.

1) I created a new project with a new rdf/owl/spin file named
test2.owl
2) With default settings, I created the aformentioned class structure
and properties, added two instances, one title and one source.
3) Added the owl equivalent restriction

:Title
      a       owl:Class ;
      rdfs:label "Title"^^xsd:string ;
      rdfs:subClassOf owl:Thing ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:onProperty :hasSource ;
                owl:someValuesFrom :Source
              ] .

4) Checked the inferencing setup and it was set up with TopSpin as
default and ran inferencing, upon which i got no inferred triples.

5)removed topspin and replaced with Jena, using this engine replicates
the problems I was having yesterday, ie blank nodes being added as
instances to the source class,  3 initially then 6,9,12.. for each
extra run of the engine, each of type

_:b1  a       :Source ;
      =       _:b1 .

6)reset and removed jena, added pellet, no blank node problem but
pellet added all the sp, spl and spin prefixes as a subset of
owl:thing, I presume this is normal.

7)reset and removed pellet, added owlim, all looked ok.

8)reset and removed owllim and put back TopSpin, no inferences at all,
this also goes for running any of the tutorials,eg the getting started
guide.

9) created a new file unamed1.owl with default imports

<http://cortext.net/britishStandard/unnamed1>
      a       owl:Ontology ;
      owl:imports <http://spinrdf.org/spin> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

created and ran the same above, same results, ie Topspin engine not
working.


10)Imported the rest of the spin files so that the original test2 file
was as follows

<http://cortext.net/britishStandard/test2>
      a       owl:Ontology ;
      owl:imports <http://spinrdf.org/sp> , <http://topbraid.org/spin/
owlrl-all> , <http://spinrdf.org/imports> , <http://spinrdf.org/
spin> , <http://topbraid.org/spin/owlrl> ;
      =       <http://cortext.net/britishStandard/test2> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

Subsequent to step 10 TopSpin started working.

Apologies for the lack of knowledge here, and I seem to have found a
resolution to my problem,  but i wonder if you could clarify the
following.

1)Do all the Spin namespaces have to be imported in order for the
TopSpin engine to work, if not all which ones specifically.

2) With reference to your ask query , up until now I have been
implementing something similar by right clicking on the pull down on
spin:constraint, selecting Create from Spin Template, choosing
attribute and filling in the relevant settings there, my question is ,
is this the same as what you suggest, if not what are the differences.

3) I understand that there are major differences with the different
types of inferencing engine, depending on what model you have, and
somewhere in the help files (apologies i cannot find it a the moment)
you used to be able to check what owl model you were running, but this
option seems to have been removed. What engine should i use if I want
owl2 functionality with a view later to using uispin.

4) How do i get the statistics tab to show, I have owl files but no
tab, and it is not listed under window/show view.

5) And finally when do you plan to support flex4 and have you any
plans to run training courses within the uk.

Thanks once again for your continued help, im sure it wont be the last
time i call on you.

John


On May 26, 7:56 pm, Scott Henninger <[email protected]>
wrote:
> 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- Hide quoted text -
>
> - Show quoted text -

-- 
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