# Test whether a schema mentions the predicates used in this data
#  This involves searching in files for statements being present or absent.
 
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s: <http://www.w3.org/2000/01/rdf-schema#> .
# @prefix daml:  <http://www.daml.org/2000/10/daml-ont#> .
# @prefix dpo:  <http://www.daml.org/2001/03/daml+oil#> .
# @prefix ex:   <http://www.daml.org/2000/10/daml-ex#> .
@prefix log:  <http://www.w3.org/2000/10/swap/log#> .

@prefix : <foo.n3#>.  # Local stuff

# @prefix foo: <http://www.w3.org/2000/10/swap/test/includes/foo.n3#>.  # Local stuff
@prefix foo: <notinc.n3#>.  # Local stuff


@forAll :d, :o, :p, :s, :S, :s1, :x, :y, :F, :G, :H.

<fred> :schema <foo.n3>.

{     :p :schema :s.
      :s log:semantics [log:notIncludes { :p a rdf:Property }].
} log:implies {
      :p a :ERROR_SPELLING_MISTAKE_MAYBE.  # ;-)
}.


log:implies a log:Chaff.  #  Clear out rules on -purge


########################### Old stuff:

#{ :p a :UsedProperty.
#  :p log:semantics :H.
# } log:impliesXX {:H a :schemaFormula }.

#{ foo:is log:semantics :H.
#   :H log:includes { foo:is a rdf:Property }
#} log:implies { :H a :success1 }.

#{ foo:is log:semantics :H.
#   :H log:includes { foo:is a rdf:Property }
#} log:implies { foo:is a :defined_as_prop_in_schema }.

#{  :p a :UsedProperty.
#   :p log:semantics :H.
#   :H log:includes { :p a rdf:Property }
#} log:implies { :p a :defined_as_property_in_ns_doc1 }.

#{ <foo.n3#is> log:semantics :H.
#  :H log:includes { :p s:isDefinedBy :x }} log:impliesXX { :p a :defined_in_schema2 .
#    :p  :is_defined_in2 :x.
#    :H :is :whatFooIsResolvedTo2 }.

# { :p a :defined_in_schema.  :p a :UsedProperty } log:implies { :p a :UsedAndDefined }.


 
#ends
