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