Beta build 318: possible SPARQL plugin bug

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Beta build 318: possible SPARQL plugin bug

Hugo Ferreira
Hi,

I have what seems like a Protege bug in the SPARQL plug-in.
When I execute the query in the Protege environment I get a
"no matches found" message box. When I execute this same query
via Jena's script I get the expected result. What is interesting
is that this happens when the selection criteria involves an
instance. Selection using classes as a criteria execute correctly.

Here is the simplest example I could make up:

This works and returns the 4 expected results:
..................................................................
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX :
<http://www.know-construct.org/ontology/2006/4/12/Ontology1144839080.owl#>

SELECT ?prod ?finish
WHERE {
?prod :hasFinishing ?finish.
}


This does not work in the Protege environment:
..................................................................

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX :
<http://www.know-construct.org/ontology/2006/4/12/Ontology1144839080.owl#>

SELECT ?prod
WHERE {
?prod :hasFinishing :standardPolishedStainlessSteel.
}

The above query however works correctly via the Jena script and
produces the following result:

-------------------------
| prod                  |
=========================
| :crumar.genius.42.310 |
| :crumar.genius.42.640 |
| :crumar.genius.42.515 |
| :crumar.genius.42.360 |
-------------------------

I include the owl file in case anyone needs it for testing.

Please note that I tested this with Jena 2.3 (12/10/2005) because that
is listed in the download area, even though a 2.4 seems to be available
since the 4/5/2006 (site not updated?). I don't think this is a Jena issue.


Regards,
Hugo Ferreira.




