001package org.dllearner.utilities.owl; 002 003import org.dllearner.core.AbstractComponent; 004import org.dllearner.core.ComponentAnn; 005import org.dllearner.core.config.ConfigOption; 006 007/** 008 * Generic configurable length metric for class expression length calculation 009 */ 010@ComponentAnn(name = "OWL Class Expression Length Metric", shortName = "cel_metric", version = 0.1) 011public class OWLClassExpressionLengthMetric extends AbstractComponent { 012 @ConfigOption(defaultValue = "1", description = "Class: \"C\"") 013 public int classLength = 1; 014 @ConfigOption(defaultValue = "1", description = "Intersection: A\"⨠\"B") 015 public int objectIntersectionLength = 1; 016 @ConfigOption(defaultValue = "1", description = "Union: A\"â¨\"B") 017 public int objectUnionLength = 1; 018 @ConfigOption(defaultValue = "1", description = "Complement: \"¬\"C") 019 public int objectComplementLength = 1; 020 @ConfigOption(defaultValue = "1", description = "Obj. Some Values: \"â\" r.C") 021 public int objectSomeValuesLength = 1; 022 @ConfigOption(defaultValue = "1", description = "Obj. All Values: \"â\" r.C") 023 public int objectAllValuesLength = 1; 024 @ConfigOption(defaultValue = "2", description = "Obj. Has Value: \"â\" r.\"{I}\"") 025 public int objectHasValueLength = 2; 026 @ConfigOption(defaultValue = "2", description = "Obj. Cardinality restriction: \"â¤n\" r.C") 027 public int objectCardinalityLength = 2; 028 @ConfigOption(defaultValue = "2", description = "Obj. Self restriction: \"â\" r.Self") 029 public int objectHasSelfLength = 1; 030 @ConfigOption(defaultValue = "1", description = "Obj. One of: â r.\"{X,Y,Z}\"") 031 public int objectOneOfLength = 1; 032 @ConfigOption(defaultValue = "1", description = "Data Some Values: \"â\" p.t") 033 public int dataSomeValuesLength = 1; 034 @ConfigOption(defaultValue = "1", description = "Data All Values: \"â\" p.t") 035 public int dataAllValuesLength = 1; 036 @ConfigOption(defaultValue = "2", description = "Data Has Value: \"â\" p.\"{V}\"") 037 public int dataHasValueLength = 2; 038 @ConfigOption(defaultValue = "2", description = "Data Cardinality restriction: \"â¤n\" r.t") 039 public int dataCardinalityLength = 2; 040 @ConfigOption(defaultValue = "1", description = "Obj. Property: â \"r\".C") 041 public int objectProperyLength = 1; 042 @ConfigOption(defaultValue = "2", description = "Inverse property: â \"râ»\".C") 043 public int objectInverseLength = 2; 044 @ConfigOption(defaultValue = "1", description = "Data Property: â \"p\".t") 045 public int dataProperyLength = 1; 046 @ConfigOption(defaultValue = "1", description = "Datatype: \"^^datatype\"") 047 public int datatypeLength = 1; 048 @ConfigOption(defaultValue = "1", description = "Data One of: â p.\"{U,V,W}\"") 049 public int dataOneOfLength = 1; 050 @ConfigOption(defaultValue = "1", description = "Data Complement: \"¬\"datatype") 051 public int dataComplementLength = 1; 052 @ConfigOption(defaultValue = "1", description = "Data Intersection: datatype\"⨠\"datatype") 053 public int dataIntersectionLength = 1; 054 @ConfigOption(defaultValue = "1", description = "Data Union: datatype\"<u>â¨</u>\"datatype") 055 public int dataUnionLength = 1; 056 057 public static OWLClassExpressionLengthMetric getDefaultMetric() { 058 OWLClassExpressionLengthMetric metric = new OWLClassExpressionLengthMetric(); 059 return metric; 060 } 061 062 public static OWLClassExpressionLengthMetric getOCELMetric() { 063 OWLClassExpressionLengthMetric metric = new OWLClassExpressionLengthMetric(); 064 metric.dataHasValueLength = 1; 065 metric.objectHasValueLength = 1; 066 metric.dataSomeValuesLength = 0; 067 metric.objectSomeValuesLength = 0; 068 return metric; 069 } 070 071 public int getClassLength() { 072 return classLength; 073 } 074 075 public void setClassLength(int classLength) { 076 this.classLength = classLength; 077 } 078 079 public int getObjectIntersectionLength() { 080 return objectIntersectionLength; 081 } 082 083 public void setObjectIntersectionLength(int objectIntersectionLength) { 084 this.objectIntersectionLength = objectIntersectionLength; 085 } 086 087 public int getObjectUnionLength() { 088 return objectUnionLength; 089 } 090 091 public void setObjectUnionLength(int objectUnionLength) { 092 this.objectUnionLength = objectUnionLength; 093 } 094 095 public int getObjectComplementLength() { 096 return objectComplementLength; 097 } 098 099 public void setObjectComplementLength(int objectComplementLength) { 100 this.objectComplementLength = objectComplementLength; 101 } 102 103 public int getObjectSomeValuesLength() { 104 return objectSomeValuesLength; 105 } 106 107 public void setObjectSomeValuesLength(int objectSomeValuesLength) { 108 this.objectSomeValuesLength = objectSomeValuesLength; 109 } 110 111 public int getObjectAllValuesLength() { 112 return objectAllValuesLength; 113 } 114 115 public void setObjectAllValuesLength(int objectAllValuesLength) { 116 this.objectAllValuesLength = objectAllValuesLength; 117 } 118 119 public int getObjectHasValueLength() { 120 return objectHasValueLength; 121 } 122 123 public void setObjectHasValueLength(int objectHasValueLength) { 124 this.objectHasValueLength = objectHasValueLength; 125 } 126 127 public int getObjectCardinalityLength() { 128 return objectCardinalityLength; 129 } 130 131 public void setObjectCardinalityLength(int objectCardinalityLength) { 132 this.objectCardinalityLength = objectCardinalityLength; 133 } 134 135 public int getObjectOneOfLength() { 136 return objectOneOfLength; 137 } 138 139 public void setObjectOneOfLength(int objectOneOfLength) { 140 this.objectOneOfLength = objectOneOfLength; 141 } 142 143 public int getDataSomeValuesLength() { 144 return dataSomeValuesLength; 145 } 146 147 public void setDataSomeValuesLength(int dataSomeValuesLength) { 148 this.dataSomeValuesLength = dataSomeValuesLength; 149 } 150 151 public int getDataAllValuesLength() { 152 return dataAllValuesLength; 153 } 154 155 public void setDataAllValuesLength(int dataAllValuesLength) { 156 this.dataAllValuesLength = dataAllValuesLength; 157 } 158 159 public int getDataHasValueLength() { 160 return dataHasValueLength; 161 } 162 163 public void setDataHasValueLength(int dataHasValueLength) { 164 this.dataHasValueLength = dataHasValueLength; 165 } 166 167 public int getDataCardinalityLength() { 168 return dataCardinalityLength; 169 } 170 171 public void setDataCardinalityLength(int dataCardinalityLength) { 172 this.dataCardinalityLength = dataCardinalityLength; 173 } 174 175 public int getObjectProperyLength() { 176 return objectProperyLength; 177 } 178 179 public void setObjectProperyLength(int objectProperyLength) { 180 this.objectProperyLength = objectProperyLength; 181 } 182 183 public int getObjectInverseLength() { 184 return objectInverseLength; 185 } 186 187 public void setObjectInverseLength(int objectInverseLength) { 188 this.objectInverseLength = objectInverseLength; 189 } 190 191 public int getDataProperyLength() { 192 return dataProperyLength; 193 } 194 195 public void setDataProperyLength(int dataProperyLength) { 196 this.dataProperyLength = dataProperyLength; 197 } 198 199 public int getDatatypeLength() { 200 return datatypeLength; 201 } 202 203 public void setDatatypeLength(int datatypeLength) { 204 this.datatypeLength = datatypeLength; 205 } 206 207 public int getDataOneOfLength() { 208 return dataOneOfLength; 209 } 210 211 public void setDataOneOfLength(int dataOneOfLength) { 212 this.dataOneOfLength = dataOneOfLength; 213 } 214 215 public int getDataComplementLength() { 216 return dataComplementLength; 217 } 218 219 public void setDataComplementLength(int dataComplementLength) { 220 this.dataComplementLength = dataComplementLength; 221 } 222 223 public int getDataIntersectionLength() { 224 return dataIntersectionLength; 225 } 226 227 public void setDataIntersectionLength(int dataIntersectionLength) { 228 this.dataIntersectionLength = dataIntersectionLength; 229 } 230 231 public int getDataUnionLength() { 232 return dataUnionLength; 233 } 234 235 public void setDataUnionLength(int dataUnionLength) { 236 this.dataUnionLength = dataUnionLength; 237 } 238 239 @Override 240 public void init() { 241 initialized = true; 242 } 243 244}