jade.content.schema
Class ConceptSchema
java.lang.Object
|
+--jade.content.schema.ObjectSchema
|
+--jade.content.schema.ObjectSchemaImpl
|
+--jade.content.schema.TermSchema
|
+--jade.content.schema.ConceptSchema
- Direct Known Subclasses:
- AgentActionSchema
- public class ConceptSchema
- extends TermSchema
- Author:
- Federico Bergenti - Universita` di Parma
- See Also:
- Serialized Form
Field Summary |
static java.lang.String |
BASE_NAME
|
Constructor Summary |
ConceptSchema(java.lang.String typeName)
Creates a ConceptSchema with a given type-name,
e.g. |
Method Summary |
void |
add(java.lang.String name,
TermSchema slotSchema)
Add a mandatory slot to the schema. |
void |
add(java.lang.String name,
TermSchema slotSchema,
int optionality)
Add a slot to the schema. |
void |
add(java.lang.String name,
TermSchema elementsSchema,
int cardMin,
int cardMax)
Add a slot with cardinality between cardMin
and cardMax to this schema.
|
void |
add(java.lang.String name,
TermSchema elementsSchema,
int cardMin,
int cardMax,
java.lang.String aggType)
Add a slot with cardinality between cardMin
and cardMax to this schema and allow specifying the type
of Aggregate to be used for this slot. |
void |
addFacet(java.lang.String slotName,
Facet f)
Add a Facet on a slot of this schema |
void |
addSuperSchema(ConceptSchema superClassSchema)
Adds a super-schema to this schema. |
protected boolean |
descendsFrom(ObjectSchema s)
Return true if
- s is the base schema for the XXXSchema class this schema is
an instance of (e.g. s is ConceptSchema.getBaseSchema() and this
schema is an instance of ConceptSchema)
- s is the base schema for a super-class of the XXXSchema class
this schema is an instance of (e.g. s is TermSchema.getBaseSchema()
and this schema is an instance of ConceptSchema) |
static ObjectSchema |
getBaseSchema()
Retrieve the generic base schema for all concepts. |
AbsObject |
newInstance()
Creates an Abstract descriptor to hold a concept of
the proper type. |
void |
validate(AbsObject abs,
Ontology onto)
Check whether a given abstract descriptor complies with this
schema. |
Methods inherited from class jade.content.schema.ObjectSchemaImpl |
add,
add,
add,
add,
addSuperSchema,
containsSlot,
equals,
getFacets,
getNames,
getSchema,
getTypeName,
isCompatibleWith,
toString,
validateSlots |
Methods inherited from class java.lang.Object |
clone,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
BASE_NAME
public static final java.lang.String BASE_NAME
ConceptSchema
public ConceptSchema(java.lang.String typeName)
- Creates a
ConceptSchema
with a given type-name,
e.g. PERSON, ADDRESS...
- Parameters:
typeName
- The name of this ConceptSchema
.
getBaseSchema
public static ObjectSchema getBaseSchema()
- Retrieve the generic base schema for all concepts.
- Returns:
- the generic base schema for all concepts.
add
public void add(java.lang.String name,
TermSchema slotSchema)
- Add a mandatory slot to the schema. The schema for this slot must
be a
TermSchema
.
- Parameters:
name
- The name of the slot.slotSchema
- The schema of the slot.
add
public void add(java.lang.String name,
TermSchema slotSchema,
int optionality)
- Add a slot to the schema. The schema for this slot must
be a
TermSchema
.
- Parameters:
name
- The name of the slot.slotSchema
- The schema of the slot.optionality
- The optionality, i.e., OPTIONAL
or MANDATORY
add
public void add(java.lang.String name,
TermSchema elementsSchema,
int cardMin,
int cardMax)
- Add a slot with cardinality between
cardMin
and cardMax
to this schema.
Adding such a slot corresponds to add a slot
of type Aggregate and then to add proper facets (constraints)
to check that the type of the elements in the aggregate are
compatible with elementsSchema
and that the
aggregate contains at least cardMin
elements and
at most cardMax
elements. By default the Aggregate
is of type BasicOntology.SEQUENCE
.
- Parameters:
name
- The name of the slot.elementsSchema
- The schema for the elements of this slot.cardMin
- This slot must get at least cardMin
valuescardMax
- This slot can get at most cardMax
values
add
public void add(java.lang.String name,
TermSchema elementsSchema,
int cardMin,
int cardMax,
java.lang.String aggType)
- Add a slot with cardinality between
cardMin
and cardMax
to this schema and allow specifying the type
of Aggregate to be used for this slot.
- Parameters:
name
- The name of the slot.elementsSchema
- The schema for the elements of this slot.cardMin
- This slot must get at least cardMin
valuescardMax
- This slot can get at most cardMax
valuesaggType
- The type of Aggregate to be used- See Also:
add(String, TermSchema, int, int)
addSuperSchema
public void addSuperSchema(ConceptSchema superClassSchema)
- Adds a super-schema to this schema. This allows defining
inheritance relationships between ontological concepts.
It must be noted that a concept always inherits from another
concept --> A super-schema of a
ConceptSchema
must be a ConceptSchema
too.
- Parameters:
superClassSchema
- The super-schema to be added.
addFacet
public void addFacet(java.lang.String slotName,
Facet f)
throws OntologyException
- Add a
Facet
on a slot of this schema
- Overrides:
- addFacet in class jade.content.schema.ObjectSchemaImpl
- Parameters:
slotName
- the name of the slot the Facet
must be added to.f
- the Facet
to be added.- Throws:
- OntologyException - if slotName does not identify
a valid slot in this schema
newInstance
public AbsObject newInstance()
throws OntologyException
- Creates an Abstract descriptor to hold a concept of
the proper type.
- Overrides:
- newInstance in class TermSchema
validate
public void validate(AbsObject abs,
Ontology onto)
throws OntologyException
- Check whether a given abstract descriptor complies with this
schema.
- Overrides:
- validate in class jade.content.schema.ObjectSchemaImpl
- Parameters:
abs
- The abstract descriptor to be checked- Throws:
- OntologyException - If the abstract descriptor does not
complies with this schema
descendsFrom
protected boolean descendsFrom(ObjectSchema s)
- Return true if
- s is the base schema for the XXXSchema class this schema is
an instance of (e.g. s is ConceptSchema.getBaseSchema() and this
schema is an instance of ConceptSchema)
- s is the base schema for a super-class of the XXXSchema class
this schema is an instance of (e.g. s is TermSchema.getBaseSchema()
and this schema is an instance of ConceptSchema)
- Overrides:
- descendsFrom in class TermSchema