Abstract
This documents presents an early draft of an straw-man specification for an RDF(S) Ontology Access mechanism built as a WS-DAI realization.
The realization briefly described in this document is part of the DAIS RDF(S) Access initiative, therefore some of the concepts described within this pages will have to be harmonized with the concepts and terminology described in the other part of the initiative, the RDF Query Access part.
Please consider this work as what it is, work under development. Feedback is welcomed.
Introduction
TO DO
Specification Scope
TO DO
Specification Organisation
TO DO
Interface Composition
TO DO
Notational Conventions
TO DO
Terminology
TO DO
RepositorySelector Data Resource
The 'RepositorySelector' data resource is a container of repositories which are managed by the same RDF(S) storage manager.
Repository Data Resource
The 'repository' data resource is a container of RDF(S) resources, which are made up of RDF triples and organized in RDF graphs.
Resource Data Resource
The 'Resource' data resource is a place holder of an specific RDF(S) resource defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the resource.
Class Data Resource
The 'Class' data resource is a place holder of an specific RDF(S) class defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the class, specially the class hierarchy, the properties and instances related to the class.
Property Data Resource
The 'Property' data resource is a place holder of an specific RDF(S) property defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the property, specially the property hierarchy, the classes and values related to the property.
Statement Data Resource
The 'Statement' data resource is a place holder of an specific RDF(S) statement defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the statement. Statements are RDF(S) constructs that resemble RDF triples, therefore statements are composed of subjects, predicates and objects
List Data Resource
The 'List' data resource is a place holder of an specific RDF(S) container defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the list. Lists are collections of elements. The lists are organized in nodes, linked one to another. Each node can have members attached to them. These members can be literals or resources. The members and nodes are linked by means of special RDF(S) properties (rdf:first, rdf:rest).
Container Data Resource
The 'Container' data resource is a place holder of an specific RDF(S) container defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the container. Containers have members attached to them. The members can be literals or resources. The members are linked to the containers by means of special RDF(S) properties (subproperties of rdfs:member and instances of rdfs:ContainerMembershipProperty).
Alt Data Resource
The 'Alt' data resource is a place holder of an specific RDF(S) alt container defined in a repository. While linked to the parent data resource, the data resource provides a view to the data centered in the information that is directly related to the alt container.
Concepts
TO DO
X Interfaces
TO DO
Relationships with other Specifications
TO DO
RepositorySelector
Static RepositorySelector Description
TO DO
Configurable RepositorySelector Description
TO DO
Example RepositorySelectorPropertyDocument
TO DO
EXAMPLE CODE TO DO
RepositorySelector
This interface provides the functionalities for managing the repositories that are under control of the RDF(S) storage manager.
Figure X - Overview - RepositorySelector
RepositorySelector::GetRepositoryList
This operation retrieves the list of repositories that are available.
Input
- GetRepositoryListRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetRepositoryListResponse
- GetRepositoryListDataSet
- DatasetFormatURI
- DatasetData
- Repository*The identificators of the available repositories.
- NumberOfRepositories1The number of available repositories.
Faults
No faults are defined for this message.
RepositorySelector::GetRepositoryContents
This operation retrieves the contents of the specified repository, serialized in RDF/XML.
Input
- GetRepositoryContentsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Repository1The identificator of the repository whose contents are to be retrieved.
Output
- GetRepositoryContentsResponse
- GetRepositoryContentsDataSet
- DatasetFormatURI
- DatasetData
- Repository1The contents of the repository serialized in RDF/XML.
Faults
No faults are defined for this message.
RepositorySelector::AddRepository
This operation adds a new repository (serialized in RDF/XML), and puts it under the control of the data service.
Input
- AddRepositoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- RepositoryID1The identificator of the repository.
- RepositoryContents1The contents of the repository serialized in RDF/XML.
Output
- AddRepositoryResponse
- AddRepositoryDataSet
- DatasetFormatURI
- DatasetData
Faults
No faults are defined for this message.
RepositorySelector::RemoveRepository
This operation removes a repository from the control of the data service.
Input
- RemoveRepositoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Repository1The identificator of the repository which will be removed.
Output
- RemoveRepositoryResponse
- RemoveRepositoryDataSet
- DatasetFormatURI
- DatasetData
Faults
No faults are defined for this message.
RepositorySelectorFactory
This factory interface defines the mechanisms needed for creating relationships between concrete repositories of the repository selector and the services by which they can be accesed using the Repository and RepositoryFactory interfaces.
Figure X - Overview - RepositorySelectorFactory
RepositorySelectorFactory::GetRepositoryFactory
The operation creates a new data access service that corresponds to the specified repository. The data service created will implement the Repository and the RepositoryFactory interfaces.
Input
- GetRepositoryFactoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PortTypeQName? The QName of the portType through which the resulting data should be accesed.
- ConfigurationDocument? A document that specifies the properties of the data resource that is to be used to hold the resulting data. The properties contained in this document are defined in the WS-DAI specification.
- PrefferedTargetService? The EPR of the preferred service that is to act as the host for the new data resource.
- Repository1The identificator of the repository which will be removed.
Output
- GetRepositoryFactoryResponse
- DataResourceAddress a list of data resource addresses.
Faults
- InvalidResourceNameFault - The supplied repository resource name is not known to the service.
- DataResourceUnavailableFault - The specified data resource is unavailable.
- InvalidPortTypeQNameFault - The PortTypeQName is not in the collection defined by the ConfigurationMap property.
- InvalidConfigurationDocumentFault - The ConfigurationDocument specified is not valid according to the ConfigurationDocumentQName when the ConfigurationMap is indexed by the specified PortTypeQName.
- NotAuthorizedFault - The consumer is not authorized to perform this operation at this time.
- ServiceBusyFault - The service is already processing a request and the ConcurrentAccess is false.
- RepositoryDoesNotExistFault - The supplied repository is not under the control of the repository selector.
Repository
Static Repository Description
TO DO
Configurable Repository Description
TO DO
Example RepositoryPropertyDocument
TO DO
EXAMPLE CODE TO DO
Repository
The interfaces provides the basic messages needed for managing the contents of an specific repository at resource level. The messages defined provide the mechanisms needed for creating new resources, removing existing resources and retrieving the URIs of existing resources.
Figure X - Overview - Repository
Repository::GetRepositoryId
Retrieve the identificator of the repository.
Input
- GetRepositoryIdRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetRepositoryIdResponse
- GetRepositoryIdDataSet
- DatasetFormatURI
- DatasetData
- Identificator1The identificator of the repository.
Faults
No faults are defined for this message.
Repository::GetResources
The operation retrieves the URIs of the resources defined in the repository that are of a given RDF(S) built-in type. If the type is not specified, all the resources defined in the repository will be retrieved.
Input
- GetResourcesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Type1The specific RDF(S) built-in type of the resources that are to be retrieved from the repository.
Output
- GetResourcesResponse
- GetResourcesDataSet
- DatasetFormatURI
- DatasetData
- Resource*The URIs of the resources retrieved from the repository.
- NumberOfResources1The number of resources retrieved from the repository.
- Type?The type of RDF(S) built-in class of the resources that have been retrieved.
Faults
No faults are defined for this message.
Repository::AddResource
This operation adds a new resource to the repository, this is, creates a new resource in the repository.
Input
- AddResourceRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- ResourceURI1The URI of the resource that is to be added to the repository.
- ResourceDescriptor1The descriptor of the resource that is to be added to the repository.
Output
- AddResourceResponse
- AddResourceDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the resource specified in the request was added to the repository.
Faults
No faults are defined for this message.
Repository::RemoveResourceByURI
The operation informs the repository to remove the resources whose URI is specified in the request.
Input
- RemoveResourceByURIRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Resource+The URI of the resource that is to be removed from the repository.
Output
- RemoveResourceByURIResponse
- RemoveResourceByURIDataSet
- DatasetFormatURI
- DatasetData
- NumberOfResourcesRemoved1The number of resources that were removed from the repository.
Faults
No faults are defined for this message.
Repository::RemoveResourcesByType
The operations removes all the resources of the repository which are of the RDF(S) built-in type specified in the request.
Input
- RemoveResourcesByTypeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Type1The specific RDF(S) built-in type of the resources that are to be removed from the repository.
Output
- RemoveResourcesByTypeResponse
- RemoveResourcesByTypeDataSet
- DatasetFormatURI
- DatasetData
- NumberOfResourcesRemoved1The number of resources that were removed from the repository.
- Type1The specific RDF(S) built-in type of the resources that were removed from the repository.
Faults
No faults are defined for this message.
RepositoryFactory
This factory interface defines the mechanisms needed for creating relationships between concrete resources of the repository (attending to their specific nature) and the services by which they can be accesed using specific interfaces.
Figure X - Overview - RepositoryFactory
RepositoryFactory::GetResourceFactory
The operation creates a new data access service that corresponds to the specified resource. The data service created will implement different access interfaces according to the nature of the resource (which is also specified in the request).
Input
- GetResourceFactoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PortTypeQName? The QName of the portType through which the resulting data should be accesed.
- ConfigurationDocument? A document that specifies the properties of the data resource that is to be used to hold the resulting data. The properties contained in this document are defined in the WS-DAI specification.
- PrefferedTargetService? The EPR of the preferred service that is to act as the host for the new data resource.
- ResourceURI1The URI of the resource for whom a new data access service will be created.
- Type1The specific RDF(S) built-in type of the resources. This parameter will define the requirements for the data access service which will be returned.
Output
- GetResourceFactoryResponse
- DataResourceAddress a list of data resource addresses.
Faults
- InvalidResourceNameFault - The supplied repository resource name is not known to the service.
- DataResourceUnavailableFault - The specified data resource is unavailable.
- InvalidPortTypeQNameFault - The PortTypeQName is not in the collection defined by the ConfigurationMap property.
- InvalidConfigurationDocumentFault - The ConfigurationDocument specified is not valid according to the ConfigurationDocumentQName when the ConfigurationMap is indexed by the specified PortTypeQName.
- NotAuthorizedFault - The consumer is not authorized to perform this operation at this time.
- ServiceBusyFault - The service is already processing a request and the ConcurrentAccess is false.
- ResourceDoesNotExistFault - The supplied resource is not defined in the repository.
Resource
Static Resource Description
TO DO
Configurable Resource Description
TO DO
Example ResourcePropertyDocument
TO DO
EXAMPLE CODE TO DO
Resource
This interface provides access methods centered in a particular RDF resource of a repository. There are two groups of methods. On the one hand there is a set of methods for managing the values associated to the main built-in properties defined for the Resource class in the RDF model (rdf:type, rdfs:label, rdfs:comment); on the other hand, a set of general purpose methods is defined. These methods provide CRUD/BREAD functionalities for dealing with the RDF model, using the Resource class (specifically the concrete resource represented by the service) as the center of the model.
Figure X - Overview - Resource
Resource::GetTypes
The operation retrieves the URIs of the RDF(S) classes that are parents of the resource, traversing the whole class hierarchy if required.
Input
- GetTypesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- InferParents?Whether or not the service has to infer the parent classes.
Output
- GetTypesResponse
- GetTypesDataSet
- DatasetFormatURI
- DatasetData
- Parent*The URIs of the parent classes of the resource.
- NumberOfParents1The number of classes that are parents of the resource.
Faults
No faults are defined for this message.
Resource::GetLabels
This operation retrieves the labels that are defined for the resource.
Input
- GetLabelsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetLabelsResponse
- GetLabelsDataSet
- DatasetFormatURI
- DatasetData
- Label*The concrete labels defined for the resource.
- NumberOfLabels1The number of labels defined for the resource.
Faults
No faults are defined for this message.
Resource::GetComments
The operation retrieves all the comments defined for the resource.
Input
- GetCommentsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetCommentsResponse
- GetCommentsDataSet
- DatasetFormatURI
- DatasetData
- Comment*The concrete comments.
- NumberOfComments1The number of comments defined for the resource.
Faults
No faults are defined for this message.
Resource::AddType
The operation adds a (set of) type(s) to the resource. The type is identified via its URI.
Input
- AddTypeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Type+The URI of the type that is to be added to the resource.
Output
- AddTypeResponse
- AddTypeDataSet
- DatasetFormatURI
- DatasetData
- NumberOfTypesAdded1The number of types that were added to the resource.
Faults
No faults are defined for this message.
Resource::AddLabel
The operation adds a (set of) label(s) to the resource.
Input
- AddLabelRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Label+The label that is to be added to the resource.
Output
- AddLabelResponse
- AddLabelDataSet
- DatasetFormatURI
- DatasetData
- NumberOfLabelsAdded1The number of labels that were added to the resource.
Faults
No faults are defined for this message.
Resource::AddComment
The operation adds a (set of) comment(s) to the resource.
Input
- AddCommentRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Comment+The comment that is to be added to the resource.
Output
- AddCommentResponse
- AddCommentDataSet
- DatasetFormatURI
- DatasetData
- NumberOfCommentsAdded1The number of comments that were added to the resource.
Faults
No faults are defined for this message.
Resource::RemoveType
The operation removes the specified types defined for the resource. If no types are specified, all the types defined for the resource will be removed. In no case the class resources that define the specified types are removed from the repository.
Input
- RemoveTypeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Type+The URI of the type that is to be removed from the resource.
Output
- RemoveTypeResponse
- RemoveTypeDataSet
- DatasetFormatURI
- DatasetData
- NumberOfTypesRemoved1The number of types that were removed from the resource.
Faults
No faults are defined for this message.
Resource::RemoveLabel
The operation removes the specified labels defined for the resource. If no labels are specified, all the labels defined for the resource will be removed.
Input
- RemoveLabelRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Label+The label that is to be removed from the resource.
Output
- RemoveLabelResponse
- RemoveLabelDataSet
- DatasetFormatURI
- DatasetData
- NumberOfLabelsRemoved1The number of labels that were removed from the resource.
Faults
No faults are defined for this message.
Resource::RemoveComments
The operation removes the specified comments defined for the resource. If no comments are specified, all the comments defined for the resource will be removed.
Input
- RemoveCommentsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Comment+The comment that is to be removed from the resource.
Output
- RemoveCommentsResponse
- RemoveCommentsDataSet
- DatasetFormatURI
- DatasetData
- NumberOfCommentsRemoved1The number of comments that were removed from the resource.
Faults
No faults are defined for this message.
Resource::GetDefinedProperties
The operation retrieves the URIs of the properties which are defined for the resource, that is, those properties which are the predicate of a statement which has the resource as subject.
Input
- GetDefinedPropertiesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetDefinedPropertiesResponse
- GetDefinedPropertiesDataSet
- DatasetFormatURI
- DatasetData
- PropertyURI*The URI of the specific property defined for the resource.
- NumberOfProperties1The number of properties that are defined for the resource.
Faults
No faults are defined for this message.
Resource::GetDefinableProperties
The operation retrieves the list of properties that might be defined for this resource, that is, those properties which have as domain a class that is a parent of the resource.
Input
- GetDefinablePropertiesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- InferInheritedProperties?Whether or not the service has to infer the properties that are inherited from parent classes of this resource.
- InferSubProperties?Whether or not the service has to infer the sub properties of the definable properties.
Output
- GetDefinablePropertiesResponse
- GetDefinablePropertiesDataSet
- DatasetFormatURI
- DatasetData
- PropertyURI*The URI of the specific properties that are definable for the resource.
- NumberOfProperties1The number of properties that might be defined for the resource.
Faults
No faults are defined for this message.
Resource::GetPropertyValues
The operation retrieves the values of the specified property for the resource that corresponds to the data service.
Input
- GetPropertyValuesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PropertyURI1The URI of the specific property for which the values are to be retrieved.
Output
- GetPropertyValuesResponse
- GetPropertyValuesDataSet
- DatasetFormatURI
- DatasetData
- Value*The concrete values.
- NumberOfValues1The number of resource values associated to the resource by means of the specified property.
Faults
- PropertyDoesNotExistFault - The specified property does not exist in the model.
- DomainRestrictionViolationFault - The resource does not satisfy the domain restriction of the property.
Resource::AddPropertyValue
The operation adds a (set of) value(s) to the current set of values defined the resource and the specified property.
Input
- AddPropertyValueRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PropertyURI1The URI of the specific property for which the value will be added.
- Value+The value that is to be associated to the property for this resource
Output
- AddPropertyValueResponse
- AddPropertyValueDataSet
- DatasetFormatURI
- DatasetData
- NumberOfPropertyValuesAdded1The number of property values that were added to the resource.
Faults
- PropertyDoesNotExistFault - The specified property does not exist in the model
- DomainRestrictionViolationFault - The resource does not satisfy the domain restriction of the property.
- RangeRestrictionViolationFault - The value specified does not satisfy the range restriction of the property.
Resource::RemovePropertyValues
The operation removes the specified values defined for the resource and the specified property. If no values are specified, all the values defined for the resource and property will be removed. If no property is specified, the specified values associated to the resource regardless of the property will be removed. As a result, if no values and property are defined, all the values associated to the resource will be removed. It is important to mention, that the values that are resources themselves will not be removed from the repository. Only the values that are literals will be physically removed from the repository.
Input
- RemovePropertyValuesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PropertyURI?The URI of the specific property whose values for the resource will be removed. If no property is specified the values will be removed regardless of the property.
- Value*The values that are to be removed from the resource. If no values are defined, all the values for the given property will be removed.
Output
- RemovePropertyValuesResponse
- RemovePropertyValuesDataSet
- DatasetFormatURI
- DatasetData
- NumberOfValuesRemoved1The number of values removed for the property.
Faults
- PropertyDoesNotExistFault - The specified property does not exist in the model.
- DomainRestrictionViolationFault - The resource does not satisfy the domain restriction of the property (some information regarding the expected type(s) and the types of the resource should be sent to the user).
- RangeRestrictionViolationFault - The value specified does not satisfy the range restriction of the property (some information regarding the expected type(s) and the provided one should be sent to the user, A configuration property should be used for deciding if this fault is to be thrown).
- PropertyNotDefinedForTheResourceFault - The specificed property has not any valued defined for the specificed resource. A configuration property should be used for deciding if this fault is to be thrown
Resource::IsPropertyDefined
The operation checks if the specified property is defined for this resource, that is, there is a value associated to the resource by means of the specified property.
Input
- IsPropertyDefinedRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PropertyURI1The URI of the specific property that is going to be checked.
Output
- IsPropertyDefinedResponse
- IsPropertyDefinedDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified property is defined for the resource.
Faults
- PropertyDoesNotExistFault - The specified property does not exist in the model.
- DomainRestrictionViolationFault - The resource does not satisfy the domain restriction of the property.
Resource::IsPropertyDefinable
The operation checks if the specified property is definable for this resource, that is, if any class in the domain of the property is parent of the resource.
Input
- IsPropertyDefinableRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Property1The URI of the specific property that is to be checked.
- InferInheritedProperties?Whether or not the service has to infer the properties that are inherited from
- InferSubProperties?Whether or not the service has to infer the sub properties of the definable properties.
Output
- IsPropertyDefinableResponse
- IsPropertyDefinableDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified property is definable for the resource.
Faults
- PropertyDoesNotExistFault - The specified property does not exist in the model.
Class
Static Class Description
TO DO
Configurable Class Description
TO DO
Example ClassPropertyDocument
TO DO
EXAMPLE CODE TO DO
Class
The operations provided by this interface are related to the different kind of things we can do with the model given a fixed class: browsing the class hierarchy, getting (inherited) properties, getting values for a given property and subject resource, adding and removing values to a given resource...
Figure X - Overview - Class
Class::GetRelatedClasses
The operation retrieves all the classes that are related to the class, taking into acount the class hierarchy if required.
Input
- GetRelatedClassesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Relationship1The type of relationship between this class and the related classes that are to be retrieved.
Output
- GetRelatedClassesResponse
- GetRelatedClassesDataSet
- DatasetFormatURI
- DatasetData
- RelatedClasses*The URIs of the related classes.
- NumberOfRelatedClasses1The number of classes that are related to the class.
- Relationship1The type of relationship between this class and the related classes retrieved.
Faults
No faults are defined for this message.
Class::GetRelatedProperties
Retrieve all the properties that are defined for the class, that is, those with domain the class or, if required, any of its super classes.
Input
- GetRelatedPropertiesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- InferInheritedProperties?Whether or not the service has to take into account the whole class hierarchy. If defined to 'true it will infer the properties with domain the class or any of its super classes. If defined to 'false' it will just retrieve properties with domain the class.
- InferSubProperties?Whether or not the service has to take into account the whole property hierarchy. If defined to 'true' it will infer of the sub properties of the propertys that have as domain the class. If defined to 'false' it will just retrieve the properties with domain the class.
Output
- GetRelatedPropertiesResponse
- GetRelatedPropertiesDataSet
- DatasetFormatURI
- DatasetData
- RelatedProperties*The URIs of the related properties.
- NumberOfRelatedProperties1The number of properties related to the class.
Faults
No faults are defined for this message.
Class::GetInstances
This operation retrieves all the resources that are instances of the class, taking into account the class hierarchy if required.
Input
- GetInstancesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- InferInstances?Whether or not the service has to take into account the whole class hierarchy. If defined to 'true' it will infer the instances that are of type any sub class of this class. If defined to 'false' it will just retrieve instances that are of the type of this class.
Output
- GetInstancesResponse
- GetInstancesDataSet
- DatasetFormatURI
- DatasetData
- Instance*The URIs of the instances.
- NumberOfInstances1The number of instances related to the class.
Faults
No faults are defined for this message.
Class::AddRelatedClass
The operation adds related classes to the class, specifying which will be the relationship between the class and the new related classes.
Input
- AddRelatedClassRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class+The class that will be a new related class of the class.
- IsSubclass1Whether the class that is to be added will be a subclass or a superclass.
Output
- AddRelatedClassResponse
- AddRelatedClassDataSet
- DatasetFormatURI
- DatasetData
- NumberOfClassesAdded1The number of classes that were added to the class hierachy of the class.
Faults
No faults are defined for this message.
Class::RemoveRelatedClasses
This operation removes relationships with classes related to this class. If no class is specified, all the classes related of the same type will be removed. Otherwise, only the related classes will be removed.
Input
- RemoveRelatedClassesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Relationship1The type of relationship that must hold between this class and the specified class.
- ClassURI+The URI of the class that will no longer be related to the class.
Output
- RemoveRelatedClassesResponse
- RemoveRelatedClassesDataSet
- DatasetFormatURI
- DatasetData
- NumberOfClassesRemoved1The number of related classes that are no longer related to the class.
- Relationship1The type of relationship existing between this class and the specified class.
Faults
No faults are defined for this message.
Class::IsRelatedClass
The operation checks if the specified class is related to the class in any manner.
Input
- IsRelatedClassRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class1The class that is to be checked.
- Relationship1The type of relationship that is to be checked between this class and the specified class.
Output
- IsRelatedClassResponse
- IsRelatedClassDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified class is related to this class with the specified relationship.
- Relationship1The type of relationship existing between this class and the specified class.
Faults
No faults are defined for this message.
Class::IsInstance
This operation checks if the specified resource is an instance of the class, taking into account the class hierarchy of required.
Input
- IsInstanceRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Resource1The resource that is to be checked.
- InferInstances?Whether or not the service has to take into account the whole class hierarchy. If defined to 'true' it will take into account the class hierarchy. Otherwise it will not take it into account.
Output
- IsInstanceResponse
- IsInstanceDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified resource is an instance of the class.
Faults
No faults are defined for this message.
Property
Static Property Description
TO DO
Configurable Property Description
TO DO
Example PropertyPropertyDocument
TO DO
EXAMPLE CODE TO DO
Property
The operations provided by this interface are related to the different kind of things we can do with the model given a fixed property: browsing the properties hierarchy, getting the domain and range, getting values for a given resource, adding and removing values to a given resource...
Figure X - Overview - Property
Property::GetRelatedProperties
This operation retrieves the properties that are related to the property, taking into account the property hierarchy if required.
Input
- GetRelatedPropertiesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Relationship1The type of relationship between this property and the related properties that are to be retrieved.
Output
- GetRelatedPropertiesResponse
- GetRelatedPropertiesDataSet
- DatasetFormatURI
- DatasetData
- RelatedProperties*The URIs of the related properties.
- NumberOfRelatedProperties1The number of properties that are related to the property.
- Relationship1The type of relationship between this property and the related properties retrieved.
Faults
No faults are defined for this message.
Property::GetDomain
This operation retrieves the classes that are defined as part of the domain of the property, taking into account the class hierarchy if required.
Input
- GetDomainRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- RetrieveImplicitClasses?Whether or not retrieve implicit classes, that is, those classes that are subclasses of any that is in the domain of the property.
Output
- GetDomainResponse
- GetDomainDataSet
- DatasetFormatURI
- DatasetData
- ClassURI*The URI of the specific domain class.
- NumberOfDomainClasses1The number of classes that belong to the domain of the property.
Faults
No faults are defined for this message.
Property::GetRange
This operation retrieves the classes that are defined as part of the range of the property, taking into account the class hierarchy if required.
Input
- GetRangeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- RetrieveImplicitClasses?Whether or not retrieve implicit classes, that is, those classes that are subclasses of any that is in the range of the property.
Output
- GetRangeResponse
- GetRangeDataSet
- DatasetFormatURI
- DatasetData
- ClassURI*The URI of the specific range class.
- NumberOfRangeClasses1The number of classes that belong to the domain of the property.
Faults
No faults are defined for this message.
Property::GetValues
Retrieve all the values defined for this property and the specified resource, if any.
Input
- GetValuesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Resource?The URI of the specific resource for which the values of the property will be retrieved.
Output
- GetValuesResponse
- GetValuesDataSet
- DatasetFormatURI
- DatasetData
- Value*The specific values associated to the property.
- ResourceURI*The URI of the specific defined resources.
- Resource?The URI of the specific resource for which the values of the property have been retrieved.
- NumberOfValues1The number of values associated to the property and the specified resource.
Faults
No faults are defined for this message.
Property::AddRelatedProperty
The operation adds related properties to the property specifying which will be the relationship between the property and the new related properties.
Input
- AddRelatedPropertyRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Property+The class that will be a new related property of the property.
- IsSubproperty1Whether the property that is to be added will be a subproperty or a superproperty.
Output
- AddRelatedPropertyResponse
- AddRelatedPropertyDataSet
- DatasetFormatURI
- DatasetData
- NumberOfPropertiesAdded1The number of properties that were added to the property hierarchy of the property.
Faults
No faults are defined for this message.
Property::AddClassToDomain
The operation adds classes to the domain of the property.
Input
- AddClassToDomainRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Property+The class that will be in the domain of the property.
Output
- AddClassToDomainResponse
- AddClassToDomainDataSet
- DatasetFormatURI
- DatasetData
- NumberOfDomainClassesAdded1The number of classes that were added to the domain of the property.
Faults
No faults are defined for this message.
Property::AddClassToRange
This operation adds classes to the range of the property.
Input
- AddClassToRangeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Property+The class that will be in the range of the property.
Output
- AddClassToRangeResponse
- AddClassToRangeDataSet
- DatasetFormatURI
- DatasetData
- NumberOfRangeClassesAdded1The number of classes that were added to the range of the property.
Faults
No faults are defined for this message.
Property::AddValue
This operation adds values for this property and the specified resource.
Input
- AddValueRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Resource1The URI of the specific resource to which the values will be added for this property.
- Value+The value for this property that will be added to the specified resource.
Output
- AddValueResponse
- AddValueDataSet
- DatasetFormatURI
- DatasetData
- NumberOfValuesAdded1The number of values added to the resource.
Faults
No faults are defined for this message.
Property::RemoveRelatedProperties
This operation removes relationships with properties related to this property. If no property is specified, all the properties related of the same type will be removed. Otherwise, only the related properties will be removed.
Input
- RemoveRelatedPropertiesRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Relationship1The type of relationship that must hold between this property and the specified property.
- PropertyURI+The URI of the property that will no longer be related to the property.
Output
- RemoveRelatedPropertiesResponse
- RemoveRelatedPropertiesDataSet
- DatasetFormatURI
- DatasetData
- NumberOfPropertiesRemoved1The number of related properties that are no longer related to the property.
- Relationship1The type of relationship existing between this property and the specified property.
Faults
No faults are defined for this message.
Property::RemoveClassFromDomain
The operation removes classes from the domain of the property. If no class is specified, all the classes of the domain of the property will be removed. Otherwise, only the specified class will be removed from the domain.
Input
- RemoveClassFromDomainRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class+The class that will be removed from the domain of the property.
Output
- RemoveClassFromDomainResponse
- RemoveClassFromDomainDataSet
- DatasetFormatURI
- DatasetData
- NumberOfDomainClassesRemoved1The number of classes that were removed from the domain of the property.
Faults
No faults are defined for this message.
Property::RemoveClassFromRange
The operation removes classes from the range of the property. If no class is specified, all the classes of the range of the property will be removed. Otherwise, only the specified class will be removed from the range.
Input
- RemoveClassFromRangeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class+The class that will be removed from the range of the property.
Output
- RemoveClassFromRangeResponse
- RemoveClassFromRangeDataSet
- DatasetFormatURI
- DatasetData
- NumberOfRangeClassesRemoved1The number of classes that were removed from the range of the property.
Faults
No faults are defined for this message.
Property::RemoveValue
This operation removes values for this property and the specified resource. If no value is specified, all the values associated to the specified resource by means of this property will be removed.
Input
- RemoveValueRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Resource1The URI of the specific resource to which the values will be removed for this property.
- Value?The value for this property that will be removed from the specified resource.
Output
- RemoveValueResponse
- RemoveValueDataSet
- DatasetFormatURI
- DatasetData
- NumberOfValuesRemoved1The number of values removed from the resource.
Faults
No faults are defined for this message.
Property::IsPropertyRelated
The operation checks if the specified property is related to this property in any manner.
Input
- IsPropertyRelatedRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Property1The property that is to be checked.
- Relationship1The type of relationship that is to be checked between this class and the specified class.
Output
- IsPropertyRelatedResponse
- IsPropertyRelatedDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified property is related to this property with the specified relationship.
- Relationship1The type of relationship existing between this property and the specified property.
Faults
No faults are defined for this message.
Property::IsClassInDomain
The operation checks if the specified class is in the domain of the property.
Input
- IsClassInDomainRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class1The class that is to be checked.
Output
- IsClassInDomainResponse
- IsClassInDomainDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified class is in the domain of the property.
Faults
No faults are defined for this message.
Property::IsClassInRange
The operation checks if the specified class is in the range of the property.
Input
- IsClassInRangeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Class1The class that is to be checked.
Output
- IsClassInRangeResponse
- IsClassInRangeDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified class is in the range of the property.
Faults
No faults are defined for this message.
Statement
Static Statement Description
TO DO
Configurable Statement Description
TO DO
Example StatementPropertyDocument
TO DO
EXAMPLE CODE TO DO
Statement
This interface provides the basic operations needed for managing an statement. Operations are provided for dealing with elements of an statement.
Figure X - Overview - Statement
Statement::GetElements
This operation retrieves the elements of the statement that are of a given type (subject, predicate or object).
Input
- GetElementsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- ElementType1The type of the elements that are to be retrieved.
Output
- GetElementsResponse
- GetElementsDataSet
- DatasetFormatURI
- DatasetData
- Elements*The specific elements of the statement that have been retrieved.
- ElementType1The type of the elements that have been retrieved retrieved.
- NumberOfElements1The number of elements of the statement that have been retrieved.
Faults
No faults are defined for this message.
Statement::AddElements
The operations adds elements of the specified type to the statement.
Input
- AddElementsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Element1The specific elements that are to be added to the statement.
- ElementType1The type of the elements that are to be added to the statement.
Output
- AddElementsResponse
- AddElementsDataSet
- DatasetFormatURI
- DatasetData
- NumberOfElementsAdded1The number of elements that were added to the statement.
- ElementType1The type of the elements that were added to the statement.
Faults
No faults are defined for this message.
Statement::RemoveElements
This operation removes elements of a given type of the statement. If an element is provided, only the resource will be removed. Otherwise, all the elements of that type will be removed.
Input
- RemoveElementsRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Element?The specific element that is to be removed from the statement.
- ElementType1The type of the elements that are to be removed from the statement.
Output
- RemoveElementsResponse
- RemoveElementsDataSet
- DatasetFormatURI
- DatasetData
- NumberOfElementsRemoved1The number of elements that were removed from the statement.
- ElementType1The type of the elements that were removed from the statement.
Faults
No faults are defined for this message.
Statement::IsElement
Check if the element is part of the statement. If an element type is specified, then it is checked if the element is of that type.
Input
- IsElementRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Element1The element that is to be checked.
- ElementType?The type of the element that is to be checked.
Output
- IsElementResponse
- IsElementDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the resource is a subject of the statement.
- ElementType?The type of the element that has been checked. The value is just returned if the element is part of the statement.
Faults
No faults are defined for this message.
List
Static List Description
TO DO
Configurable List Description
TO DO
Example ListPropertyDocument
TO DO
EXAMPLE CODE TO DO
List
This interface provides the basic operations needed for managing generic lists. Operations are provided for dealing with a concrete node of a list.
Figure X - Overview - List
List::GetMembers
The operation retrieves the list of members defined for this node of the list.
Input
- GetMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetMembersResponse
- GetMembersDataSet
- DatasetFormatURI
- DatasetData
- Member*The first members of this node of the list.
- NumberOfMembers1The number of first members that are defined for this node of the list.
Faults
No faults are defined for this message.
List::GetRest
This operation retrieves the URIs of the next nodes of the list defined for this node of the list.
Input
- GetRestRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetRestResponse
- GetRestDataSet
- DatasetFormatURI
- DatasetData
- Node*The URI of the next node of the list defined for this node of the list.
- NumberOfNodes1The number of next nodes that are defined for this node of the list.
Faults
No faults are defined for this message.
List::AddMember
The operation adds member(s) to this node of the list.
Input
- AddMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member+The member that will be added to this node of the list.
Output
- AddMemberResponse
- AddMemberDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersAdded1The number of members that were added to this node of the list.
Faults
No faults are defined for this message.
List::AddRest
This operation adds node(s) to the list. If no nodes are specified, then the list is finalized.
Input
- AddRestRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Node*The URIs of the new rest node element.
Output
- AddRestResponse
- AddRestDataSet
- DatasetFormatURI
- DatasetData
- NumberOfNodesAdded1The number of nodes that were added to the current node of the list.
Faults
No faults are defined for this message.
List::RemoveMember
This operation removes members from the current node of the list. If no members are specified, then all the members of the current node of the list will be removed.
Input
- RemoveMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member?The member that will be removed from the current node of the list.
Output
- RemoveMemberResponse
- RemoveMemberDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersRemoved1The number of members that were removed from the list.
Faults
No faults are defined for this message.
List::RemoveRest
This operation removes rest nodes from the list. If no nodes are specified, then all the nodes will be removed.
Input
- RemoveRestRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Node+The URI of the rest node that is to be removed from the list.
Output
- RemoveRestResponse
- RemoveRestDataSet
- DatasetFormatURI
- DatasetData
- NumberOfNodesRemoves1The number of nodes that were removed from this node of the list.
Faults
No faults are defined for this message.
List::IsMember
The operation checks if the specified element is a member of the current node of the list.
Input
- IsMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Element1The element that is to be checked.
Output
- IsMemberResponse
- IsMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified element is a member of the current node of the list.
Faults
No faults are defined for this message.
List::IsNode
This operation checks if the specified node is a rest node of the current node of the list.
Input
- IsNodeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- NodeURI1The URI of the node that is to be checked.
Output
- IsNodeResponse
- IsNodeDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified node is a rest node of the current node of the list.
Faults
No faults are defined for this message.
Container
Static Container Description
TO DO
Configurable Container Description
TO DO
Example ContainerPropertyDocument
TO DO
EXAMPLE CODE TO DO
Container
This interface provides the basic operations needed for managing generic containers. The members are linked to the container by position.
Figure X - Overview - Container
Container::GetMembers
This operation retrieves the members that are defined for the container. If a position is specified, only the members located in that position will be returned.
Input
- GetMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Position?The position where the members to be retrieved are located.
Output
- GetMembersResponse
- GetMembersDataSet
- DatasetFormatURI
- DatasetData
- MemberURI*The URIs of the members retrieved.
- Position?The position where the members retrieved are located.
- NumberOfMembers1The number of members that are defined for the container.
Faults
No faults are defined for this message.
Container::GetNumberOfMembers
The operation retrieves the number of members that are defined for the container.
Input
- GetNumberOfMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetNumberOfMembersResponse
- GetNumberOfMembersDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembers1The number of members that are defined for the container.
Faults
No faults are defined for this message.
Container::GetContainerType
The operation retrieves the type of container of the container. The returned result is the URI that identifies the type of container.
Input
- GetContainerTypeRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetContainerTypeResponse
- GetContainerTypeDataSet
- DatasetFormatURI
- DatasetData
- ContainerType1The specific kind of container.
Faults
No faults are defined for this message.
Container::AddMember
The operation adds a member to the container at the specified position.
Input
- AddMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Position1The position in the container where the resource will be added.
- Member1The new member that is to be added to the container.
Output
- AddMemberResponse
- AddMemberDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersAdded1The number of members that were added to container.
Faults
No faults are defined for this message.
Container::RemoveMembers
This operation removes the specified members from the container. If a position and a member are specified, then that specific member will be removed. If only the position is specified, then all the members of the container located at that position will be removed. If only the member is specified, then only that member will be removed regardless of its position. If nothing is specified, then all the members of the container will be removed.
Input
- RemoveMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Position?The position in the container where are the resource will be removed.
- Member?The member that is to be removed from the container.
Output
- RemoveMembersResponse
- RemoveMembersDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersRemoved1The number of members that were removed from the container.
Faults
No faults are defined for this message.
Container::IsMember
This operation checks if the specified resource is a member of the container.
Input
- IsMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member1The member that is to be checked.
Output
- IsMemberResponse
- IsMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified resource is a member of the container.
Faults
No faults are defined for this message.
ContainerFactory
The interface provides operations for creating instances of data services which implement specific interfaces that provide added value operations for dealing with containers.
Figure X - Overview - ContainerFactory
ContainerFactory::GetContainerIteratorFactory
Retrieve an EPR pointing to a data service that implements the ContainerIterator access interface for dealing with this container.
Input
- GetContainerIteratorFactoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PortTypeQName? The QName of the portType through which the resulting data should be accesed.
- ConfigurationDocument? A document that specifies the properties of the data resource that is to be used to hold the resulting data. The properties contained in this document are defined in the WS-DAI specification.
- PrefferedTargetService? The EPR of the preferred service that is to act as the host for the new data resource.
Output
- GetContainerIteratorFactoryResponse
- DataResourceAddress a list of data resource addresses.
Faults
No faults are defined for this message.
ContainerFactory::GetAltFactory
Retrieve an EPR pointing to a data service that implements the Alt interface, and provides access to this container.
Input
- GetAltFactoryRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- PortTypeQName? The QName of the portType through which the resulting data should be accesed.
- ConfigurationDocument? A document that specifies the properties of the data resource that is to be used to hold the resulting data. The properties contained in this document are defined in the WS-DAI specification.
- PrefferedTargetService? The EPR of the preferred service that is to act as the host for the new data resource.
Output
- GetAltFactoryResponse
- DataResourceAddress a list of data resource addresses.
Faults
- IllegalContainerCasting - The container cannot be casted to this specific class of container.
ContainerIterator
The interface provides operations for traversing the members of the container following the Iterator pattern. There are two sets of operations, one which deals with individual members, and one that deals with sets of members that are located in the same position of the container. The interface provides capabilities for traversing the container in both directions.
Figure X - Overview - ContainerIterator
ContainerIterator::GetNextMember
The operation retrieves the first member of the container not yet retrieved by the consumer.
Input
- GetNextMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- FromTheBeginning?Whether or no the next member will be the first one.
Output
- GetNextMemberResponse
- GetNextMemberDataSet
- DatasetFormatURI
- DatasetData
- Member1The next member of the container.
Faults
- MemberNotDefinedFault - No more members have been defined for the container.
ContainerIterator::GetNextMemberSet
This operation retrieves the next set of members of the container not yet retrieved by the consumer.
Input
- GetNextMemberSetRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- FromTheBeginning?Whether or no the next member set will be the first one.
Output
- GetNextMemberSetResponse
- GetNextMemberSetDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembers1The cardinal of the next set of members that are defined for the container.
- Members1The list of the next set of members that are defined for the container.
Faults
- MemberNotDefinedFault - No more members have been defined for the container.
ContainerIterator::GetPreviousMember
This operation retrieves the previous member of the container retrieved by the consumer.
Input
- GetPreviousMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetPreviousMemberResponse
- GetPreviousMemberDataSet
- DatasetFormatURI
- DatasetData
- Member1The previouse member of the container.
Faults
- MemberNotDefinedFault - No more members have been defined for the container.
ContainerIterator::GetPreviousMemberSet
This operation retrieves the previous set of members of the container already retrieved by the consumer.
Input
- GetPreviousMemberSetRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetPreviousMemberSetResponse
- GetPreviousMemberSetDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembers1The cardinal of the next set of members that are defined for the container.
- MembersMembers1The list of the next set of members that are defined for the container.
Faults
- MemberNotDefinedFault - No more members have been defined for the container.
ContainerIterator::HasNextMember
The operation checks out if a next member is available in the container.
Input
- HasNextMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- HasNextMemberResponse
- HasNextMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not a next member is available.
Faults
No faults are defined for this message.
ContainerIterator::HasNextMemberSet
The operation checks out if a next member set is available in the container.
Input
- HasNextMemberSetRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- HasNextMemberSetResponse
- HasNextMemberSetDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not a next member set is available.
Faults
No faults are defined for this message.
ContainerIterator::HasPreviousMember
The operation checks out if a previous member is available.
Input
- HasPreviousMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- HasPreviousMemberResponse
- HasPreviousMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not a previous member is available.
Faults
No faults are defined for this message.
ContainerIterator::HasPreviousMemberSet
The operation checks out if a previous member set is available.
Input
- HasPreviousMemberSetRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- HasPreviousMemberSetResponse
- HasPreviousMemberSetDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not a previous member set is available.
Faults
No faults are defined for this message.
Alt
Static Alt Description
TO DO
Configurable Alt Description
TO DO
Example AltPropertyDocument
TO DO
EXAMPLE CODE TO DO
Alt
The interface provides operations for working with this specific kind of container according to its special intended semantics. The operations provided deal with 'default' members and 'alternative' members, as specified in the RDF specification (see section 5.1.4, RDFS). The 'default' members are those members that are located at the first (rdf:_1) position of the container. The 'alternative' members are the rest of the elements of the container. GAD operations are provided for managing the members associated to this container.
Figure X - Overview - Alt
Alt::GetDefaultMembers
Retrieve the default members of the container, that is those members that are located at the first (rdf:_1) position of the container.
Input
- GetDefaultMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
Output
- GetDefaultMembersResponse
- GetDefaultMembersDataSet
- DatasetFormatURI
- DatasetData
- DefaultMember*The specific members.
- NumberOfDefaultMembers1The number of default members of the container.
Faults
No faults are defined for this message.
Alt::GetAlternativeMembers
This operation retrieves alternative members of the container, provided their position(s). No members will be returned for the position '1' as the members in that position of the container are not alternative members but default ones. If no position is provided, all the alternative members will be retrieved.
Input
- GetAlternativeMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Position*The desired position of the alternative members that are to be retrieved.
Output
- GetAlternativeMembersResponse
- GetAlternativeMembersDataSet
- DatasetFormatURI
- DatasetData
- AlternativeMember*The specific alternative members retrieved.
- Position*The position of the alternative members retrieved.
- NumberOfAlternativMembers1The number of alternative members of the container at the specified position.
Faults
No faults are defined for this message.
Alt::AddDefaultMember
This operation attaches default members to the container.
Input
- AddDefaultMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member+The specific member that is to be attached to the container as a default member.
Output
- AddDefaultMemberResponse
- AddDefaultMemberDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersAdded1The number of default members that were added to the container.
Faults
No faults are defined for this message.
Alt::AddAlternativeMember
The operation attaches alternative members to the container, provided the position that they must occupy.
Input
- AddAlternativeMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member+The specific member that is to be attached to the container as an alternative member.
- Position1The position in which it the member is to be located.
Output
- AddAlternativeMemberResponse
- AddAlternativeMemberDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersAdded1The number of alternative members that were added to the container.
Faults
No faults are defined for this message.
Alt::RemoveDefaultMembers
The operation removes the default members from the container. If concrete members are specified, then only those will be removed from the container.
Input
- RemoveDefaultMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member*The specific members that are to be removed.
Output
- RemoveDefaultMembersResponse
- RemoveDefaultMembersDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersRemoved1The number of default members removed from the container.
Faults
No faults are defined for this message.
Alt::RemoveAlternativeMembers
This operation remove the specified alternative members from the container. If position is provided, then all the alternative members at that position will be removed. If specific members are provided, only they will be removed. If both arguments are provided, the associated members will only be removed if they are located at the concrete position. If no arguments are provided all the alternative members will be removed.
Input
- RemoveAlternativeMembersRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Position?The position of the alternative member that is to be removed from the container.
- Member*The specific member that is to be removed from the container.
Output
- RemoveAlternativeMembersResponse
- RemoveAlternativeMembersDataSet
- DatasetFormatURI
- DatasetData
- NumberOfMembersRemoved1The number of alternative members that were removed from the container.
Faults
No faults are defined for this message.
Alt::IsDefaultMember
This operation checks if the specified member is a default member of the container.
Input
- IsDefaultMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member1The specific member.
Output
- IsDefaultMemberResponse
- IsDefaultMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified resource is a default member of the container.
Faults
No faults are defined for this message.
Alt::IsAlternativeMember
This operation checks if the specified member is an alternativ member of the container.
Input
- IsAlternativeMemberRequest
- DataResourceAbstractName The abstract name of the resource the message is targeted at.
- Member1The specific member.
Output
- IsAlternativeMemberResponse
- IsAlternativeMemberDataSet
- DatasetFormatURI
- DatasetData
- Result1Whether or not the specified resource is an alternative member of the container.
Faults
No faults are defined for this message.
Mapping to WSDL
TO DO
Security Considerations
TO DO
Conclusion
TO DO
Editor Information
TO DO
Contributor Information
TO DO
Acknowledgements
TO DO
Intellectual Property Statement
The GGF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the GGF Secretariat.
The GGF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights, which may cover technology that may be required to practice this recommendation. Please address the information to the GGF Executive Director.
Full Copyright Notice
Copyright (C) Global Grid Forum (2005). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the GGF or other organizations, except as needed for the purpose of developing Grid Recommendations in which case the procedures for copyrights defined in the GGF Document process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the GGF or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE GLOBAL GRID FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
References
TO DO
RepositorySelector XML Schema
TO DO
RepositorySelector WSDL
TO DO
RepositorySelectorFactory XML Schema
TO DO
RepositorySelectorFactory WSDL
TO DO
Repository XML Schema
TO DO
Repository WSDL
TO DO
RepositoryFactory XML Schema
TO DO
RepositoryFactory WSDL
TO DO
Resource XML Schema
TO DO
Resource WSDL
TO DO
Class XML Schema
TO DO
Class WSDL
TO DO
Property XML Schema
TO DO
Property WSDL
TO DO
Statement XML Schema
TO DO
Statement WSDL
TO DO
List XML Schema
TO DO
List WSDL
TO DO
Container XML Schema
TO DO
Container WSDL
TO DO
ContainerFactory XML Schema
TO DO
ContainerFactory WSDL
TO DO
ContainerIterator XML Schema
TO DO
ContainerIterator WSDL
TO DO
Alt XML Schema
TO DO
Alt WSDL
TO DO