private ATermAppl parseDataRangeLegacy(final Node s, final Node definition) { if (!definition.isURI()) { addUnsupportedFeature("Invalid datatype definition, _expected URI but found " + s); return ATermUtils.BOTTOM_LIT; } final ATermAppl baseDatatype = ATermUtils.makeTermAppl(definition.getURI()); final Property[] datatypeFacets = new Property[] { OWL2.minInclusive, OWL2.maxInclusive, OWL2.minExclusive, OWL2.maxExclusive, OWL2.totalDigits, OWL2.fractionDigits, OWL2.pattern }; final List<ATermAppl> restrictions = new ArrayList<>(); for (final Property datatypeFacet : datatypeFacets) { final Node facetValue = getObject(s, datatypeFacet.asNode()); if (facetValue != null) { final ATermAppl restriction = ATermUtils.makeFacetRestriction(ATermUtils.makeTermAppl(datatypeFacet.getURI()), JenaUtils.makeATerm(facetValue)); restrictions.add(restriction); } } if (restrictions.isEmpty()) { addUnsupportedFeature("A _data range is defined without XSD facet restrictions " + s); return ATermUtils.BOTTOM_LIT; } else return ATermUtils.makeRestrictedDatatype(baseDatatype, restrictions.toArray(new ATermAppl[restrictions.size()])); }
@Override public Node next() { final Node first = getFirst(_list); _monitor.incrementProgress(); final Node rest = getRest(_list); _monitor.incrementProgress(); if (first == null || rest == null) { addUnsupportedFeature("Invalid _list structure: List " + _list + " does not have a " + (first == null ? "rdf:first" : "rdf:rest") + " property. Ignoring rest of the _list."); return null; } _list = rest; return first; }
@Override public Node next() { final Node first = getFirst(_list); _monitor.incrementProgress(); final Node rest = getRest(_list); _monitor.incrementProgress(); if (first == null || rest == null) { addUnsupportedFeature("Invalid _list structure: List " + _list + " does not have a " + (first == null ? "rdf:first" : "rdf:rest") + " property. Ignoring rest of the _list."); return null; } _list = rest; return first; }
@Override public Node next() { final Node first = getFirst(_list); _monitor.incrementProgress(); final Node rest = getRest(_list); _monitor.incrementProgress(); if (first == null || rest == null) { addUnsupportedFeature("Invalid _list structure: List " + _list + " does not have a " + (first == null ? "rdf:first" : "rdf:rest") + " property. Ignoring rest of the _list."); return null; } _list = rest; return first; }
private ATermAppl parseDataRangeLegacy(final Node s, final Node definition) { if (!definition.isURI()) { addUnsupportedFeature("Invalid datatype definition, _expected URI but found " + s); return ATermUtils.BOTTOM_LIT; } final ATermAppl baseDatatype = ATermUtils.makeTermAppl(definition.getURI()); final Property[] datatypeFacets = new Property[] { OWL2.minInclusive, OWL2.maxInclusive, OWL2.minExclusive, OWL2.maxExclusive, OWL2.totalDigits, OWL2.fractionDigits, OWL2.pattern }; final List<ATermAppl> restrictions = new ArrayList<>(); for (final Property datatypeFacet : datatypeFacets) { final Node facetValue = getObject(s, datatypeFacet.asNode()); if (facetValue != null) { final ATermAppl restriction = ATermUtils.makeFacetRestriction(ATermUtils.makeTermAppl(datatypeFacet.getURI()), JenaUtils.makeATerm(facetValue)); restrictions.add(restriction); } } if (restrictions.isEmpty()) { addUnsupportedFeature("A _data range is defined without XSD facet restrictions " + s); return ATermUtils.BOTTOM_LIT; } else return ATermUtils.makeRestrictedDatatype(baseDatatype, restrictions.toArray(new ATermAppl[restrictions.size()])); }
private ATermAppl parseDataRangeLegacy(final Node s, final Node definition) { if (!definition.isURI()) { addUnsupportedFeature("Invalid datatype definition, _expected URI but found " + s); return ATermUtils.BOTTOM_LIT; } final ATermAppl baseDatatype = ATermUtils.makeTermAppl(definition.getURI()); final Property[] datatypeFacets = new Property[] { OWL2.minInclusive, OWL2.maxInclusive, OWL2.minExclusive, OWL2.maxExclusive, OWL2.totalDigits, OWL2.fractionDigits, OWL2.pattern }; final List<ATermAppl> restrictions = new ArrayList<>(); for (final Property datatypeFacet : datatypeFacets) { final Node facetValue = getObject(s, datatypeFacet.asNode()); if (facetValue != null) { final ATermAppl restriction = ATermUtils.makeFacetRestriction(ATermUtils.makeTermAppl(datatypeFacet.getURI()), JenaUtils.makeATerm(facetValue)); restrictions.add(restriction); } } if (restrictions.isEmpty()) { addUnsupportedFeature("A _data range is defined without XSD facet restrictions " + s); return ATermUtils.BOTTOM_LIT; } else return ATermUtils.makeRestrictedDatatype(baseDatatype, restrictions.toArray(new ATermAppl[restrictions.size()])); }
private List<AtomDObject> parseArgumentList(final Node argumentListParam) { Node argumentList = argumentListParam; final List<AtomDObject> arguments = new ArrayList<>(); while (argumentList != null && !argumentList.equals(RDF.nil.asNode())) { final Node argumentNode = getObject(argumentList, RDF.first.asNode()); if (argumentNode == null) addUnsupportedFeature("Term in _list not found " + RDF.first); else { arguments.add(createRuleDObject(argumentNode)); argumentList = getObject(argumentList, RDF.rest.asNode()); } } return arguments; }
private List<AtomDObject> parseArgumentList(final Node argumentListParam) { Node argumentList = argumentListParam; final List<AtomDObject> arguments = new ArrayList<>(); while (argumentList != null && !argumentList.equals(RDF.nil.asNode())) { final Node argumentNode = getObject(argumentList, RDF.first.asNode()); if (argumentNode == null) addUnsupportedFeature("Term in _list not found " + RDF.first); else { arguments.add(createRuleDObject(argumentNode)); argumentList = getObject(argumentList, RDF.rest.asNode()); } } return arguments; }
private AtomDObject createRuleDObject(final Node node) { if (!node.isLiteral()) { final ATermAppl name = node2term(node); if (!ATermUtils.isPrimitive(name)) { addUnsupportedFeature("Cannot create rule _data variable out of " + node); return null; } return new AtomDVariable(name.toString()); } else return new AtomDConstant(node2term(node)); }
private List<AtomDObject> parseArgumentList(final Node argumentListParam) { Node argumentList = argumentListParam; final List<AtomDObject> arguments = new ArrayList<>(); while (argumentList != null && !argumentList.equals(RDF.nil.asNode())) { final Node argumentNode = getObject(argumentList, RDF.first.asNode()); if (argumentNode == null) addUnsupportedFeature("Term in _list not found " + RDF.first); else { arguments.add(createRuleDObject(argumentNode)); argumentList = getObject(argumentList, RDF.rest.asNode()); } } return arguments; }
private AtomDObject createRuleDObject(final Node node) { if (!node.isLiteral()) { final ATermAppl name = node2term(node); if (!ATermUtils.isPrimitive(name)) { addUnsupportedFeature("Cannot create rule _data variable out of " + node); return null; } return new AtomDVariable(name.toString()); } else return new AtomDConstant(node2term(node)); }
private AtomDObject createRuleDObject(final Node node) { if (!node.isLiteral()) { final ATermAppl name = node2term(node); if (!ATermUtils.isPrimitive(name)) { addUnsupportedFeature("Cannot create rule _data variable out of " + node); return null; } return new AtomDVariable(name.toString()); } else return new AtomDConstant(node2term(node)); }
addUnsupportedFeature("Invalid datatype definition, _expected URI but found " + s); return ATermUtils.BOTTOM_LIT; addUnsupportedFeature("A _data range is defined without XSD facet restrictions " + s); return ATermUtils.BOTTOM_LIT;
addUnsupportedFeature("Invalid datatype definition, _expected URI but found " + s); return ATermUtils.BOTTOM_LIT; addUnsupportedFeature("A _data range is defined without XSD facet restrictions " + s); return ATermUtils.BOTTOM_LIT;
private AtomIObject createRuleIObject(final Node node) { if (hasObject(node, RDF.type.asNode(), SWRL.Variable.asNode())) return new AtomIVariable(node.getURI()); else { final ATermAppl term = node2term(node); if (defineIndividual(term)) return new AtomIConstant(node2term(node)); else { addUnsupportedFeature("Cannot create rule _individual object for _node " + node); return null; } } }
private AtomIObject createRuleIObject(final Node node) { if (hasObject(node, RDF.type.asNode(), SWRL.Variable.asNode())) return new AtomIVariable(node.getURI()); else { final ATermAppl term = node2term(node); if (defineIndividual(term)) return new AtomIConstant(node2term(node)); else { addUnsupportedFeature("Cannot create rule _individual object for _node " + node); return null; } } }
private AtomIObject createRuleIObject(final Node node) { if (hasObject(node, RDF.type.asNode(), SWRL.Variable.asNode())) return new AtomIVariable(node.getURI()); else { final ATermAppl term = node2term(node); if (defineIndividual(term)) return new AtomIConstant(node2term(node)); else { addUnsupportedFeature("Cannot create rule _individual object for _node " + node); return null; } } }
private void defineRule(final Node node) { final List<RuleAtom> head = parseAtomList(getObject(node, SWRL.head.asNode())); final List<RuleAtom> body = parseAtomList(getObject(node, SWRL.body.asNode())); if (head == null || body == null) { String whichPart = "head and body"; if (head != null) whichPart = "body"; else if (body != null) whichPart = "head"; addUnsupportedFeature("Ignoring SWRL rule (unsupported " + whichPart + "): " + node); return; } final ATermAppl name = JenaUtils.makeATerm(node); final Rule rule = new Rule(name, head, body); _kb.addRule(rule); }
private void defineRule(final Node node) { final List<RuleAtom> head = parseAtomList(getObject(node, SWRL.head.asNode())); final List<RuleAtom> body = parseAtomList(getObject(node, SWRL.body.asNode())); if (head == null || body == null) { String whichPart = "head and body"; if (head != null) whichPart = "body"; else if (body != null) whichPart = "head"; addUnsupportedFeature("Ignoring SWRL rule (unsupported " + whichPart + "): " + node); return; } final ATermAppl name = JenaUtils.makeATerm(node); final Rule rule = new Rule(name, head, body); _kb.addRule(rule); }
private void defineRule(final Node node) { final List<RuleAtom> head = parseAtomList(getObject(node, SWRL.head.asNode())); final List<RuleAtom> body = parseAtomList(getObject(node, SWRL.body.asNode())); if (head == null || body == null) { String whichPart = "head and body"; if (head != null) whichPart = "body"; else if (body != null) whichPart = "head"; addUnsupportedFeature("Ignoring SWRL rule (unsupported " + whichPart + "): " + node); return; } final ATermAppl name = JenaUtils.makeATerm(node); final Rule rule = new Rule(name, head, body); _kb.addRule(rule); }