jade.content.schema
Class PredicateSchema
java.lang.Object
|
+--jade.content.schema.ObjectSchema
|
+--jade.content.schema.ObjectSchemaImpl
|
+--jade.content.schema.ContentElementSchema
|
+--jade.content.schema.PredicateSchema
- public class PredicateSchema
- extends ContentElementSchema
- Author:
- Federico Bergenti - Universita` di Parma
- See Also:
- Serialized Form
Field Summary |
static java.lang.String |
BASE_NAME
|
Constructor Summary |
PredicateSchema(java.lang.String typeName)
Creates a PredicateSchema with a given type-name,
e.g. |
Method Summary |
void |
add(java.lang.String name,
ObjectSchema slotSchema)
Add a mandatory slot to this schema. |
void |
add(java.lang.String name,
ObjectSchema slotSchema,
int optionality)
Add a slot to this 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 |
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 predicates. |
AbsObject |
newInstance()
Creates an Abstract descriptor to hold a predicate 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,
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
PredicateSchema
public PredicateSchema(java.lang.String typeName)
- Creates a
PredicateSchema
with a given type-name,
e.g. FATHER_OF, WORKS_FOR...
- Parameters:
typeName
- The name of this PredicateSchema
.
getBaseSchema
public static ObjectSchema getBaseSchema()
- Retrieve the generic base schema for all predicates.
- Returns:
- the generic base schema for all predicates.
add
public void add(java.lang.String name,
ObjectSchema slotSchema)
- Add a mandatory slot to this schema.
- Overrides:
- add in class jade.content.schema.ObjectSchemaImpl
- Parameters:
name
- The name of the slot.slotSchema
- The schema of the slot.
add
public void add(java.lang.String name,
ObjectSchema slotSchema,
int optionality)
- Add a slot to this schema.
- Overrides:
- add in class jade.content.schema.ObjectSchemaImpl
- 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)
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 predicate of
the proper type.
- Overrides:
- newInstance in class ContentElementSchema
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 ContentElementSchema