Search in sources :

Example 21 with ArgumentSWRLAtom

use of org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom in project stanbol by apache.

the class StartsWithAtom method adapt.

@SuppressWarnings("unchecked")
@Override
public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption, UnavailableRuleObjectException, UnsupportedTypeForExportException {
    org.apache.stanbol.rules.manager.atoms.StartsWithAtom tmp = (org.apache.stanbol.rules.manager.atoms.StartsWithAtom) ruleAtom;
    ExpressionAtom argument = tmp.getArgument();
    ExpressionAtom term = tmp.getTerm();
    OWLDataFactory factory = OWLManager.getOWLDataFactory();
    SWRLAtom swrlAtom1 = (SWRLAtom) adapter.adaptTo(argument, SWRLRule.class);
    SWRLAtom swrlAtom2 = (SWRLAtom) adapter.adaptTo(term, SWRLRule.class);
    SWRLDArgument swrldArgument1;
    SWRLDArgument swrldArgument2;
    List<SWRLAtom> listOfArguments = new ArrayList<SWRLAtom>();
    if (swrlAtom1 instanceof HigherOrderSWRLAtom) {
        swrldArgument1 = ((HigherOrderSWRLAtom) swrlAtom1).getBindableArgument();
        listOfArguments.addAll(((HigherOrderSWRLAtom) swrlAtom1).getAtoms());
    } else if (swrlAtom1 instanceof ArgumentSWRLAtom) {
        SWRLArgument swrlArgument = ((ArgumentSWRLAtom) swrlAtom1).getSwrlArgument();
        swrldArgument1 = (SWRLDArgument) swrlArgument;
    } else {
        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
    }
    if (swrlAtom2 instanceof HigherOrderSWRLAtom) {
        swrldArgument2 = ((HigherOrderSWRLAtom) swrlAtom2).getBindableArgument();
        listOfArguments.addAll(((HigherOrderSWRLAtom) swrlAtom2).getAtoms());
    } else if (swrlAtom2 instanceof ArgumentSWRLAtom) {
        SWRLArgument swrlArgument = ((ArgumentSWRLAtom) swrlAtom2).getSwrlArgument();
        swrldArgument2 = (SWRLDArgument) swrlArgument;
    } else {
        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
    }
    List<SWRLDArgument> swrldArguments = new ArrayList<SWRLDArgument>();
    swrldArguments.add(swrldArgument1);
    swrldArguments.add(swrldArgument2);
    return (T) factory.getSWRLBuiltInAtom(SWRLBuiltInsVocabulary.STARTS_WITH.getIRI(), swrldArguments);
}
Also used : ArrayList(java.util.ArrayList) ArgumentSWRLAtom(org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom) RuleAtomCallExeption(org.apache.stanbol.rules.base.api.RuleAtomCallExeption) ExpressionAtom(org.apache.stanbol.rules.manager.atoms.ExpressionAtom) HigherOrderSWRLAtom(org.apache.stanbol.rules.adapters.swrl.HigherOrderSWRLAtom) SWRLDArgument(org.semanticweb.owlapi.model.SWRLDArgument) SWRLAtom(org.semanticweb.owlapi.model.SWRLAtom) ArgumentSWRLAtom(org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom) HigherOrderSWRLAtom(org.apache.stanbol.rules.adapters.swrl.HigherOrderSWRLAtom) SWRLRule(org.semanticweb.owlapi.model.SWRLRule) SWRLArgument(org.semanticweb.owlapi.model.SWRLArgument) OWLDataFactory(org.semanticweb.owlapi.model.OWLDataFactory)

Example 22 with ArgumentSWRLAtom

use of org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom in project stanbol by apache.

the class StringAtom method adapt.

@SuppressWarnings("unchecked")
@Override
public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
    org.apache.stanbol.rules.manager.atoms.StringAtom tmp = (org.apache.stanbol.rules.manager.atoms.StringAtom) ruleAtom;
    String string = tmp.getString();
    OWLDataFactory factory = OWLManager.getOWLDataFactory();
    SWRLDArgument swrldArgument = null;
    if (string.startsWith(Symbols.variablesPrefix)) {
        swrldArgument = factory.getSWRLVariable(IRI.create(string));
    } else {
        swrldArgument = SWRLLiteralBuilder.getSWRLLiteral(string);
    }
    return (T) new ArgumentSWRLAtom(swrldArgument, string);
}
Also used : ArgumentSWRLAtom(org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom) SWRLDArgument(org.semanticweb.owlapi.model.SWRLDArgument) OWLDataFactory(org.semanticweb.owlapi.model.OWLDataFactory)

Aggregations

ArgumentSWRLAtom (org.apache.stanbol.rules.adapters.swrl.ArgumentSWRLAtom)22 OWLDataFactory (org.semanticweb.owlapi.model.OWLDataFactory)18 SWRLDArgument (org.semanticweb.owlapi.model.SWRLDArgument)17 RuleAtomCallExeption (org.apache.stanbol.rules.base.api.RuleAtomCallExeption)16 SWRLAtom (org.semanticweb.owlapi.model.SWRLAtom)16 SWRLRule (org.semanticweb.owlapi.model.SWRLRule)16 ArrayList (java.util.ArrayList)12 HigherOrderSWRLAtom (org.apache.stanbol.rules.adapters.swrl.HigherOrderSWRLAtom)12 SWRLArgument (org.semanticweb.owlapi.model.SWRLArgument)12 ExpressionAtom (org.apache.stanbol.rules.manager.atoms.ExpressionAtom)9 SWRLBuiltInAtom (org.semanticweb.owlapi.model.SWRLBuiltInAtom)8 SWRLIArgument (org.semanticweb.owlapi.model.SWRLIArgument)5 URI (java.net.URI)4 IObjectAtom (org.apache.stanbol.rules.manager.atoms.IObjectAtom)4 StringFunctionAtom (org.apache.stanbol.rules.manager.atoms.StringFunctionAtom)3 RuleAtom (org.apache.stanbol.rules.base.api.RuleAtom)1 NumericFunctionAtom (org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom)1 OWLClass (org.semanticweb.owlapi.model.OWLClass)1 OWLDataProperty (org.semanticweb.owlapi.model.OWLDataProperty)1 OWLIndividual (org.semanticweb.owlapi.model.OWLIndividual)1