diff --git a/SensorOntologyV01.owl b/SensorOntologyV01.owl new file mode 100644 index 0000000000000000000000000000000000000000..7a50bb04db4fa2c52e55905fb3e23b611bb5b9f5 --- /dev/null +++ b/SensorOntologyV01.owl @@ -0,0 +1,534 @@ +<?xml version="1.0"?> +<rdf:RDF + xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" + 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="http://www.owl-ontologies.com/unnamed.owl#" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xml:base="http://www.owl-ontologies.com/unnamed.owl"> + <owl:Ontology rdf:about=""> + <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/> + </owl:Ontology> + <owl:Class rdf:ID="Reset"> + <rdfs:subClassOf> + <owl:Class rdf:ID="Genereal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="Calibrate"> + <rdfs:subClassOf> + <owl:Class rdf:about="#Genereal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="Check"> + <rdfs:subClassOf> + <owl:Class rdf:ID="mainFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="DeviceProperties"/> + <owl:Class rdf:ID="setGlobalParameter"> + <rdfs:subClassOf> + <owl:Class rdf:about="#Genereal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="contrastScanner"> + <rdfs:subClassOf> + <owl:Class rdf:ID="detectionSensor"/> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:ID="luminescenceScanner"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:ID="colorSensor"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:ID="Sensor"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="#DeviceProperties"/> + <owl:onProperty> + <owl:ObjectProperty rdf:ID="hasProperties"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:ID="uniqueID"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:equivalentClass> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:ID="hasSkill"/> + </owl:onProperty> + <owl:someValuesFrom> + <owl:Class rdf:ID="SensorSkill"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:ID="PhysicalDevice"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="#hasProperties"/> + </owl:onProperty> + </owl:Restriction> + </owl:unionOf> + </owl:Class> + </owl:equivalentClass> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="#hasProperties"/> + </owl:onProperty> + <owl:someValuesFrom> + <owl:Class rdf:about="#PhysicalDevice"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="#SensorSkill"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="#hasSkill"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="#mainFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:ID="hasMainFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="proximitySwitch"> + <rdfs:subClassOf> + <owl:Class rdf:ID="photoeletricSwitch"/> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:ID="reflexSwitch"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:ID="throughBeanSwitches"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:ID="Communication"> + <owl:disjointWith> + <owl:Class rdf:about="#PhysicalDevice"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="#DeviceProperties"/> + <owl:disjointWith> + <owl:Class rdf:ID="Arrangement"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:ID="loadParameterSet"> + <rdfs:subClassOf> + <owl:Class rdf:about="#Genereal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="Locate"> + <rdfs:subClassOf> + <owl:Class rdf:about="#mainFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#mainFunction"> + <rdfs:subClassOf> + <owl:Class rdf:about="#SensorSkill"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="setExposureTime"> + <rdfs:subClassOf> + <owl:Class rdf:ID="forSensorOnly"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="outputDataFromErrorMemory"> + <rdfs:subClassOf> + <owl:Class rdf:ID="diagnosticFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="saveParameterSet"> + <rdfs:subClassOf> + <owl:Class rdf:about="#Genereal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#PhysicalDevice"> + <rdfs:subClassOf rdf:resource="#DeviceProperties"/> + <owl:disjointWith> + <owl:Class rdf:about="#Arrangement"/> + </owl:disjointWith> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:ID="height"/> + </owl:onProperty> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:ID="length"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:cardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:ID="width"/> + </owl:onProperty> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty> + <owl:FunctionalProperty rdf:ID="mass"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:cardinality> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + <owl:disjointWith rdf:resource="#Communication"/> + </owl:Class> + <owl:Class rdf:ID="distanceSensor"> + <owl:disjointWith> + <owl:Class rdf:about="#photoeletricSwitch"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:ID="smartCamera"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="#Sensor"/> + <owl:disjointWith> + <owl:Class rdf:about="#detectionSensor"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:ID="performeSelfTest"> + <rdfs:subClassOf> + <owl:Class rdf:about="#diagnosticFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#diagnosticFunction"> + <rdfs:subClassOf> + <owl:Class rdf:about="#SensorSkill"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="setMeasurementRange"> + <rdfs:subClassOf> + <owl:Class rdf:about="#forSensorOnly"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="setWaveLengthOfLight"> + <rdfs:subClassOf> + <owl:Class rdf:about="#forSensorOnly"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#Genereal"> + <rdfs:subClassOf> + <owl:Class rdf:ID="additionalFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="setIlluminationOpticalSensor"> + <rdfs:subClassOf> + <owl:Class rdf:about="#forSensorOnly"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="loadSoftwareComponents"> + <rdfs:subClassOf rdf:resource="#Genereal"/> + </owl:Class> + <owl:Class rdf:about="#luminescenceScanner"> + <owl:disjointWith rdf:resource="#contrastScanner"/> + <rdfs:subClassOf> + <owl:Class rdf:about="#detectionSensor"/> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="#colorSensor"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:ID="Measure"> + <rdfs:subClassOf rdf:resource="#mainFunction"/> + </owl:Class> + <owl:Class rdf:about="#reflexSwitch"> + <owl:disjointWith> + <owl:Class rdf:about="#throughBeanSwitches"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="#proximitySwitch"/> + <rdfs:subClassOf> + <owl:Class rdf:about="#photoeletricSwitch"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#colorSensor"> + <owl:disjointWith rdf:resource="#luminescenceScanner"/> + <rdfs:subClassOf> + <owl:Class rdf:about="#detectionSensor"/> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="#contrastScanner"/> + </owl:Class> + <owl:Class rdf:about="#throughBeanSwitches"> + <rdfs:subClassOf> + <owl:Class rdf:about="#photoeletricSwitch"/> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="#reflexSwitch"/> + <owl:disjointWith rdf:resource="#proximitySwitch"/> + </owl:Class> + <owl:Class rdf:about="#photoeletricSwitch"> + <owl:disjointWith> + <owl:Class rdf:about="#smartCamera"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="#detectionSensor"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="#Sensor"/> + <owl:disjointWith rdf:resource="#distanceSensor"/> + </owl:Class> + <owl:Class rdf:about="#SensorSkill"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >0</owl:minCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:ID="in"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:ID="out"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" + >1</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#forSensorOnly"> + <rdfs:subClassOf> + <owl:Class rdf:about="#additionalFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="Scan"> + <rdfs:subClassOf rdf:resource="#mainFunction"/> + </owl:Class> + <owl:Class rdf:ID="Classify"> + <rdfs:subClassOf rdf:resource="#mainFunction"/> + </owl:Class> + <owl:Class rdf:about="#detectionSensor"> + <rdfs:subClassOf rdf:resource="#Sensor"/> + <owl:disjointWith> + <owl:Class rdf:about="#smartCamera"/> + </owl:disjointWith> + <owl:equivalentClass> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:ID="Detect"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="#hasMainFunction"/> + </owl:onProperty> + </owl:Restriction> + </owl:equivalentClass> + <owl:disjointWith rdf:resource="#distanceSensor"/> + <owl:disjointWith rdf:resource="#photoeletricSwitch"/> + </owl:Class> + <owl:Class rdf:ID="to_add_more"> + <rdfs:subClassOf rdf:resource="#forSensorOnly"/> + </owl:Class> + <owl:Class rdf:ID="setResolution"> + <rdfs:subClassOf rdf:resource="#forSensorOnly"/> + </owl:Class> + <owl:Class rdf:ID="adjustThreshold"> + <rdfs:subClassOf rdf:resource="#forSensorOnly"/> + </owl:Class> + <owl:Class rdf:about="#Detect"> + <rdfs:subClassOf rdf:resource="#mainFunction"/> + </owl:Class> + <owl:Class rdf:ID="visionSensor"> + <rdfs:subClassOf> + <owl:Class rdf:about="#smartCamera"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:ID="collectProcessStatistic"> + <rdfs:subClassOf rdf:resource="#diagnosticFunction"/> + </owl:Class> + <owl:Class rdf:ID="Sort"> + <rdfs:subClassOf rdf:resource="#mainFunction"/> + </owl:Class> + <owl:Class rdf:about="#smartCamera"> + <owl:disjointWith rdf:resource="#detectionSensor"/> + <owl:disjointWith rdf:resource="#photoeletricSwitch"/> + <rdfs:subClassOf rdf:resource="#Sensor"/> + <owl:disjointWith rdf:resource="#distanceSensor"/> + </owl:Class> + <owl:Class rdf:about="#additionalFunction"> + <rdfs:subClassOf rdf:resource="#SensorSkill"/> + </owl:Class> + <owl:Class rdf:about="#Arrangement"> + <owl:disjointWith rdf:resource="#PhysicalDevice"/> + <rdfs:subClassOf rdf:resource="#DeviceProperties"/> + <owl:disjointWith rdf:resource="#Communication"/> + </owl:Class> + <owl:ObjectProperty rdf:ID="hasAddictionalFunction"> + <rdfs:range rdf:resource="#additionalFunction"/> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="#hasSkill"/> + </rdfs:subPropertyOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="#hasSkill"> + <rdfs:domain rdf:resource="#Sensor"/> + <rdfs:range rdf:resource="#SensorSkill"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="#hasProperties"> + <rdfs:domain rdf:resource="#Sensor"/> + <rdfs:range rdf:resource="#DeviceProperties"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="#hasMainFunction"> + <rdfs:range rdf:resource="#mainFunction"/> + <rdfs:subPropertyOf rdf:resource="#hasSkill"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:ID="hasDiagnosticFunction"> + <rdfs:range rdf:resource="#diagnosticFunction"/> + <rdfs:subPropertyOf rdf:resource="#hasSkill"/> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:ID="mechanicalResistance"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="lightType"> + <rdfs:domain rdf:resource="#Detect"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="cost"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="shape"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="allowedMinAmbientTemperature"> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="description"> + <rdfs:domain rdf:resource="#Sensor"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="enclosureRatingIP"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="protocol"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#Communication"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="laserClass"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="mountedDevicePosition"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#Arrangement"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="coordinateReferenceSystem"> + <rdfs:domain rdf:resource="#Arrangement"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="mountedDeviceOrientation"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#Arrangement"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="#uniqueID"> + <rdfs:domain rdf:resource="#Sensor"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#ID"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="powerConsumption"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="allowedMaxAmbientTemperature"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="#height"> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="#out"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#SensorSkill"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:ID="physicalInterface"> + <rdfs:domain rdf:resource="#Communication"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="#in"> + <rdfs:domain rdf:resource="#SensorSkill"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="#length"> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty> + <owl:FunctionalProperty rdf:ID="responseTime"> + <rdfs:domain rdf:resource="#mainFunction"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:ID="switchingFrequency"> + <rdfs:domain rdf:resource="#mainFunction"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="#width"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:ID="scanningDistance"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdfs:domain rdf:resource="#mainFunction"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="#mass"> + <rdfs:domain rdf:resource="#PhysicalDevice"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:ID="lightSpotSize"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:domain rdf:resource="#Detect"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> +<!-- <photoeletricSwitch rdf:ID="photoeletricSwitch_2"/> --> +<!-- <photoeletricSwitch rdf:ID="photoeletricSwitch_1"/> --> +</rdf:RDF> + +<!-- Created with Protege (with OWL Plugin 2.1, Build 284) http://protege.stanford.edu --> + diff --git a/owl.ast b/owl.ast index bda8c2e279dfc817e3bea3ef4e1e0902222e61b3..83d24325ff378f8ac3319df645224f9afa058441 100644 --- a/owl.ast +++ b/owl.ast @@ -11,18 +11,23 @@ RdfDeclaration : ComplexElement; RdfFirst : ComplexElement; RdfRest : ComplexElement; RdfType : ComplexElement; -RdfsSubClassOf : ComplexElement; RdfsDomain : ComplexElement; RdfsRange : ComplexElement; +RdfsSubClassOf : ComplexElement; +RdfsSubPropertyOf : ComplexElement; OwlOntology : ComplexElement; OwlAllValuesFrom : ComplexElement; +OwlCardinality : ComplexElement; OwlClass : ComplexElement; OwlDataRange : ComplexElement; OwlDatatypeProperty : ComplexElement; OwlDisjointWith : ComplexElement; OwlEquivalentClass : ComplexElement; OwlFunctionalProperty : ComplexElement; +OwlImports : ComplexElement; +OwlIntersectionOf : ComplexElement; OwlInverseOf : ComplexElement; +OwlMinCardinality : ComplexElement; OwlObjectProperty : ComplexElement; OwlOneOf : ComplexElement; OwlOnProperty : ComplexElement; @@ -43,6 +48,9 @@ RdfParseType : Attribute; RdfResource : Attribute; XmlBase : Attribute; Xmlns : Attribute; +XmlnsDaml : Attribute; +XmlnsDc : Attribute; +XmlnsProtege : Attribute; XmlnsRdf : Attribute; XmlnsXsd : Attribute; XmlnsRdfs : Attribute; diff --git a/owl.jjt b/owl.jjt index 286fdd4e0364ac9d4cc6d0b947616fc65f833238..73007c11a7fd9bd83182d100bbab89a8eb80db8e 100644 --- a/owl.jjt +++ b/owl.jjt @@ -54,33 +54,18 @@ SPECIAL_TOKEN : /* COMMENTS */ <DEFAULT, BOUNDS> TOKEN : /* RESERVED WORDS AND LITERALS */ { - < XML : "xml" > - | < XML_BASE : "xml:base" > - | < XMLNS : "xmlns" > - | < XMLNS_RDF : "xmlns:rdf" > - | < XMLNS_XSD : "xmlns:xsd" > - | < XMLNS_RDFS : "xmlns:rdfs" > - | < XMLNS_OWL : "xmlns:owl" > - | < RDF_RDF : "rdf:RDF" > - | < RDF_ABOUT : "rdf:about" > - | < RDF_DATATYPE : "rdf:datatype" > - | < RDF_ID : "rdf:ID" > - | < RDF_FIRST : "rdf:first" > - | < RDF_REST : "rdf:rest" > - | < RDF_PARSETYPE : "rdf:parseType" > - | < RDF_RESOURCE : "rdf:resource" > - | < RDF_TYPE : "rdf:type" > - | < RDFS_DOMAIN : "rdfs:domain" > - | < RDFS_RANGE : "rdfs:range" > - | < RDFS_SUBCLASSOF : "rdfs:subClassOf" > - | < OWL_ALLVALUESFROM : "owl:allValuesFrom" > + < OWL_ALLVALUESFROM : "owl:allValuesFrom" > + | < OWL_CARDINALITY : "owl:cardinality" > | < OWL_CLASS : "owl:Class" > | < OWL_DATARANGE : "owl:DataRange" > | < OWL_DATATYPEPROPERTY : "owl:DatatypeProperty" > | < OWL_DISJOINTWITH : "owl:disjointWith" > | < OWL_EQUIVALENTCLASS : "owl:equivalentClass" > | < OWL_FUNCTIONALPROPERTY : "owl:FunctionalProperty" > + | < OWL_IMPORTS : "owl:imports" > + | < OWL_INTERSECTIONOF : "owl:intersectionOf" > | < OWL_INVERSEOF : "owl:inverseOf" > + | < OWL_MINCARDINALITY : "owl:minCardinality" > | < OWL_OBJECTPROPERTY : "owl:ObjectProperty" > | < OWL_ONPROPERTY : "owl:onProperty" > | < OWL_ONEOF : "owl:oneOf" > @@ -88,10 +73,32 @@ SPECIAL_TOKEN : /* COMMENTS */ | < OWL_RESTRICTION : "owl:Restriction" > | < OWL_SOMEVALUESFROM : "owl:someValuesFrom" > | < OWL_UNIONOF : "owl:unionOf" > + | < RDF_RDF : "rdf:RDF" > + | < RDF_ABOUT : "rdf:about" > + | < RDF_DATATYPE : "rdf:datatype" > + | < RDF_ID : "rdf:ID" > + | < RDF_FIRST : "rdf:first" > + | < RDF_REST : "rdf:rest" > + | < RDF_PARSETYPE : "rdf:parseType" > + | < RDF_RESOURCE : "rdf:resource" > + | < RDF_TYPE : "rdf:type" > + | < RDFS_DOMAIN : "rdfs:domain" > + | < RDFS_RANGE : "rdfs:range" > + | < RDFS_SUBCLASSOF : "rdfs:subClassOf" > + | < RDFS_SUBPROPERTYOF : "rdfs:subPropertyOf" > | < VERSION : "version" > + | < XML : "xml" > + | < XML_BASE : "xml:base" > + | < XMLNS : "xmlns" > + | < XMLNS_DAML : "xmlns:daml" > + | < XMLNS_DC : "xmlns:dc" > + | < XMLNS_PROTEGE : "xmlns:protege" > + | < XMLNS_RDF : "xmlns:rdf" > + | < XMLNS_XSD : "xmlns:xsd" > + | < XMLNS_RDFS : "xmlns:rdfs" > + | < XMLNS_OWL : "xmlns:owl" > }// RESERVED WORDS AND LITERALS - <DEFAULT, BOUNDS> TOKEN : /* LITERALS */ { < INTEGER_LITERAL: @@ -315,13 +322,17 @@ void OwlElement() : {} { OwlOntology() | OwlAllValuesFrom() + | OwlCardinality() | OwlClass() | OwlDataRange() | OwlDatatypeProperty() | OwlDisjointWith() | OwlEquivalentClass() | OwlFunctionalProperty() + | OwlImports() + | OwlIntersectionOf() | OwlInverseOf() + | OwlMinCardinality() | OwlObjectProperty() | OwlOneOf() | OwlOnProperty() @@ -332,7 +343,8 @@ void OwlElement() : {} void OwlOntology() #OwlOntology : {} { - <OWL_ONTOLOGY> AttributeList() ElementList() "/>" + <OWL_ONTOLOGY> AttributeList() + (">" ElementList() "</" <OWL_ONTOLOGY> ">" | ElementList() "/>") } void OwlAllValuesFrom() #OwlAllValuesFrom : {} @@ -341,6 +353,12 @@ void OwlAllValuesFrom() #OwlAllValuesFrom : {} (">" ElementList() "</" <OWL_ALLVALUESFROM> ">" | ElementList() "/>") } +void OwlCardinality() #OwlCardinality : {} +{ + <OWL_CARDINALITY> AttributeList() + (">" ElementList() "</" <OWL_CARDINALITY> ">" | ElementList() "/>") +} + void OwlClass() #OwlClass : {} { <OWL_CLASS> AttributeList() @@ -377,12 +395,30 @@ void OwlFunctionalProperty() #OwlFunctionalProperty : {} (">" ElementList() "</" <OWL_FUNCTIONALPROPERTY> ">" | ElementList() "/>") } +void OwlImports () #OwlImports : {} +{ + <OWL_IMPORTS> AttributeList() + (">" ElementList() "</" <OWL_IMPORTS> ">" | ElementList() "/>") +} + +void OwlIntersectionOf () #OwlIntersectionOf : {} +{ + <OWL_INTERSECTIONOF> AttributeList() + (">" ElementList() "</" <OWL_INTERSECTIONOF> ">" | ElementList() "/>") +} + void OwlInverseOf () #OwlInverseOf : {} { <OWL_INVERSEOF> AttributeList() (">" ElementList() "</" <OWL_INVERSEOF> ">" | ElementList() "/>") } +void OwlMinCardinality () #OwlMinCardinality : {} +{ + <OWL_MINCARDINALITY> AttributeList() + (">" ElementList() "</" <OWL_MINCARDINALITY> ">" | ElementList() "/>") +} + void OwlObjectProperty () #OwlObjectProperty : {} { <OWL_OBJECTPROPERTY> AttributeList() @@ -424,9 +460,10 @@ void RdfElement() : {} RdfType() | RdfFirst() | RdfRest() - | RdfsSubClassOf() | RdfsDomain() | RdfsRange() + | RdfsSubClassOf() + | RdfsSubPropertyOf() } void RdfType() #RdfType : {} @@ -465,6 +502,12 @@ void RdfsSubClassOf() #RdfsSubClassOf : {} (">" ElementList() "</" <RDFS_SUBCLASSOF> ">" | ElementList() "/>") } +void RdfsSubPropertyOf() #RdfsSubPropertyOf : {} +{ + <RDFS_SUBPROPERTYOF> AttributeList() + (">" ElementList() "</" <RDFS_SUBPROPERTYOF> ">" | ElementList() "/>") +} + void AttributeList() #List : {} { (Attribute())* @@ -530,10 +573,13 @@ void XmlBase() #XmlBase : {} void XmlnsAttribute() : {} { Xmlns() + | XmlnsDaml() + | XmlnsDc() + | XmlnsOwl() + | XmlnsProtege() | XmlnsRdf() - | XmlnsXsd() | XmlnsRdfs() - | XmlnsOwl() + | XmlnsXsd() } void Xmlns() #Xmlns : {} @@ -541,6 +587,21 @@ void Xmlns() #Xmlns : {} <XMLNS> <ASSIGN> Value() } +void XmlnsDaml() #XmlnsDaml : {} +{ + <XMLNS_DAML> <ASSIGN> Value() +} + +void XmlnsDc() #XmlnsDc : {} +{ + <XMLNS_DC> <ASSIGN> Value() +} + +void XmlnsProtege() #XmlnsProtege : {} +{ + <XMLNS_PROTEGE> <ASSIGN> Value() +} + void XmlnsRdf() #XmlnsRdf : {} { <XMLNS_RDF> <ASSIGN> Value()