POWDER and OWL

Stasinos tried to send this to the public list earlier. It may yet 
appear but I'm forwarding it now in case of difficulties so we can have 
the maximum time to review it before the meeting later today.

Cheers

Phil.


From: Stasinos Konstantopoulos <konstant@iit.demokritos.gr>
To: public-powderwg@w3.org
Cc: vangelis@iit.demokritos.gr, pnas@iit.demokritos.gr
Subject: POWDER and OWL

Dear POWDER,

We are investigating the appropriateness of using OWL for POWDER, with
respect to these two issues:

(a) how to represent URI groups, treated in the "powder-grouping"
     document [1], and

(b) how to specify correspondences between a resource's falling under
     a URI group, and this resource's carrying certain descriptors (e.g.
     ICRA tags) and belonging to a certain class (e.g. child-safe or
     mobileOK).

We hope that the following is going to advance the discussion and help
today's telco.

Stasinos Konstantopoulos
Vangelis Karkaletsis
Pantelis Nasikas


GROUPING RESOURCES
==================

Andrea Perego has been working on an RDF/OWL compliant representation
of address constraints, where he defines, in OWL, a concept URI
carrying datatype properties like wdr:hasHost, wdr:hasPort,
wdr:hasPath, etc. These are treated as uninterpreted strings, but are
related to Description Resources which match the URI groups against
descriptors. Andrea has been looking into specifying a mapping of this
OWL representation onto a SemWeb rule language, which allows RegEx
matching. When a resource's URI matches the rule's antecedents, the
corresponding action is fired. The action will be such, that it adds
the appropriate descriptors to the resource [2,3].

We have also investigated a totally different approach, whereby the
whole process is defined within OWL semantics and can be treated by a
Description Logic reasoner, such as Pellet [4]. In this approach, the
concepts of "Scheme", "Host", "Port", "Path" etc. are specified. A
given URI is decomposed into its elements, and a URI instance is
related with a Scheme instance, a Host instance, a Port instance, etc.

In this manner, URIs are broken down into ontological entities, so one
can refer to, say, all URIs having the same host, without resorting to
string comparisons/regex matching. URI groups are defined with OWL
logical expressions like the one in the attachment, which corresponds
to Example 2.2 in the powder-grouping document. A resource's belonging
or not to a group is inferred by DL reasoning, and the descriptor
properties that are attached to the the URI Group are automatically
inherited by the resource.

Although it works for simple address groupings, this approach has
several shortcomings. Firstly, the model is pretty cumbersome and
artificial, with several inter-related (not orthogonal) relations
(e.g. endsWithPath "foo/bar" endsWithPath "bar"), which will render
population and maintenace of such a knowledge base difficult and
error-prone. Note that interdependent relations cannot be inferred
from one another, because of the limitations of DL reasoners at
manipulating and reasoning over concrete objects (in our case, URI
strings) as well as theoretical limitations of the OWL formalism
itself w.r.t. defining relations (e.g., axiomatizing that that
individual i must have relation endsWithPath "bar", if it has relation
endsWithPath "foo/bar").

Futhermore, RegEx matching of data-property values is not supported by
OWL, so that it is also impossible to formulate OWL descriptions of
grouping by RegEx. As a result, we consider DL reasoning and OWL
semantics inappropriate for inferring a resource's belonging in a URI
group. An alternative approach to be explored, similar to Andrea's
original approach, is to embed SWRL rules in the knowlegde base, that
will "transfer" descriptors from a DR to a resource, when the
necessary conditions are met.

SRWL rules are represented as instances of a sub-ontology that is
stored in the KB, but not related or linked to the main ontology. The
instances are used by rule engines that are invoked after each update
of the KB to infer new facts. These new facts are explicitly written
back in the KB, so that they can be accessed by the DL reasoner. The
Protege library provides all the necessary tools for managing an OWL
ontology, using a DL reasoner to infer implicit facts, and making
these facts available to ontology query engines such as Jena. A
different tool is required in order to invoke a SWRL rule engine to
infer facts and write them back to the OWL KB before the DL is
invoked. There is a vast array or rule engines available, and Protege
provides a SWRL Bridge [6] mechanism for facilitating this procedure,
but only provides the "translation" from the OWL represenation of SWRL
to the native represenation of Jess [7], a commercially sold SWRL rule
engine.

