automatic classification?

27 views
Skip to first unread message

Bohms, H.M. (Michel)

unread,
Feb 11, 2015, 8:14:04 AM2/11/15
to topbrai...@googlegroups.com

Suppose i have a class X and subclass XSmall

And property length

 

I define for XSmall an equivalentclass: (X and  (length only xsd:float[< "10"^^xsd:float]))

 

 

I now have an instance of X being x with value 5 for length

 

What reasoner do I have to run to infer: x rdf:type XSmall?

 

Or am I doing something wrong in principle….

 

(swiftowlim is in my scenario…)

 

Thx michel

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

Holger Knublauch

unread,
Feb 11, 2015, 7:12:30 PM2/11/15
to topbrai...@googlegroups.com
I don't think any of the built-in reasoners of TopBraid understand custom datatypes. It should be a doable extension to the SPIN OWL RL model, similar how spinowl.ttl already supports constraint checking on such user-defined datatypes.

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 topbrai...@googlegroups.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 topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 3:16:45 AM2/16/15
to topbrai...@googlegroups.com

Hi Holger

 

Ok, thx. Could you give me a hint on how to do this with SPIN or would it really require an extension of spin itself?

Guess it a kind of global spin rule you would attach to “any individual” iso to a class?

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

David Price

unread,
Feb 16, 2015, 5:26:00 AM2/16/15
to topbrai...@googlegroups.com
I think some of the commercial reasoners can handle this, but you’d need to investigate that yourself.

However, the example given is trivial to write using a SPIN rule on the superclass X to construct a rdf:type statements referencing the subclass XSmall for all instances of X where length < 10 - something like

CONSTRUCT { ?this a ex:Xsmall . }
WHERE {
?this ex:length ?length .
FILTER(?length < 10 )
}.

If you need this as a general capability, and want to define things in OWL but use SPIN for inference then seems like you could probably construct the model SPIN rules by writing meta-model SPIN rules on owl:Restriction, etc. reading the OWL itself looking for cases of <, >, = , <= !=, >=, etc being used in the restriction of datatype properties with simple XSD datatype ranges.

Cheers,
On 16 Feb 2015, at 08:16, Bohms, H.M. (Michel) <michel...@tno.nl> wrote:

Hi Holger
 
Ok, thx. Could you give me a hint on how to do this with SPIN or would it really require an extension of spin itself?
Guess it a kind of global spin rule you would attach to “any individual” iso to a class?
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
 
From: topbrai...@googlegroups.com [mailto:topbrai...@googlegroups.com] On Behalf Of Holger Knublauch
Sent: donderdag 12 februari 2015 1:12
To: topbrai...@googlegroups.com
Subject: Re: [topbraid-users] automatic classification?
 
I don't think any of the built-in reasoners of TopBraid understand custom datatypes. It should be a doable extension to the SPIN OWL RL model, similar how spinowl.ttl already supports constraint checking on such user-defined datatypes.

Holger


On 2/11/2015 23:13, Bohms, H.M. (Michel) wrote:
Suppose i have a class X and subclass XSmall
And property length
 
I define for XSmall an equivalentclass: (X and  (length only xsd:float[< "10"^^xsd:float]))
 
 
I now have an instance of X being x with value 5 for length
 
What reasoner do I have to run to infer: x rdf:type XSmall?
 
Or am I doing something wrong in principle….
 
(swiftowlim is in my scenario…)
 
Thx michel
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
 
-- 
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 topbrai...@googlegroups.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 topbraid-user...@googlegroups.com.
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 topbrai...@googlegroups.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 topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 5:33:33 AM2/16/15
to topbrai...@googlegroups.com

Of course, the ”type of super class” should always hold so this is a good “anchor place”!

 

And I now understand also Holger’s reply also dealing with the meta-level/automatic rule generation….

 

Thx a lot!

Michel

 

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 8:16:53 AM2/16/15
to topbrai...@googlegroups.com

Hmm, strange, I tried what you said but it did not work (got no instance of subclass after running inference)…

 

If anybody knows what I did wrong..thx a lot!

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

From: topbrai...@googlegroups.com [mailto:topbrai...@googlegroups.com] On Behalf Of David Price


Sent: maandag 16 februari 2015 11:26

hellingbaan.ttl
hellingbaan.ttl.tbc

Scott Henninger

unread,
Feb 16, 2015, 9:54:16 AM2/16/15
to topbrai...@googlegroups.com
Michel; using SPIN to generate this inference is very straightforward.  Create a SPIN file and make sure inferencing is configured to use TopSPIN.

Create your model, per below and in the class X, property spin:rule, add this rule:
CONSTRUCT {
    ?this a unnamed:XSmall .
}
WHERE {
    ?this unnamed:length ?length .
    FILTER (?length < 10) .
}

Run inferences and you will get the classification that is specified by the rule.

-- Scott

Scott Henninger

unread,
Feb 16, 2015, 9:56:15 AM2/16/15
to topbrai...@googlegroups.com
I didn't see this until later - this is precisely the same approach.

-- Scott

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 9:57:21 AM2/16/15
to topbrai...@googlegroups.com

Hi Scott, I tried and do something wrong I guess, see later mail

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

David Price

unread,
Feb 16, 2015, 10:00:00 AM2/16/15
to topbrai...@googlegroups.com
You may need to tell TopSPIN to NOT “Filter redundant inferences” which is a checkbox under the Configure Inferences.

To test this kind of thing I open the data file and copy the rule down into the SPARQL pane, add ?this a <class where rule is defined> as the first part of the WHERE and change CONSTRUCT { whatever } to be SELECT * and see if anything makes it thru into the CONSTRUCT.

