View Javadoc

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  */