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