Consider, for example, the simple ontology attached (example3.owl).
URIGroupDefinitionByRegEx g has a string property which is the pattern
to be matched. When the pattern matches, a new relation is drawn
between the URI group g and the resource r:

IF ResourceClassification(?r) AND resourceURI(?r, ?u) AND
ByRegEx(?g) AND regEx(?g, ?re) AND swrlb:matches(?u, ?re)
THEN subsumesURI(?g, ?r)

where swrlb:matches() is a SWRL built-in which performed the actual
pattern matching. Note that ResourceClassification instances couple
resources with a time-point (the time when the resource was
classified), since DRs (and hence classifications based on then) have
a limited lifetime. A second rule is necessary to make the actual
transfer of propoerties to matching resources:

IF ICRAdescriptionResource( ?d ) AND
temporal:hasValidTime(?d, ?period) AND
ResourceClassification(?r) AND
resourceURI(?r, ?rURI) AND temporal:hasValidTime(?r, ?day) AND
temporal:contains(?period, ?day, temporal:Days) AND
hasScope(?d, ?g) AND subsumesURI(?g,?rURI)  AND
icra:nz(?d, ?v)
THEN icra:nz(?r, ?v)



RESOURCE CLASSIFICATION
=======================

Given that a resource falls under a URI group, the resource inherits a
number of descriptors. Based on which descriptors are true for a
resource, the resource is classified as appropriate or not. In the
ICRA and MOK use cases, we could not identify any situations where
resources are classified according to anything more complex than the
presence or absence of a given descriptor. Furthermore, these
descriptrors are typically flat labels, not participating in any
ontological structure.

For this reason, it seems that a propositional prover is adequate for
classifying resources, and will even be adequate if the descriptors
were hierarchically organzed, as long no references were required to
relations between descriptors. To give an example, consider the ICRA
labels and a definition along of the concept of ChildSafe resources,
like the one provided by Phil Archer in the attachment to his Nov 16th
public-powderwg posting [5]. The relevant OWL fragment (attached),
means:

something is ChildSafe iff:
  it has property icra:oz with value true
AND
  it has property icra:vz with value true
AND
  it has property icra:lz with value true
AND
  it has property icra:sz with value true
AND
  it has property icra:cz with value true
AND
  it has property icra:nz with value true

Note that there are no relations between either the descriptors or the
resources described, which makes this fragment expressible by
propositional rules. Even in the presence of a hierarchy were, for
example, "sconz" and "allz" are inferred from sz, cz, oz, and nz, the
knowledge base:

something is in the ChildSafe class iff:
  it is in the Allz class

something is in the Allz class iff:
  it is in the Sconz class
AND
  it has property lz with value true
AND
  it has property vz with value true

something is in the Sconz class iff:
  it has property oz with value true
AND
  it has property sz with value true
AND
  it has property cz with value true
AND
  it has property nz with value true

would still be propositional.

To give an example of a situation where DL reasoning is necessary,
imagine that there is a wdr:linksTo property, relating resources that
link to each other and we want to only classify something as ChildSafe
if it only links to ChildSafe resources:

a resource is cp:ChildSafe iff:
  it is in the Allz class
AND
  for all properties wdr:linksTo it has, the filler values of these
  properties are resources that are also in the ChildSafe class.

or, a resource is MostlyChildSafe iff:
  it is in the Allz class
AND
  is has up to 5 linksTo properties, the filler values of which are
  resources that are not in the ChildSafe class.
  (this particular statement is only expressible in OWL 1.1)

Another example would be if descriptors were hierarchized as, say,
critical and non-critical; a possibly usefull class definition would
then be:

hasCriticallyBadFeature relations have their range restricted to
members of the CriticallyBad class.

hasBadFeature relations have their range restricted to members of the
Bad class.

a resource is MostlyOK iff:
  it has up to 0 hasCriticallyBadFeature relations
AND
  it has up to 3 hasBadFeature relations

which, again, requires OWL to be expressed.

The point behind this discussion is that OWL is a very expressive
formalism, and POWDER will should provide the adequate use cases to
justify its usage, as opposed to a simpler propositional formalism.


REIFICATION
===========

