# Intersyndication Ontology # # Aug 19 EST 2002 # Jan Gylta : final draft # # Thu Dec 19 20:51:23 EST 2002 # \rho : Adaption to AsTMa! 0.4 # Notes: # # - the AsTMa constraints may be used by a validator to display # a warning/error message #--- basic taxonomy channel bn: syndication channel in: a channel can convey a set of news headline, similar to RSS channel-item bn: news item in: consists usually of a title, a link forming headline information channel-image (image) bn: channel image in: a channel may have a logo, usually that of the news agency channel-ontology (ontology) bn: channel ontology in: a channel may also carry information according to other ontologies with it #--- application specific constraints # In the channel / item concept there has to be one but only one # channel. This constraint restricts the number of channel topics to # exactly one. exists{1} [ * ( channel ) ] is-reified-by there-must-be-one-channel-A there-must-be-one-channel-A (astma-constraint) bn: There must be a channel # The channel should also have a title, represented by the base name, # a link to the originating site represented by an occurrence and a # description represented by the inline description. These fields are # however not required. forall $t [ * ( channel ) ] => suggested exists $t [ bn : * oc : ?is_url in : * ] is-reified-by channel-should-have-link-name channel-should-have-link-name (astma-constraint) bn: It is suggested that a channel has a title, link and description # There can be one image present but it is not required. exists {0,1} [ * ( channel-image ) ] is-reified-by can-be-an-image can-be-an-image (astma-constraint) bn: Too many images # if it is there, it should have some information forall $i [ * ( channel-image ) ] => suggested exists $i [ bn : * in : * oc ( link ) : ?is_url ] is-reified-by suggest-image-data suggest-image-data (astma-constraint) bn: It is suggested that an image has a name, description and a link # If it is present however, it has to be associated with the channel # as well as have a link to the actual image. forall [ $i ( channel-image ) ] => exists [ * ( channel ) ] AND exists [ ( is-associated-with ) image : $i channel : $c ] is-reified-by image-must-be-with-channel-A image-must-be-with-channel-A (astma-constraint) bn: Image has to be associated with the channel # The channel, item and image can have additional properties # associated with them. These properties exists in the form of # associations. They must have values for its field, property, # ontology and holder roles. forall [ (is-property-of) ] => exists ] (is-property-of) value : $v property : $p ontology : $o holder : $h [ AND ( exists [ $h (channel) ] OR exists [ $h (channel-item) ] OR exists [ $h (channel-image) ] ) AND exists [ $o (ontology) ] AND exists [ $v (property-value) ] AND exists [ $p (property-field) ]is-reified-by properties-must-belong-A properties-must-belong-A (astma-constraint) bn: A property must be associated with a value, property, ontology and a holder topic # Each of these topics also have to have a base name for the value forall $t [ * ( property-value ) ] => exists $t [bn: * ] is-reified-by property-must-have-value property-must-have-value (astma-constraint) bn: Property must have a value forall $t [ * ( property-field ) ] => exists $t [ bn: * ] is-reified-by property-must-have-name property-must-have-name (astma-constraint) bn: Property must have a field name # Each property must be associated with an ontology. These ontologies # need a namespace in the form of an URI forall $t [ * ( channel-ontology ) ] => exists $t [ oc : ?is_uri ] is-reified-by ontology-must-have-namespace ontology-must-have-namespace (astma-constraint) bn: An ontology must have a namespace # There can be any number of items. suggested exists{0,} [ * ( channel-item ) ] is-reified-by suggest-any-number-items suggest-any-number-items (astma-constraint) bn: there may be any number of items # It is also recommended that an item has a title, link and # description. forall $i [ * ( channel-item ) ] => suggested exists $i [ bn: * oc: * in: * ] is-reified-by item-should-have-data item-should-have-data (astma-constraint) bn: An item should have a title, link and a description # Each item should also be associated with the channel. forall [ $i ( channel-item ) ] => exists [ $c ( channel ) ] => exists [ ( belongs-to ) item : $i channel : $c ] is-reified-by item-associated-with-channel item-associated-with-channel (astma-constraint) bn: An item must be associated with a channel