<?xml version="1.0"?>
<rdf:RDF
    xmlns:p2="http://protege.stanford.edu/plugins/owl/dc/protege-dc.owl#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns="http://www.know-construct.org/ontology/2006/4/12/Ontology1144839080.owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:p1="http://www.owl-ontologies.com/assert.owl#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:base="http://www.know-construct.org/ontology/2006/4/12/Ontology1144839080.owl">
  <owl:Ontology rdf:about=""/>
  <owl:Class rdf:ID="SwivelTapSpout">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="TapSpout"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="WashingDisposalEquipment">
    <owl:disjointWith>
      <owl:Class rdf:ID="SanitaryEquipment"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="SanitaryLaundryCleaning"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="SanitaryTapsWastes"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="Manufacturer">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Role"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Bedroom">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="HousingSubdivision"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="Office"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="WC"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Library"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Livingroom"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Garage"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Kitchen"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Livingroom">
    <owl:disjointWith>
      <owl:Class rdf:about="#WC"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Kitchen"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Library"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#HousingSubdivision"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Garage"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Office"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ConcreteMortar">
    <owl:disjointWith>
      <owl:Class rdf:ID="Brass"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ProcessedMaterial"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="Glass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="CastIron"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Steel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Ceramics"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Wood"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Masonary"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#SanitaryLaundryCleaning">
    <owl:disjointWith>
      <owl:Class rdf:ID="ClimateControl"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Material"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="GeneralPurposeService"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ContructionProduct"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="ShowerColumn">
    <owl:disjointWith>
      <owl:Class rdf:ID="ShowerTray"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="Washbasin"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="ShowerCabinet"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Bide"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Bathtub"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Washbasin">
    <owl:disjointWith rdf:resource="#ShowerColumn"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bathtub"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#ShowerTray"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bide"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#ShowerCabinet"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ConstructionIndividual">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ConstructionAgent"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="ConstructionOrganization"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Garage">
    <owl:disjointWith>
      <owl:Class rdf:about="#Kitchen"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Livingroom"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Library"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#WC"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#HousingSubdivision"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Office"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ConstructionComplex">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ConstructionResult"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="ConstructionEntity"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#GeneralPurposeService">
    <owl:disjointWith rdf:resource="#SanitaryLaundryCleaning"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#ContructionProduct"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Material"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#ClimateControl"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ShowerHead">
    <owl:disjointWith>
      <owl:Class rdf:ID="TapLever"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Nozzel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="TapKnob"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="GeneralPipeworkDuctworkProducts"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="TapMixer"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapSpout"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="Section">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ConstructionInformationElement"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="Figure"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Page"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="PolishedStainlessSteel">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="StainlessSteel"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="BrushedStainlessSteel"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Kitchen">
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Office"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Library"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#HousingSubdivision"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Livingroom"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#WC"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Garage"/>
  </owl:Class>
  <owl:Class rdf:about="#TapLever">
    <owl:disjointWith>
      <owl:Class rdf:about="#Nozzel"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ShowerHead"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapMixer"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#GeneralPipeworkDuctworkProducts"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapKnob"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapSpout"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="Tap">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryTapsWastes"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionOrganization">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#ConstructionAgent"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#ConstructionIndividual"/>
  </owl:Class>
  <owl:Class rdf:about="#ProcessedMaterial">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ManufacturedMaterial"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="ConstructionInformationDocument">
    <owl:disjointWith>
      <owl:Class rdf:about="#ConstructionInformationElement"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ContructionInformation"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="TapCommand">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="GeneralPuposeControl"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#StainlessSteel">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Steel"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Catalogue">
    <rdfs:subClassOf rdf:resource="#ConstructionInformationDocument"/>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionInformationElement">
    <owl:disjointWith rdf:resource="#ConstructionInformationDocument"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#ContructionInformation"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionResult">
    <owl:disjointWith>
      <owl:Class rdf:about="#Role"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="ConstructionResource"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#TapKnob">
    <owl:disjointWith>
      <owl:Class rdf:about="#Nozzel"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#TapLever"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapMixer"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#GeneralPipeworkDuctworkProducts"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#ShowerHead"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapSpout"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionResource">
    <owl:disjointWith rdf:resource="#ConstructionResult"/>
  </owl:Class>
  <owl:Class rdf:about="#TapSpout">
    <owl:disjointWith rdf:resource="#ShowerHead"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Nozzel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#TapMixer"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#TapLever"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#GeneralPipeworkDuctworkProducts"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#TapKnob"/>
  </owl:Class>
  <owl:Class rdf:about="#ClimateControl">
    <owl:disjointWith>
      <owl:Class rdf:about="#Material"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#GeneralPurposeService"/>
    <owl:disjointWith rdf:resource="#SanitaryLaundryCleaning"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#ContructionProduct"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Wood">
    <owl:disjointWith>
      <owl:Class rdf:about="#Brass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Glass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Ceramics"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Steel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#CastIron"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
  </owl:Class>
  <owl:Class rdf:about="#TapMixer">
    <owl:disjointWith>
      <owl:Class rdf:about="#Nozzel"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ShowerHead"/>
    <owl:disjointWith rdf:resource="#TapKnob"/>
    <owl:disjointWith rdf:resource="#TapSpout"/>
    <owl:disjointWith rdf:resource="#TapLever"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#GeneralPipeworkDuctworkProducts"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionEntity">
    <owl:disjointWith rdf:resource="#ConstructionComplex"/>
    <rdfs:subClassOf rdf:resource="#ConstructionResult"/>
  </owl:Class>
  <owl:Class rdf:ID="House">
    <owl:disjointWith>
      <owl:Class rdf:about="#HousingSubdivision"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#ConstructionEntity"/>
  </owl:Class>
  <owl:Class rdf:about="#ContructionProduct">
    <owl:disjointWith>
      <owl:Class rdf:about="#Role"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#ConstructionAgent"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#ConstructionResource"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#ContructionInformation"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Library">
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#HousingSubdivision"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Office"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Kitchen"/>
    <owl:disjointWith rdf:resource="#Livingroom"/>
    <owl:disjointWith rdf:resource="#Garage"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#WC"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Material">
    <owl:disjointWith rdf:resource="#ClimateControl"/>
    <rdfs:subClassOf rdf:resource="#ContructionProduct"/>
    <owl:disjointWith rdf:resource="#SanitaryLaundryCleaning"/>
    <owl:disjointWith rdf:resource="#GeneralPurposeService"/>
  </owl:Class>
  <owl:Class rdf:about="#ShowerTray">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#ShowerCabinet"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ShowerColumn"/>
    <owl:disjointWith rdf:resource="#Washbasin"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bide"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bathtub"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#GeneralPipeworkDuctworkProducts">
    <owl:disjointWith>
      <owl:Class rdf:about="#GeneralPuposeControl"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#GeneralPurposeService"/>
  </owl:Class>
  <owl:Class rdf:about="#ContructionInformation">
    <owl:disjointWith rdf:resource="#ContructionProduct"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Role"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#ConstructionResource"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#ConstructionAgent"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="KitchenSink">
    <rdfs:subClassOf rdf:resource="#WashingDisposalEquipment"/>
  </owl:Class>
  <owl:Class rdf:about="#Role">
    <owl:disjointWith rdf:resource="#ConstructionResult"/>
    <owl:disjointWith rdf:resource="#ContructionInformation"/>
    <owl:disjointWith rdf:resource="#ContructionProduct"/>
  </owl:Class>
  <owl:Class rdf:about="#GeneralPuposeControl">
    <rdfs:subClassOf rdf:resource="#GeneralPurposeService"/>
    <owl:disjointWith rdf:resource="#GeneralPipeworkDuctworkProducts"/>
  </owl:Class>
  <owl:Class rdf:about="#ShowerCabinet">
    <owl:disjointWith rdf:resource="#ShowerColumn"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bathtub"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Washbasin"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bide"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ShowerTray"/>
  </owl:Class>
  <owl:Class rdf:about="#HousingSubdivision">
    <rdfs:subClassOf rdf:resource="#ConstructionEntity"/>
    <owl:disjointWith rdf:resource="#House"/>
  </owl:Class>
  <owl:Class rdf:about="#Ceramics">
    <owl:disjointWith rdf:resource="#Wood"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Steel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Glass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#CastIron"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Brass"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#CastIron">
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith rdf:resource="#Ceramics"/>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
    <owl:disjointWith rdf:resource="#Wood"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Steel"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Glass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Brass"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Bathtub">
    <owl:disjointWith rdf:resource="#ShowerColumn"/>
    <owl:disjointWith rdf:resource="#Washbasin"/>
    <owl:disjointWith rdf:resource="#ShowerCabinet"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Bide"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#ShowerTray"/>
  </owl:Class>
  <owl:Class rdf:about="#Brass">
    <owl:disjointWith rdf:resource="#Ceramics"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Steel"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Glass"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Wood"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#CastIron"/>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
  </owl:Class>
  <owl:Class rdf:about="#Steel">
    <owl:disjointWith rdf:resource="#CastIron"/>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
    <owl:disjointWith rdf:resource="#Ceramics"/>
    <owl:disjointWith rdf:resource="#Brass"/>
    <owl:disjointWith rdf:resource="#Wood"/>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Glass"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#SanitaryTapsWastes">
    <rdfs:subClassOf rdf:resource="#SanitaryLaundryCleaning"/>
    <owl:disjointWith rdf:resource="#WashingDisposalEquipment"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#SanitaryEquipment"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Page">
    <owl:disjointWith rdf:resource="#Section"/>
    <rdfs:subClassOf rdf:resource="#ConstructionInformationElement"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Figure"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="ShowerValve">
    <rdfs:subClassOf rdf:resource="#Tap"/>
  </owl:Class>
  <owl:Class rdf:ID="TapDisc">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="TransformationConversionEnergy"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#SanitaryEquipment">
    <owl:disjointWith rdf:resource="#SanitaryTapsWastes"/>
    <rdfs:subClassOf rdf:resource="#SanitaryLaundryCleaning"/>
    <owl:disjointWith rdf:resource="#WashingDisposalEquipment"/>
  </owl:Class>
  <owl:Class rdf:about="#Figure">
    <owl:disjointWith rdf:resource="#Section"/>
    <owl:disjointWith rdf:resource="#Page"/>
    <rdfs:subClassOf rdf:resource="#ConstructionInformationElement"/>
  </owl:Class>
  <owl:Class rdf:about="#Glass">
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
    <owl:disjointWith rdf:resource="#Steel"/>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith rdf:resource="#Ceramics"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Masonary"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Brass"/>
    <owl:disjointWith rdf:resource="#CastIron"/>
    <owl:disjointWith rdf:resource="#Wood"/>
  </owl:Class>
  <owl:Class rdf:about="#BrushedStainlessSteel">
    <owl:disjointWith rdf:resource="#PolishedStainlessSteel"/>
    <rdfs:subClassOf rdf:resource="#StainlessSteel"/>
  </owl:Class>
  <owl:Class rdf:about="#ConstructionAgent">
    <owl:disjointWith rdf:resource="#ContructionProduct"/>
    <owl:disjointWith rdf:resource="#ContructionInformation"/>
    <rdfs:subClassOf rdf:resource="#ConstructionResource"/>
  </owl:Class>
  <owl:Class rdf:about="#Nozzel">
    <owl:disjointWith rdf:resource="#TapKnob"/>
    <owl:disjointWith rdf:resource="#TapMixer"/>
    <owl:disjointWith rdf:resource="#TapLever"/>
    <owl:disjointWith rdf:resource="#ShowerHead"/>
    <rdfs:subClassOf rdf:resource="#GeneralPipeworkDuctworkProducts"/>
    <owl:disjointWith rdf:resource="#TapSpout"/>
  </owl:Class>
  <owl:Class rdf:about="#WC">
    <rdfs:subClassOf rdf:resource="#HousingSubdivision"/>
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <owl:disjointWith rdf:resource="#Kitchen"/>
    <owl:disjointWith rdf:resource="#Garage"/>
    <owl:disjointWith rdf:resource="#Library"/>
    <owl:disjointWith rdf:resource="#Livingroom"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Office"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#TransformationConversionEnergy">
    <rdfs:subClassOf rdf:resource="#ClimateControl"/>
  </owl:Class>
  <owl:Class rdf:about="#Masonary">
    <owl:disjointWith rdf:resource="#Steel"/>
    <owl:disjointWith rdf:resource="#ConcreteMortar"/>
    <owl:disjointWith rdf:resource="#Brass"/>
    <owl:disjointWith rdf:resource="#Wood"/>
    <owl:disjointWith rdf:resource="#CastIron"/>
    <owl:disjointWith rdf:resource="#Glass"/>
    <owl:disjointWith rdf:resource="#Ceramics"/>
    <rdfs:subClassOf rdf:resource="#ProcessedMaterial"/>
  </owl:Class>
  <owl:Class rdf:ID="Supplier">
    <rdfs:subClassOf rdf:resource="#Role"/>
  </owl:Class>
  <owl:Class rdf:about="#Office">
    <owl:disjointWith rdf:resource="#Livingroom"/>
    <owl:disjointWith rdf:resource="#Kitchen"/>
    <owl:disjointWith rdf:resource="#WC"/>
    <owl:disjointWith rdf:resource="#Library"/>
    <owl:disjointWith rdf:resource="#Garage"/>
    <owl:disjointWith rdf:resource="#Bedroom"/>
    <rdfs:subClassOf rdf:resource="#HousingSubdivision"/>
  </owl:Class>
  <owl:Class rdf:about="#ManufacturedMaterial">
    <rdfs:subClassOf rdf:resource="#Material"/>
  </owl:Class>
  <owl:Class rdf:about="#Bide">
    <owl:disjointWith rdf:resource="#Washbasin"/>
    <owl:disjointWith rdf:resource="#ShowerCabinet"/>
    <owl:disjointWith rdf:resource="#ShowerTray"/>
    <owl:disjointWith rdf:resource="#ShowerColumn"/>
    <rdfs:subClassOf rdf:resource="#SanitaryEquipment"/>
    <owl:disjointWith rdf:resource="#Bathtub"/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="makes">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="madeBy"/>
    </owl:inverseOf>
    <rdfs:range rdf:resource="#ContructionProduct"/>
    <rdfs:domain rdf:resource="#Manufacturer"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="soldBy">
    <rdfs:range rdf:resource="#Supplier"/>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="sells"/>
    </owl:inverseOf>
    <rdfs:domain rdf:resource="#ContructionProduct"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="describedBy">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="describes"/>
    </owl:inverseOf>
    <rdfs:domain rdf:resource="#ContructionProduct"/>
    <rdfs:range rdf:resource="#ConstructionInformationElement"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapSpout">
    <rdfs:range rdf:resource="#TapSpout"/>
    <rdfs:domain rdf:resource="#Tap"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasFinishing">
    <rdfs:domain rdf:resource="#ContructionProduct"/>
    <rdfs:range rdf:resource="#ProcessedMaterial"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#describes">
    <rdfs:domain rdf:resource="#ConstructionInformationElement"/>
    <rdfs:range rdf:resource="#ContructionProduct"/>
    <owl:inverseOf rdf:resource="#describedBy"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#sells">
    <owl:inverseOf rdf:resource="#soldBy"/>
    <rdfs:range rdf:resource="#ContructionProduct"/>
    <rdfs:domain rdf:resource="#Supplier"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="isMountedOn">
    <rdfs:range>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#SanitaryEquipment"/>
          <owl:Class rdf:about="#WashingDisposalEquipment"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:range>
    <rdfs:domain rdf:resource="#Tap"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="isComposedOf">
    <rdfs:range rdf:resource="#ConstructionEntity"/>
    <owl:inverseOf>
      <owl:TransitiveProperty rdf:ID="makesUp"/>
    </owl:inverseOf>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ConstructionComplex"/>
          <owl:Class rdf:about="#ConstructionEntity"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#madeBy">
    <rdfs:range rdf:resource="#Manufacturer"/>
    <rdfs:domain rdf:resource="#ContructionProduct"/>
    <owl:inverseOf rdf:resource="#makes"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasConstructionInformationElement">
    <rdfs:domain rdf:resource="#ConstructionInformationDocument"/>
    <rdfs:range rdf:resource="#ConstructionInformationElement"/>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="isConstructionInformationElementOf"/>
    </owl:inverseOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapKnob">
    <rdfs:range rdf:resource="#TapKnob"/>
    <rdfs:domain rdf:resource="#Tap"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasCommand">
    <rdfs:range rdf:resource="#TapCommand"/>
    <rdfs:domain rdf:resource="#Tap"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapDisc">
    <rdfs:domain rdf:resource="#Tap"/>
    <rdfs:range rdf:resource="#TapDisc"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapLever">
    <rdfs:range rdf:resource="#TapLever"/>
    <rdfs:domain rdf:resource="#Tap"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="finishes">
    <rdfs:range rdf:resource="#ContructionProduct"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapMixer">
    <rdfs:domain rdf:resource="#Tap"/>
    <rdfs:range rdf:resource="#TapMixer"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasTapNozzel">
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ShowerHead"/>
          <owl:Class rdf:about="#TapSpout"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="#Nozzel"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#isConstructionInformationElementOf">
    <owl:inverseOf rdf:resource="#hasConstructionInformationElement"/>
    <rdfs:domain rdf:resource="#ConstructionInformationElement"/>
    <rdfs:range rdf:resource="#ConstructionInformationDocument"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="hasSwivelFreedom">
    <rdfs:domain rdf:resource="#SwivelTapSpout"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasName">
    <rdfs:domain rdf:resource="#ConstructionAgent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasAddress">
    <rdfs:domain rdf:resource="#ConstructionAgent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasPhoneNumber">
    <rdfs:domain rdf:resource="#ConstructionAgent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasHomePage">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ConstructionAgent"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="source">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ConstructionInformationDocument"/>
    <rdfs:comment xml:lang="en">URI where document can be downloaded from</rdfs:comment>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="labelledBy">
    <rdfs:domain rdf:resource="#ConstructionInformationElement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="IsRetractable">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain rdf:resource="#TapSpout"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasEMail">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ConstructionAgent"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="title">
    <rdfs:domain rdf:resource="#ConstructionInformationDocument"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:comment xml:lang="en">Title of the document</rdfs:comment>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="IsExtensible">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <rdfs:domain rdf:resource="#TapSpout"/>
  </owl:DatatypeProperty>
  <owl:TransitiveProperty rdf:about="#makesUp">
    <rdfs:domain rdf:resource="#ConstructionEntity"/>
    <owl:inverseOf rdf:resource="#isComposedOf"/>
    <rdfs:range>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#ConstructionComplex"/>
          <owl:Class rdf:about="#ConstructionEntity"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:range>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:TransitiveProperty>
  <Page rdf:ID="crumarGeniusTapsPg2">
    <labelledBy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Hugo Fereira</labelledBy>
    <isConstructionInformationElementOf>
      <Catalogue rdf:ID="CrumarGeniusTaps">
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >http://www.crumar.pt/fotos/fam_Genius_99_3_gar.PDF</source>
        <hasConstructionInformationElement>
          <Page rdf:ID="crumarGeniusTapsPg1">
            <isConstructionInformationElementOf rdf:resource="#CrumarGeniusTaps"/>
            <describes>
              <Tap rdf:ID="crumar.genius.42.310">
                <hasTapLever>
                  <TapLever rdf:ID="mediumTapLever"/>
                </hasTapLever>
                <hasFinishing>
                  <PolishedStainlessSteel rdf:ID="standardPolishedStainlessSteel"/>
                </hasFinishing>
                <hasTapMixer>
                  <TapMixer rdf:ID="standardTapMixer"/>
                </hasTapMixer>
                <isMountedOn>
                  <Washbasin rdf:ID="standardWashBasin"/>
                </isMountedOn>
                <describedBy rdf:resource="#crumarGeniusTapsPg1"/>
                <hasTapDisc>
                  <TapDisc rdf:ID="conventionalTapDisc"/>
                </hasTapDisc>
                <hasCommand>
                  <TapCommand rdf:ID="singleManualTapCommand"/>
                </hasCommand>
                <madeBy>
                  <Supplier rdf:ID="Crumar">
                    <sells>
                      <Tap rdf:ID="crumar.genius.42.640">
                        <hasFinishing rdf:resource="#standardPolishedStainlessSteel"/>
                        <describedBy rdf:resource="#crumarGeniusTapsPg2"/>
                        <hasTapDisc>
                          <TapDisc rdf:ID="withThermostaticDeviceTapDisc"/>
                        </hasTapDisc>
                        <isMountedOn>
                          <KitchenSink rdf:ID="standardKitchenSink"/>
                        </isMountedOn>
                        <hasCommand rdf:resource="#singleManualTapCommand"/>
                        <hasTapSpout>
                          <SwivelTapSpout rdf:ID="longHorizintalSwivelTapSpout"/>
                        </hasTapSpout>
                        <soldBy>
                          <Supplier rdf:ID="sousaESobrinhosLTD">
                            <sells>
                              <Tap rdf:ID="crumar.genius.42.515">
                                <describedBy rdf:resource="#crumarGeniusTapsPg2"/>
                                <hasTapLever rdf:resource="#mediumTapLever"/>
                                <hasTapMixer rdf:resource="#standardTapMixer"/>
                                <hasTapSpout>
                                  <TapSpout rdf:ID="simpleTapSpout">
                                    <IsExtensible rdf:datatype=
                                    "http://www.w3.org/2001/XMLSchema#boolean"
                                    >false</IsExtensible>
                                    <IsRetractable rdf:datatype=
                                    "http://www.w3.org/2001/XMLSchema#boolean"
                                    >false</IsRetractable>
                                    <hasTapNozzel>
                                      <Nozzel rdf:ID="jetNozzel"/>
                                    </hasTapNozzel>
                                  </TapSpout>
                                </hasTapSpout>
                                <isMountedOn rdf:resource="#standardKitchenSink"/>
                                <hasFinishing rdf:resource="#standardPolishedStainlessSteel"/>
                                <hasTapDisc rdf:resource="#conventionalTapDisc"/>
                                <soldBy rdf:resource="#sousaESobrinhosLTD"/>
                                <soldBy rdf:resource="#Crumar"/>
                                <madeBy rdf:resource="#Crumar"/>
                                <hasCommand rdf:resource="#singleManualTapCommand"/>
                              </Tap>
                            </sells>
                            <sells rdf:resource="#crumar.genius.42.640"/>
                            <rdf:type rdf:resource="#ConstructionOrganization"/>
                          </Supplier>
                        </soldBy>
                        <hasTapMixer rdf:resource="#standardTapMixer"/>
                        <madeBy rdf:resource="#Crumar"/>
                        <hasTapLever rdf:resource="#mediumTapLever"/>
                        <soldBy rdf:resource="#Crumar"/>
                      </Tap>
                    </sells>
                    <makes rdf:resource="#crumar.genius.42.310"/>
                    <sells rdf:resource="#crumar.genius.42.310"/>
                    <sells rdf:resource="#crumar.genius.42.515"/>
                    <rdf:type rdf:resource="#ConstructionOrganization"/>
                    <rdf:type rdf:resource="#Manufacturer"/>
                    <makes rdf:resource="#crumar.genius.42.640"/>
                    <makes>
                      <Tap rdf:ID="crumar.genius.42.360">
                        <hasTapDisc rdf:resource="#conventionalTapDisc"/>
                        <madeBy rdf:resource="#Crumar"/>
                        <soldBy rdf:resource="#Crumar"/>
                        <hasTapSpout rdf:resource="#simpleTapSpout"/>
                        <hasCommand rdf:resource="#singleManualTapCommand"/>
                        <hasTapMixer rdf:resource="#standardTapMixer"/>
                        <describedBy rdf:resource="#crumarGeniusTapsPg1"/>
                        <hasTapLever rdf:resource="#mediumTapLever"/>
                        <hasFinishing rdf:resource="#standardPolishedStainlessSteel"/>
                        <isMountedOn rdf:resource="#standardWashBasin"/>
                      </Tap>
                    </makes>
                    <makes rdf:resource="#crumar.genius.42.515"/>
                    <hasHomePage rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                    >www.crumar.pt</hasHomePage>
                    <sells rdf:resource="#crumar.genius.42.360"/>
                  </Supplier>
                </madeBy>
                <hasTapSpout rdf:resource="#simpleTapSpout"/>
                <soldBy rdf:resource="#Crumar"/>
              </Tap>
            </describes>
            <labelledBy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
            >Hugo Ferreira</labelledBy>
            <describes rdf:resource="#crumar.genius.42.360"/>
          </Page>
        </hasConstructionInformationElement>
        <title rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >Genius by Sofimitos</title>
        <hasConstructionInformationElement rdf:resource="#crumarGeniusTapsPg2"/>
      </Catalogue>
    </isConstructionInformationElementOf>
    <describes rdf:resource="#crumar.genius.42.515"/>
    <describes rdf:resource="#crumar.genius.42.640"/>
  </Page>
  <Wood rdf:ID="standardWood"/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapLever rdf:ID="longTapLever"/>
      <TapLever rdf:about="#mediumTapLever"/>
      <TapLever rdf:ID="ShortTapLever"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <TapKnob rdf:ID="SmallTapKnob"/>
  <TapMixer rdf:ID="threeHoleTapMixer"/>
  <TapSpout rdf:ID="extensibleTapSpout">
    <IsExtensible rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</IsExtensible>
    <IsRetractable rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >false</IsRetractable>
    <hasTapNozzel rdf:resource="#jetNozzel"/>
  </TapSpout>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <Nozzel rdf:ID="SprayNozzel"/>
      <Nozzel rdf:about="#jetNozzel"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <TapMixer rdf:ID="fourHoleTapMixer"/>
  <Brass rdf:ID="standardBrass"/>
  <Glass rdf:ID="standardGlass"/>
  <SwivelTapSpout rdf:ID="horizontalSwivelTapSpout">
    <hasSwivelFreedom rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >vertical</hasSwivelFreedom>
  </SwivelTapSpout>
  <TapCommand rdf:ID="doubleManualTapCommand"/>
  <TapMixer rdf:ID="fiveHoleTapMixer"/>
  <SwivelTapSpout rdf:ID="extensibleSwivelTapSpout">
    <hasSwivelFreedom rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    ></hasSwivelFreedom>
  </SwivelTapSpout>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <SwivelTapSpout rdf:ID="verticalSwivelTapSpout">
        <hasSwivelFreedom rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >vertical</hasSwivelFreedom>
      </SwivelTapSpout>
      <SwivelTapSpout rdf:about="#horizontalSwivelTapSpout"/>
      <SwivelTapSpout rdf:about="#extensibleSwivelTapSpout"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <TapMixer rdf:ID="bathFillerTapMixer"/>
  <TapDisc rdf:ID="ceramicTapDisc"/>
  <Ceramics rdf:ID="standardCeramics"/>
  <ShowerTray rdf:ID="standardShowerTray"/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <Tap rdf:about="#crumar.genius.42.310"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <TapSpout rdf:ID="retractableTapSpout">
    <hasTapNozzel rdf:resource="#jetNozzel"/>
    <IsRetractable rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >true</IsRetractable>
    <IsExtensible rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >false</IsExtensible>
  </TapSpout>
  <TapKnob rdf:ID="bigTapKnob"/>
  <CastIron rdf:ID="standardCastIron"/>
  <owl:AllDifferent/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapSpout rdf:about="#simpleTapSpout"/>
      <TapSpout rdf:about="#retractableTapSpout"/>
      <TapSpout rdf:about="#extensibleTapSpout"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <ConcreteMortar rdf:ID="standardConcreteMortar"/>
  <Bide rdf:ID="standardBide"/>
  <Masonary rdf:ID="standardMasonary"/>
  <TapMixer rdf:ID="showerTapMixer"/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapCommand rdf:about="#doubleManualTapCommand"/>
      <TapCommand rdf:about="#singleManualTapCommand"/>
      <TapCommand rdf:ID="singleAutomaticTapCommand"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <ShowerColumn rdf:ID="standardShowerColumn"/>
  <Bathtub rdf:ID="standardBathTub"/>
  <ShowerCabinet rdf:ID="standardShowerCabinet"/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapMixer rdf:about="#bathFillerTapMixer"/>
      <TapMixer rdf:about="#showerTapMixer"/>
      <TapMixer rdf:about="#threeHoleTapMixer"/>
      <TapMixer rdf:about="#fourHoleTapMixer"/>
      <TapMixer rdf:about="#fiveHoleTapMixer"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <TapSpout rdf:ID="longSimpleTapSpout">
    <IsRetractable rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >false</IsRetractable>
    <IsExtensible rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
    >false</IsExtensible>
    <hasTapNozzel rdf:resource="#jetNozzel"/>
  </TapSpout>
  <TapKnob rdf:ID="MediumTapKnob"/>
  <BrushedStainlessSteel rdf:ID="standardBrushedStainlessSteel"/>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapKnob rdf:about="#bigTapKnob"/>
      <TapKnob rdf:about="#MediumTapKnob"/>
      <TapKnob rdf:about="#SmallTapKnob"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <TapDisc rdf:about="#conventionalTapDisc"/>
      <TapDisc rdf:about="#ceramicTapDisc"/>
      <TapDisc rdf:about="#withThermostaticDeviceTapDisc"/>
    </owl:distinctMembers>
  </owl:AllDifferent>
</rdf:RDF>

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