On the other hand, there is another aspect of DRs that DLs (and OWL)
are not expressive enough to capture, and that is the reification of
DR assertions, so that they can become the object of other assertions.
Again, in Phil's example2.owl [5], we read the assertion that a
resource is ChildSafe if it belongs to the FOSIchildSafe class, which
is a URI group:

   <owl:Class rdf:about="#FOSIchildSafe">
     <rdfs:subClassOf rdf:ID="CSassertion" rdf:resource="#ChildSafe"/>
   </owl:Class>

We then read that the assertion above is the object of a meta-assertion
that specifies the authority that makes the original assertion:

   <rdf:Statement rdf:about="#CSassertion">
     <foaf:maker rdf:resource="http://www.example.org/foaf.rdf#me"/>
   </rdf:Statement>

which is not expressible in OWL. One possibility (already outlined
above) is that DRs are treated as instances of a DR class, instead of
classes of resources. In this manner, DR instances can simply have
foaf:maker properties, just like the hasScope and
temporal:hasValidTime properties already seen above.



OWL, SWIRL and Non-monotonic Reasoning
======================================

Specifying defaults that can be overriden in the present of explicit
values, in an instance of non-monotonic reasoning, that is, of
reasoning where an assertion might invalidate previous assertions.
Neither OWL nor SWIRL semantics provide for non-monotonicity:
Asserting a fact about a subclass that runs contrary to previously
known facts about any of its superclass is invariably going to yield
an inconsistent knowledge base where both facts hold at the same time.

We can think of two ways to support defaults:

(a) by using extra-logical computaional machinery, which will apply a
different semantics than OWL to the statements in the DRs. For
example, one might imagine that only RegEx scoping is available to
SWRL rules, and any other grouping methods (e.g., address grouping
with exceptions) are provided as annotations to OWL (RDF resources
that are not in the owl: ns). Implementations that support such
extensions are responsible for compiling such grouping descriptions
into appropriate RegExs.

(b) by defining SWRL built-ins (which are arbitrary Java code executed
by SWRL rules) that do the "dirty" job of retracting the default
assertions from the KB when an exception is encountered. Using such
built-ins invalidates all theoretical results about decidability of DL
reasoning and DL-safe SWRL reasoning, and makes it possible to write
non-terminating SWRL rule sets.


CONCLUDING REMARKS
==================

The current RDF model [8] defines description of resources packages with
attribution, scope and properties. This model is far more flexible from
the old one (RDF-CL). The linkage between scope and properties is an RDF
element in the graph. In the Boston meeting there has been a proposal to
link scope and properties through OWL inheritance relationships. Some
variations of OWL inheritance for DRs have been explored and are
described above.

The main option we can see are the following:
(a) we use the OWL formalism, and interpret it according to custom
     POWDER semantics; and
(b) we use the OWL formalism, and interpret it according to OWL-DL
     semantics, sacrificing support for constructs not expressible in OWL;
(c) we continue developing the current RDF formalism.



[1] http://www.w3.org/TR/powder-grouping/
[2] 
http://lists.w3.org/Archives/Member/member-powderwg/2007Sep/att-0038/dr_and_rules.html
[3] http://lists.w3.org/Archives/Public/public-cwm-talk/2007AprJun/0002.html
[4] http://pellet.owldl.com/
[5] http://lists.w3.org/Archives/Public/public-powderwg/2007Nov/0013.html
[6] http://protege.cim3.net/cgi-bin/wiki.pl?SWRLRuleEngineBridgeFAQ
[7] http://herzberg.ca.sandia.gov/
[8] http://www.w3.org/TR/powder-dr/
  <owl:Class rdf:ID="RG_2_2">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:ID="hasPort"/>
            </owl:onProperty>
            <owl:allValuesFrom>
              <owl:Class rdf:about="#PortRange1"/>
            </owl:allValuesFrom>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="#hasHost"/>
            </owl:onProperty>
            <owl:hasValue rdf:resource="#host_01"/>
          </owl:Restriction>
          <owl:Class rdf:about="#Site"/>
          <owl:Class>
            <owl:complementOf>
              <owl:Restriction>
                <owl:hasValue>
                  <PortRange1 rdf:ID="port_5000">
                    <portNumber rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
                    >5000</portNumber>
                    <owl:differentFrom>
                      <PortRange1 rdf:ID="port_5100">
                        <portNumber rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
                        >5100</portNumber>
                      </PortRange1>
                    </owl:differentFrom>
                  </PortRange1>
                </owl:hasValue>
                <owl:onProperty>
                  <owl:FunctionalProperty rdf:about="#hasPort"/>
                </owl:onProperty>
              </owl:Restriction>
            </owl:complementOf>
          </owl:Class>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="ChildSafe">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#oz"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Shorthand for 'none of the above' in all ICRA sections. A Primitive Class</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#vz"/>
        </owl:onProperty>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#NotChildSafe"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#lz"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#sz"/>
        </owl:onProperty>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#cz"/>
        </owl:onProperty>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#nz"/>
        </owl:onProperty>
        <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasValue>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
