1 /* 2 wsmo4j - a WSMO API and Reference Implementation 3 4 Copyright (c) 2004, , University of Innsbruck, Austria 5 6 This library is free software; you can redistribute it and/or modify it under 7 the terms of the GNU Lesser General Public License as published by the Free 8 Software Foundation; either version 2.1 of the License, or (at your option) 9 any later version. 10 This library is distributed in the hope that it will be useful, but WITHOUT 11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 12 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 13 details. 14 You should have received a copy of the GNU Lesser General Public License along 15 with this library; if not, write to the Free Software Foundation, Inc., 16 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 package org.omwg.logicalexpression.terms; 19 20 21 import java.util.*; 22 23 import org.omwg.ontology.*; 24 import org.wsmo.common.*; 25 26 27 /** 28 * The interface for constructed terms (function symbols). 29 * 30 * E.g. in the molecule jon[age(2005) hasValue 12] 31 * age(2005) is a function symbol. Function symbols are only 32 * allowed in WSML Rule and WSML FOL. Note that some data 33 * values (e.g. _date(2005,12,12) look syntactically like function 34 * symbols, but are transformed by the parser directly to 35 * a {@link DataValue}. 36 * 37 * @author DERI Innsbruck, reto.krummenacher@deri.org 38 * @author Holger Lausen 39 * @version $Revision: 1350 $ $Date: 2005-11-28 17:36:42 +0200 (Mon, 28 Nov 2005) $ 40 * @see org.omwg.logicalexpression.terms.Term 41 */ 42 public interface ConstructedTerm 43 extends Term { 44 45 /** 46 * The arity of the ConstructedTerm indicates how many Terms are contained in the 47 * Term's list of arguments. 48 * 49 * @return the arity of the term, i.e. the number of parameters 50 */ 51 public int getArity(); 52 53 /** 54 * The returned IRI represents the name of the ConstructedTerm. 55 * 56 * @return the name of the term, in wsml only possible in form of an IRI 57 */ 58 public IRI getFunctionSymbol(); 59 60 /** 61 * The index i points to a position in the ConstructedTerm's list of arguments. 62 * The desired Term, to which the index points, is returned. 63 * 64 * @param i the position of the parameter desired, maximal getArity()-1 65 * @return the chosen parameter 66 */ 67 public Term getParameter(int i); 68 69 /** 70 * Return the list of all Parameters 71 * @return list of parameter of the constructed term 72 */ 73 public List listParameters(); 74 } 75 /* 76 * $Log$ 77 * Revision 1.4 2005/11/28 15:36:42 holgerlausen 78 * added convinience method listParameter (RFE 1363559) 79 * 80 * Revision 1.3 2005/09/09 11:58:20 holgerlausen 81 * fixed header logexp no longer extension 82 * 83 * Revision 1.2 2005/09/09 11:03:14 marin_dimitrov 84 * formatting 85 * 86 * Revision 1.1 2005/09/02 13:32:44 ohamano 87 * move logicalexpression packages from ext to core 88 * move tests from logicalexpression.test to test module 89 * 90 * Revision 1.5 2005/09/02 09:43:27 ohamano 91 * integrate wsmo-api and le-api on api and reference implementation level; full parser, serializer and validator integration will be next step 92 * 93 * Revision 1.4 2005/08/16 16:28:29 nathaliest 94 * JavaDoc added 95 * Method getArgument(int) at UnaryImpl, QuantifiedImpl and BinaryImpl changed 96 * Method equals(Object) at QuantifiedImpl changed 97 * 98 * Revision 1.3 2005/06/22 13:32:02 ohamano 99 * change header 100 * 101 * Revision 1.2 2005/06/18 14:06:08 holgerlausen 102 * added local LEFactory, updated javadoc, refactored LEVariable > Variable etc. parse(String) for LEFactory is running now 103 * 104 * Revision 1.1 2005/06/16 13:55:23 ohamano 105 * first import 106 * 107 */