Cheers,
On 16 Feb 2015, at 13:16, Bohms, H.M. (Michel) <michel...@tno.nl> wrote:

Hmm, strange, I tried what you said but it did not work (got no instance of subclass after running inference)…
 
If anybody knows what I did wrong..thx a lot!
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
<hellingbaan.ttl><hellingbaan.ttl.tbc>

Scott Henninger

unread,
Feb 16, 2015, 10:01:10 AM2/16/15
to topbrai...@googlegroups.com
You have used spin:constructor instead of spin:rule.

-- Scott

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 10:10:34 AM2/16/15
to topbrai...@googlegroups.com

That was it, thx

 

Hmmm, why would such a constructed triple be redundant?

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 10:14:37 AM2/16/15
to topbrai...@googlegroups.com

Oeps, sorry. Did not look right..still not inferred..indeed only redy=undant info inferred now J

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

From: Bohms, H.M. (Michel)
Sent: maandag 16 februari 2015 16:11
To: 'topbrai...@googlegroups.com'
Subject: RE: [topbraid-users] automatic classification?

 

That was it, thx

 

Hmmm, why would such a constructed triple be redundant?

 

 

Dr. ir. H.M. (Michel) Bohms


Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

Scott Henninger

unread,
Feb 16, 2015, 10:17:37 AM2/16/15
to topbrai...@googlegroups.com
Michel; I think you mean the problem was that spin:construct was used, not spin:rule.  Redundant triples is not an issue in this scenario.

-- Scott

Bohms, H.M. (Michel)

unread,
Feb 16, 2015, 10:23:41 AM2/16/15
to topbrai...@googlegroups.com

Indeed, redundant triples wasnt the problem

Under rule it didn’t work because not saved first, now ok! Thx!

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

Bohms, H.M. (Michel)

unread,
Feb 17, 2015, 5:03:22 AM2/17/15
to topbrai...@googlegroups.com

Now that this subclass inferencing goes fine I see that constraint violation (and/or “show problems”) is not showing violations on the derived individual…

Was this to be expected?

 

Situation:

And the instance is:

 

 

So I expected a warning for the hellinghoek being not less than 3..

 

Thx again, Michel

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

David Price

unread,
Feb 17, 2015, 5:11:46 AM2/17/15
to topbrai...@googlegroups.com
You’ve not written any constraints as far as SPIN is concerned, it’s not reading rdfs:subClassOf restrictions with data type value operators. You need a commercial OWL reasoner to find those kinds of conflicts wrt restrictions as far as I’m aware.

You can write separate SPIN Constraints if you want violations reported. SPIN is more partitioned in that rules are for inference, not data validation, and constraints are for data validation, not inference.

Cheers,
On 17 Feb 2015, at 10:03, Bohms, H.M. (Michel) <michel...@tno.nl> wrote:

Now that this subclass inferencing goes fine I see that constraint violation (and/or “show problems”) is not showing violations on the derived individual…
Was this to be expected?
 
Situation:
<image001.png>
And the instance is:
 
<image002.png>
 
So I expected a warning for the hellinghoek being not less than 3..
 
Thx again, Michel
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
 
From: topbrai...@googlegroups.com [mailto:topbrai...@googlegroups.com] On Behalf Of Scott Henninger
Sent: maandag 16 februari 2015 16:01
To: topbrai...@googlegroups.com
Subject: Re: FW: [topbraid-users] automatic classification?
 

You have used spin:constructor instead of spin:rule.

-- Scott

On 2/16/2015 7:16 AM, Bohms, H.M. (Michel) wrote:
Hmm, strange, I tried what you said but it did not work (got no instance of subclass after running inference)…
 
If anybody knows what I did wrong..thx a lot!
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Bohms, H.M. (Michel)

unread,
Feb 17, 2015, 5:23:39 AM2/17/15
to topbrai...@googlegroups.com

Ok, clear!

 

But then I would expect a warning after adding the equivalent spin:constraint:

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

David Price

unread,
Feb 17, 2015, 5:51:23 AM2/17/15
to topbrai...@googlegroups.com
The logic of your constraint is backwards - the constraint should say "> 3” as you’re trying to construct constraint violations.

Cheers,
On 17 Feb 2015, at 10:23, Bohms, H.M. (Michel) <michel...@tno.nl> wrote:

Ok, clear!
 
But then I would expect a warning after adding the equivalent spin:constraint:
<image001.png>
 
 
Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability
T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Bohms, H.M. (Michel)

unread,
Feb 17, 2015, 5:56:15 AM2/17/15
to topbrai...@googlegroups.com

Thx, no wit works exactly as I hoped!

Michel

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

Bohms, H.M. (Michel)

unread,
Feb 25, 2015, 8:51:27 AM2/25/15
to topbrai...@googlegroups.com

Thx, using spinowl instead now, works ok!

 

 

Dr. ir. H.M. (Michel) Bohms
Sr. Research Scientist
Structural Reliability

T +31 (0)88 866 31 07
M +31 (0)63 038 12 20
michel...@tno.nl

Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

From: topbrai...@googlegroups.com [mailto:topbrai...@googlegroups.com] On Behalf Of Holger Knublauch


Sent: donderdag 12 februari 2015 1:12
To: topbrai...@googlegroups.com
Subject: Re: [topbraid-users] automatic classification?

 

I don't think any of the built-in reasoners of TopBraid understand custom datatypes. It should be a doable extension to the SPIN OWL RL model, similar how spinowl.ttl already supports constraint checking on such user-defined datatypes.

Reply all
Reply to author
Forward
0 new messages