<?xml version="1.0"?>
<rdf:RDF
    xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
    xmlns:meq="http://www.medieq.org/2007/rdf-schema#"
    xmlns:icra="http://www.icra.org/rdfs/vocabularyv03#"
    xmlns:swrlx="http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
    xmlns:query="http://swrl.stanford.edu/ontologies/built-ins/3.3/query.owl#"
    xmlns:temporal="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#"
    xmlns:tbox="http://swrl.stanford.edu/ontologies/built-ins/3.3/tbox.owl#"
    xmlns:mok="http://www.w3.org/2007/10/mobileOK#"
    xmlns="http://www.w3.org/007/05/powder#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:abox="http://swrl.stanford.edu/ontologies/built-ins/3.3/abox.owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:swrl="http://www.w3.org/2003/11/swrl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:swrla="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#"
  xml:base="http://www.w3.org/007/05/powder">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/abox.owl"/>
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl"/>
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl"/>
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl"/>
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/tbox.owl"/>
    <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/query.owl"/>
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl"/>
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb"/>
  </owl:Ontology>
  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Document">
    <rdfs:subClassOf>
      <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Thing"/>
    </rdfs:subClassOf>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdfs:Class>
  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Agent">
    <rdfs:subClassOf>
      <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Thing"/>
    </rdfs:subClassOf>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdfs:Class>
  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Thing">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdfs:Class>
  <owl:Class rdf:ID="ICRAdescriptionResource">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="DescriptionResource"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="MedieqDescriptionResource"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ByAddress">
    <owl:disjointWith>
      <owl:Class rdf:ID="ByRegEx"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="URIGroupDefinition"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#MedieqDescriptionResource">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#DescriptionResource"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#ICRAdescriptionResource"/>
  </owl:Class>
  <owl:Class rdf:ID="ValidDayPeriod">
    <rdfs:subClassOf rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidPeriod"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:hasValue rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Days"/>
        <owl:onProperty rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#hasGranularity"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Public">
    <rdfs:subClassOf>
      <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#ByRegEx">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#URIGroupDefinition"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#ByAddress"/>
  </owl:Class>
  <owl:Class rdf:ID="PubFundMed">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="ResourceClassification"/>
          <owl:Restriction>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.medieq.org/2007/rdf-schema#fundingInfluenceDocExists"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="fundingOrganizationPublic"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
            >1</owl:minCardinality>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#URIGroupDefinition">
    <owl:disjointWith>
      <rdf:Description rdf:about="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup">
        <owl:disjointWith>
          <rdf:Description rdf:about="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime">
            <owl:disjointWith>
              <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
            </owl:disjointWith>
            <owl:disjointWith>
              <rdf:Description rdf:about="http://www.w3.org/2003/11/swrl#Imp">
                <owl:disjointWith>
                  <rdf:Description rdf:about="http://www.w3.org/2003/11/swrl#Atom">
                    <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                    <owl:disjointWith>
                      <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                    </owl:disjointWith>
                    <owl:disjointWith>
                      <rdf:Description rdf:about="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition">
                        <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                        <owl:disjointWith>
                          <rdf:Description rdf:about="http://www.w3.org/2003/11/swrl#Variable">
                            <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
                            <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
                            <owl:disjointWith>
                              <owl:Class rdf:about="#ResourceClassification"/>
                            </owl:disjointWith>
                            <owl:disjointWith>
                              <rdf:Description rdf:about="http://www.w3.org/2003/11/swrl#Builtin">
                                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
                                <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
                                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                                <owl:disjointWith>
                                  <owl:Class rdf:about="#ResourceClassification"/>
                                </owl:disjointWith>
                                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                                <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
                                <owl:disjointWith>
                                  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                                </owl:disjointWith>
                                <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
                                <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                                <owl:disjointWith>
                                  <rdf:Description rdf:about="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity">
                                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
                                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
                                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
                                    <owl:disjointWith>
                                      <owl:Class rdf:about="#ResourceClassification"/>
                                    </owl:disjointWith>
                                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
                                    <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
                                    <owl:disjointWith>
                                      <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                                    </owl:disjointWith>
                                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                                    <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                                  </rdf:Description>
                                </owl:disjointWith>
                                <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                              </rdf:Description>
                            </owl:disjointWith>
                            <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                            <owl:disjointWith>
                              <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                            </owl:disjointWith>
                            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
                            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                            <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
                          </rdf:Description>
                        </owl:disjointWith>
                        <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
                        <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
                        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
                        <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
                        <owl:disjointWith>
                          <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                        </owl:disjointWith>
                        <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                      </rdf:Description>
                    </owl:disjointWith>
                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
                    <owl:disjointWith>
                      <owl:Class rdf:about="#ResourceClassification"/>
                    </owl:disjointWith>
                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                    <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
                    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
                    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
                  </rdf:Description>
                </owl:disjointWith>
                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
                <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
                <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
                <owl:disjointWith>
                  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
                </owl:disjointWith>
                <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
                <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
                <owl:disjointWith>
                  <owl:Class rdf:about="#ResourceClassification"/>
                </owl:disjointWith>
                <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
              </rdf:Description>
            </owl:disjointWith>
            <owl:disjointWith>
              <owl:Class rdf:about="#ResourceClassification"/>
            </owl:disjointWith>
            <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
            <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
            <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
            <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
            <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
            <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
          </rdf:Description>
        </owl:disjointWith>
        <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
        <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
        <owl:disjointWith rdf:resource="#URIGroupDefinition"/>
        <owl:disjointWith>
          <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization"/>
        </owl:disjointWith>
        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
        <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
        <owl:disjointWith>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:disjointWith>
        <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
      </rdf:Description>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Thing"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
  </owl:Class>
  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organization">
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Proposition"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#RuleGroup"/>
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Atom"/>
    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2003/11/swrl#Builtin"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Granularity"/>
    <owl:disjointWith rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidTime"/>
  </owl:Class>
  <owl:Class rdf:ID="ChildSafe">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ResourceClassification"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#cz"/>
            </owl:onProperty>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
          </owl:Restriction>
          <owl:Restriction>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#lz"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#nz"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#oz"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#sz"/>
            </owl:onProperty>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#vz"/>
            </owl:onProperty>
            <owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
            >true</owl:hasValue>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#DescriptionResource">
    <owl:disjointWith>
      <owl:Class rdf:about="#ResourceClassification"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ExtendedProposition"/>
  </owl:Class>
  <owl:Class rdf:ID="Private">
    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
  </owl:Class>
  <owl:Class rdf:ID="ValidDay">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#hasGranularity"/>
        <owl:hasValue rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Days"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidInstant"/>
  </owl:Class>
  <owl:Class rdf:about="#ResourceClassification">
    <owl:disjointWith rdf:resource="#DescriptionResource"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ValidInstant"/>
        <owl:onProperty rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#hasValidTime"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#ExtendedProposition"/>
  </owl:Class>
  <owl:Class>
    <owl:unionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#ResourceClassification"/>
      <owl:Class rdf:about="#ICRAdescriptionResource"/>
    </owl:unionOf>
  </owl:Class>
  <owl:ObjectProperty rdf:about="http://www.w3.org/2003/11/swrl#argument2"/>
  <owl:ObjectProperty rdf:ID="fundingOrganizatinPrivate">
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#MedieqDescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="#Private"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#fundingOrganizationPublic">
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#MedieqDescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="#Public"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="subsumesURI">
    <rdfs:domain rdf:resource="#URIGroupDefinition"/>
    <rdfs:range rdf:resource="#ResourceClassification"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasScope">
    <rdfs:domain rdf:resource="#DescriptionResource"/>
    <rdfs:range rdf:resource="#URIGroupDefinition"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="startsWithPath">
    <rdfs:domain rdf:resource="#ByAddress"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="toPort">
    <rdfs:domain rdf:resource="#ByAddress"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="fromPort">
    <rdfs:domain rdf:resource="#ByAddress"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="notStartsWithPath">
    <rdfs:domain rdf:resource="#ByAddress"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="endsWithHost">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ByAddress"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="resourceURI">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ResourceClassification"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasSchema">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ByAddress"/>
  </owl:DatatypeProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#sz">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Sexual material is absent (true) or may be absent (false)</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="regEx">
    <rdfs:domain rdf:resource="#ByRegEx"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#lz">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Potentially offensive language is absent (true) or may be present (false)</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#vz">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Violence is absent (true) or may be present (false)</rdfs:comment>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#nz">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Nudity is absent (true) or may be present (false)</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://xmlns.com/foaf/0.1/maker">
    <rdfs:domain rdf:resource="#DescriptionResource"/>
    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#oz">
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Other potentially harmful content is absent (true) or may be present (false)</rdfs:comment>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.medieq.org/2007/rdf-schema#fundingInfluenceDocExists">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#MedieqDescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="http://www.icra.org/rdfs/vocabularyv03#cz">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >UGC is absent (true) or may be present (false)</rdfs:comment>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ICRAdescriptionResource"/>
          <owl:Class rdf:about="#ResourceClassification"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <ValidDayPeriod rdf:ID="period_2007">
    <temporal:hasFinishTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
    >2007-12-31T00:00:00</temporal:hasFinishTime>
    <temporal:hasStartTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
    >2007-01-01T00:00:00</temporal:hasStartTime>
  </ValidDayPeriod>
  <ICRAdescriptionResource rdf:ID="child_safe_fosi">
    <temporal:hasValidTime rdf:resource="#period_2007"/>
    <icra:sz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:sz>
    <icra:vz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:vz>
    <foaf:maker>
      <foaf:Organization rdf:ID="fosi"/>
    </foaf:maker>
    <icra:cz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:cz>
    <hasScope>
      <ByAddress rdf:ID="fosi_main">
        <notStartsWithPath rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >associates</notStartsWithPath>
        <endsWithHost rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >fosi.org</endsWithHost>
        <hasSchema rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >http</hasSchema>
      </ByAddress>
    </hasScope>
    <dc:creator rdf:resource="#fosi"/>
    <icra:lz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:lz>
    <icra:nz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:nz>
    <icra:oz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:oz>
  </ICRAdescriptionResource>
  <swrl:Variable rdf:ID="period"/>
  <swrl:Variable rdf:ID="day"/>
  <swrl:Variable rdf:ID="u"/>
  <ResourceClassification rdf:ID="page_02">
    <temporal:hasValidTime>
      <ValidDay rdf:ID="nov17-2007">
        <temporal:hasTime rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
        >2007-11-17T00:00:00</temporal:hasTime>
      </ValidDay>
    </temporal:hasValidTime>
    <resourceURI rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >http://www.fosi.org/associates/bar.html</resourceURI>
  </ResourceClassification>
  <swrl:Imp rdf:ID="Rule-matchRegEx">
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument1>
              <swrl:Variable rdf:ID="g"/>
            </swrl:argument1>
            <swrl:argument2>
              <swrl:Variable rdf:ID="r"/>
            </swrl:argument2>
            <swrl:propertyPredicate rdf:resource="#subsumesURI"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:argument1 rdf:resource="#r"/>
            <swrl:classPredicate rdf:resource="#ResourceClassification"/>
          </swrl:ClassAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:rest>
              <swrl:AtomList>
                <rdf:rest>
                  <swrl:AtomList>
                    <rdf:rest>
                      <swrl:AtomList>
                        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
                        <rdf:first>
                          <swrl:BuiltinAtom>
                            <swrl:builtin rdf:resource="http://www.w3.org/2003/11/swrlb#matches"/>
                            <swrl:arguments>
                              <rdf:List>
                                <rdf:rest>
                                  <rdf:List>
                                    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
                                    <rdf:first>
                                      <swrl:Variable rdf:ID="re"/>
                                    </rdf:first>
                                  </rdf:List>
                                </rdf:rest>
                                <rdf:first rdf:resource="#u"/>
                              </rdf:List>
                            </swrl:arguments>
                          </swrl:BuiltinAtom>
                        </rdf:first>
                      </swrl:AtomList>
                    </rdf:rest>
                    <rdf:first>
                      <swrl:DatavaluedPropertyAtom>
                        <swrl:propertyPredicate rdf:resource="#regEx"/>
                        <swrl:argument1 rdf:resource="#g"/>
                        <swrl:argument2 rdf:resource="#re"/>
                      </swrl:DatavaluedPropertyAtom>
                    </rdf:first>
                  </swrl:AtomList>
                </rdf:rest>
                <rdf:first>
                  <swrl:ClassAtom>
                    <swrl:classPredicate rdf:resource="#ByRegEx"/>
                    <swrl:argument1 rdf:resource="#g"/>
                  </swrl:ClassAtom>
                </rdf:first>
              </swrl:AtomList>
            </rdf:rest>
            <rdf:first>
              <swrl:DatavaluedPropertyAtom>
                <swrl:propertyPredicate rdf:resource="#resourceURI"/>
                <swrl:argument2 rdf:resource="#u"/>
                <swrl:argument1 rdf:resource="#r"/>
              </swrl:DatavaluedPropertyAtom>
            </rdf:first>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
  </swrl:Imp>
  <swrl:Variable rdf:ID="v"/>
  <swrl:AtomList/>
  <rdf:Statement rdf:ID="mokAssertion">
    <rdf:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
  </rdf:Statement>
  <ResourceClassification rdf:ID="page_03">
    <temporal:hasValidTime rdf:resource="#nov17-2007"/>
    <fundingOrganizationPublic>
      <Public rdf:ID="government"/>
    </fundingOrganizationPublic>
    <resourceURI rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >http://www.medsample.org/</resourceURI>
    <meq:fundingInfluenceDocExists rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</meq:fundingInfluenceDocExists>
  </ResourceClassification>
  <Private rdf:ID="pharmacorp"/>
  <swrl:AtomList/>
  <ICRAdescriptionResource rdf:ID="unsafe_fosi">
    <hasScope>
      <ByAddress rdf:ID="fosi_associates">
        <startsWithPath rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >associates</startsWithPath>
        <endsWithHost rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >fosi.org</endsWithHost>
        <hasSchema rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >http</hasSchema>
      </ByAddress>
    </hasScope>
    <dc:creator rdf:resource="#fosi"/>
    <temporal:hasValidTime rdf:resource="#period_2007"/>
  </ICRAdescriptionResource>
  <MedieqDescriptionResource rdf:ID="med_descr">
    <meq:fundingInfluenceDocExists rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</meq:fundingInfluenceDocExists>
    <fundingOrganizationPublic rdf:resource="#government"/>
    <hasScope>
      <ByAddress rdf:ID="medsample">
        <hasSchema rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >http</hasSchema>
        <endsWithHost rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >medsample.org</endsWithHost>
      </ByAddress>
    </hasScope>
  </MedieqDescriptionResource>
  <ResourceClassification rdf:ID="page_01">
    <icra:nz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:nz>
    <icra:sz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:sz>
    <temporal:hasValidTime rdf:resource="#nov17-2007"/>
    <meq:fundingInfluenceDocExists rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</meq:fundingInfluenceDocExists>
    <icra:cz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:cz>
    <resourceURI rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >http://www.fosi.org/foo/bar.html</resourceURI>
    <icra:oz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:oz>
    <icra:vz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:vz>
    <icra:lz rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</icra:lz>
  </ResourceClassification>
  <swrl:AtomList/>
  <swrl:Variable rdf:ID="d"/>
  <swrl:Imp rdf:ID="Rule-assign-icra-nz">
    <swrl:body>
      <swrl:AtomList>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:argument1 rdf:resource="#d"/>
                <swrl:propertyPredicate rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#hasValidTime"/>
                <swrl:argument2 rdf:resource="#period"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
            <rdf:rest>
              <swrl:AtomList>
                <rdf:rest>
                  <swrl:AtomList>
                    <rdf:rest>
                      <swrl:AtomList>
                        <rdf:rest>
                          <swrl:AtomList>
                            <rdf:rest>
                              <swrl:AtomList>
                                <rdf:first>
                                  <swrl:IndividualPropertyAtom>
                                    <swrl:argument1 rdf:resource="#d"/>
                                    <swrl:propertyPredicate rdf:resource="#hasScope"/>
                                    <swrl:argument2 rdf:resource="#g"/>
                                  </swrl:IndividualPropertyAtom>
                                </rdf:first>
                                <rdf:rest>
                                  <swrl:AtomList>
                                    <rdf:rest>
                                      <swrl:AtomList>
                                        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
                                        <rdf:first>
                                          <swrl:DatavaluedPropertyAtom>
                                            <swrl:argument1 rdf:resource="#d"/>
                                            <swrl:argument2 rdf:resource="#v"/>
                                            <swrl:propertyPredicate rdf:resource="http://www.icra.org/rdfs/vocabularyv03#nz"/>
                                          </swrl:DatavaluedPropertyAtom>
                                        </rdf:first>
                                      </swrl:AtomList>
                                    </rdf:rest>
                                    <rdf:first>
                                      <swrl:IndividualPropertyAtom>
                                        <swrl:argument2>
                                          <swrl:Variable rdf:ID="rURI"/>
                                        </swrl:argument2>
                                        <swrl:argument1 rdf:resource="#g"/>
                                        <swrl:propertyPredicate rdf:resource="#subsumesURI"/>
                                      </swrl:IndividualPropertyAtom>
                                    </rdf:first>
                                  </swrl:AtomList>
                                </rdf:rest>
                              </swrl:AtomList>
                            </rdf:rest>
                            <rdf:first>
                              <swrl:BuiltinAtom>
                                <swrl:arguments>
                                  <rdf:List>
                                    <rdf:first rdf:resource="#period"/>
                                    <rdf:rest>
                                      <rdf:List>
                                        <rdf:first rdf:resource="#day"/>
                                        <rdf:rest>
                                          <rdf:List>
                                            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
                                            <rdf:first rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#Days"/>
                                          </rdf:List>
                                        </rdf:rest>
                                      </rdf:List>
                                    </rdf:rest>
                                  </rdf:List>
                                </swrl:arguments>
                                <swrl:builtin rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#contains"/>
                              </swrl:BuiltinAtom>
                            </rdf:first>
                          </swrl:AtomList>
                        </rdf:rest>
                        <rdf:first>
                          <swrl:IndividualPropertyAtom>
                            <swrl:argument2 rdf:resource="#day"/>
                            <swrl:argument1 rdf:resource="#r"/>
                            <swrl:propertyPredicate rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#hasValidTime"/>
                          </swrl:IndividualPropertyAtom>
                        </rdf:first>
                      </swrl:AtomList>
                    </rdf:rest>
                    <rdf:first>
                      <swrl:DatavaluedPropertyAtom>
                        <swrl:argument2 rdf:resource="#rURI"/>
                        <swrl:propertyPredicate rdf:resource="#resourceURI"/>
                        <swrl:argument1 rdf:resource="#r"/>
                      </swrl:DatavaluedPropertyAtom>
                    </rdf:first>
                  </swrl:AtomList>
                </rdf:rest>
                <rdf:first>
                  <swrl:ClassAtom>
                    <swrl:classPredicate rdf:resource="#ResourceClassification"/>
                    <swrl:argument1 rdf:resource="#r"/>
                  </swrl:ClassAtom>
                </rdf:first>
              </swrl:AtomList>
            </rdf:rest>
          </swrl:AtomList>
        </rdf:rest>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:classPredicate rdf:resource="#ICRAdescriptionResource"/>
            <swrl:argument1 rdf:resource="#d"/>
          </swrl:ClassAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:DatavaluedPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://www.icra.org/rdfs/vocabularyv03#nz"/>
            <swrl:argument1 rdf:resource="#r"/>
            <swrl:argument2 rdf:resource="#v"/>
          </swrl:DatavaluedPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
  <swrl:AtomList/>
  <swrl:AtomList/>
  <swrl:AtomList/>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.3.1, Build 430)  http://protege.stanford.edu -->

Received on Monday, 19 November 2007 12:20:04 UTC