On Apr 20, 2011, at 5:56 AM, Irene Polikoff wrote:
> Scott’s suggestion is very specific to what you are wanting to do with age. 
> In addition to it, here is a pretty detailed example with screenshots showing 
> how you can add a more generic 
> rule:http://dallemang.typepad.com/my_weblog/2010/08/extending-owl-rl-.html

Yes, and in fact we have done some of this already, in the file spinowl.owl 
that is included in the TopBraid/SPIN folder. Please look at the Turtle file 
below, that defines a user-defined datatype to restrict a Person's age >= 0. 
You just need to either owl:import or spin:import the spinowl file and activate 
constraint checking to get the violation reported on screen.



The spinowl.owl file contains generic constraints against the OWL user-defined 
datatypes vocabulary. It may not cover all cases, but it's hopefully a good 
start. You can either use owl:imports to get this file into your model, or use 
spin:imports. spin:imports is the better option because it does not "pollute" 
your model with constraints etc that are only used at inferencing/checking 
time. You can either define spin:imports as a local property, or import spin, 
or import imports.rdf (which only defines the spin:imports property). I will 
try to make importing this file more convenient through the Profiles tab in 
3.5.0.

Cheers,
Holger


# Saved by TopBraid on Wed Apr 20 10:36:57 EST 2011
# baseURI: http://sandbox.org/facet
# imports: http://spinrdf.org/imports

@prefix :        <http://sandbox.org/facet#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix spin:    <http://spinrdf.org/spin#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://sandbox.org/facet>
      rdf:type owl:Ontology ;
      spin:imports <http://topbraid.org/spin/spinowl> ;
      owl:imports <http://spinrdf.org/imports> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

:Person
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing .

:Person_1
      rdf:type :Person ;
      rdfs:label "Person 1"^^xsd:string ;
      :age    -1 .

:age  rdf:type owl:DatatypeProperty ;
      rdfs:domain :Person ;
      rdfs:label "age"^^xsd:string ;
      rdfs:range
              [ rdf:type rdfs:Datatype ;
                owl:onDatatype xsd:integer ;
                owl:withRestrictions
                        ([ xsd:minInclusive 0
                          ])
              ] .

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

<<inline: facet-violation.png>>

Reply via email to