1 /* 2 wsmo4j - a WSMO API and Reference Implementation 3 4 Copyright (c) 2005, 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; 19 20 import java.util.*; 21 22 import org.omwg.logicalexpression.terms.*; 23 24 /** 25 * Represents a compound molecule which is a container for simple 26 * molecules E.g., "x subConceptOf {y,z}" or "a[b hasValue c] memberOf d". 27 * 28 * <pre> 29 * Created on Sep 19, 2005 30 * Committed by $Author$ 31 * $Source$, 32 * </pre> 33 * 34 * @author Holger Lausen (holger.lausen@deri.org) 35 * 36 * @version $Revision$ $Date$ 37 */ 38 public interface CompoundMolecule extends CompoundExpression { 39 40 /** 41 * retrieving all molecules of the type "a subConcept b" 42 * @return list of SubConceptMolecules 43 * @see SubConceptMolecule 44 */ 45 public List<SubConceptMolecule> listSubConceptMolecules(); 46 47 /** 48 * retrieving all molecules of the type "a memberOf b" 49 * @return list of MemberShipMolecules 50 * @see MembershipMolecule 51 */ 52 public List<MembershipMolecule> listMemberShipMolecules(); 53 54 /** 55 * retrieving all molecules of the type "a[b hasValue c]" 56 * @return list of AttributeValueMolecules 57 * @see AttributeValueMolecule 58 */ 59 public List<AttributeValueMolecule> listAttributeValueMolecules(); 60 61 /** 62 * retrieving all molecules of the type "a[b hasValue c]", where 63 * Term t equals the attribute name of the molecule 64 * @param t Term that acts as filter on the attribute name 65 * (t has to be equal to the name) 66 * @return list of AttributeValueMolecules 67 * @see AttributeValueMolecule 68 */ 69 public List<AttributeValueMolecule> listAttributeValueMolecules(Term t); 70 71 /** 72 * retrieving all molecules of the type "a[b ofType c]" 73 * @return list of AttributeConstraintMolecules 74 * @see AttributeConstraintMolecule 75 */ 76 public List<AttributeConstraintMolecule> listAttributeConstraintMolecules(); 77 78 /** 79 * retrieving all molecules of the type "a[b ofType c]", where 80 * Term t equals the attribute name of the molecule 81 * @param t Term that acts as filter on the attribute name 82 * (t has to be equal to the name) 83 * @return list of AttributeContraintMolecules 84 * @see AttributeConstraintMolecule 85 */ 86 public List<AttributeConstraintMolecule> listAttributeConstraintMolecules(Term t); 87 88 /** 89 * retrieving all molecules of the type "a[b impliesType c]" 90 * @return list of AttributeInferenceMolecules 91 * @see AttributeInferenceMolecule 92 */ 93 public List<AttributeInferenceMolecule> listAttributeInferenceMolecules(); 94 95 /** 96 * retrieving all molecules of the type "a[b impliesType c]", where 97 * Term t equals the attribute name of the molecule 98 * @param t Term that acts as filter on the attribute name 99 * (t has to be equal to the name) 100 * @return list of AttributeInferenceMolecules 101 * @see AttributeInferenceMolecule 102 */ 103 public List<AttributeInferenceMolecule> listAttributeInferenceMolecules(Term t); 104 } 105 106 107 /* 108 *$Log$ 109 *Revision 1.2 2007/04/02 12:13:15 morcen 110 *Generics support added to wsmo-api, wsmo4j and wsmo-test 111 * 112 *Revision 1.1 2005/09/20 13:21:31 holgerlausen 113 *refactored logical expression API to have simple molecules and compound molecules (RFE 1290043) 114 * 115 */