public OWLNamedIndividual assertPropertyChain( KnowledgeHelper kh, String path, OWLNamedIndividual srcVar, String modelNS) { StringTokenizer tok = new StringTokenizer(path, "."); List<String> chain = new ArrayList<String>(tok.countTokens()); while (tok.hasMoreTokens()) { chain.add(tok.nextToken()); } Collections.reverse(chain); OWLNamedIndividual current = srcVar; for (int j = 0; j < chain.size(); j++) { String prop = chain.get(j); OWLNamedIndividual propCode = asIndividual(modelNS + prop); kh.insert(assertObjectProperty("ops:propCode", current, propCode)); kh.insert(assertDataProperty("skos-ext:code", propCode, modelNS + prop)); kh.insert(assertType(current, "ops:DomainPropertyExpression")); if (j != chain.size() - 1) { OWLNamedIndividual expr = asIndividual("tns:PropertyExpr_" + System.identityHashCode(prop)); kh.insert(assertObjectProperty("ops:source", current, expr)); current = expr; } } return current; }
public OWLNamedIndividual assertExpression(KnowledgeHelper kh, String op, Object root) { OWLNamedIndividual expr = asExpressionIndividual(op, root); OWLNamedIndividual opCode = asIndividual("ops:Op_" + op); kh.insert(assertObjectProperty("ops:opCode", expr, opCode)); kh.insert(assertDataProperty("skos-ext:code", opCode, op)); String actualOp = mapOperation(op); if (actualOp != null) { kh.insert(assertType(expr, determineNamespace(actualOp) + actualOp + "Expression")); } return expr; }
public void assertNullSafeDataProperty( KnowledgeHelper drools, String property, OWLNamedIndividual src, String tgt, String type) { if (!"null".equals(tgt)) { if (type.startsWith("xsd:")) { // hack: using the short form type = IRI.create("http://www.w3.org/2001/XMLSchema#" + type.substring(4)).toString(); } else { System.out.println("Unkokwn type"); } drools.insert(assertTypedDataProperty(property, src, tgt, type)); } }
public void assertCD(KnowledgeHelper kh, String property, OWLNamedIndividual src, Object code) { OWLNamedIndividual cd = asIndividual(code); kh.insert(assertObjectProperty(property, src, cd)); kh.insert(assertType(cd, "skos-ext:ConceptCode")); String codeVal = extractStringProperty("getCode", code); if (codeVal != null) { kh.insert(assertDataProperty("skos-ext:code", cd, codeVal)); } String codeSystem = extractStringProperty("getCodeSystem", code); if (codeSystem != null) { kh.insert(assertDataProperty("skos-ext:codeSystem", cd, codeSystem)); } String codeSystemName = extractStringProperty("getCodeSystemName", code); if (codeSystemName != null) { kh.insert(assertDataProperty("skos-ext:codeSystemName", cd, codeSystemName)); } String text = extractStringProperty("getOriginalText", code); if (text != null) { kh.insert(assertDataProperty("skos-ext:label", cd, text)); } }