Line 30 was replaced by line 30 |
- getResourceType( ResourceID ) :: ResourceType |
+ getResourceType( ResourceID ) :: ResourceType |
Line 32 was replaced by line 32 |
- getSemanticAnnotations( RemoteSearchFlag ) :: Set<SemanticAnnotationID> |
+ getSemanticAnnotations( RemoteSearchFlag ) :: Set<SemanticAnnotationID> |
Line 34 was replaced by line 34 |
- getOntology( OntologyID ) :: Set<Ontology> |
+ getOntology( OntologyID ) :: Set<Ontology> |
Line 41 was replaced by line 41 |
- In general, the {{search}} operation requires access to all semantic annotations to find matching resources. For example, if a search expression requires both concepts {{A}} and {{B}}, the algorithm must look for annotations that explicitly state {{A}} and {{B}} as well as those that state only {{A}} and only {{B}} (which taken together make {{A}} and {{B}}). Thus, for remote searches, the algorithm must consider all remote annotations to find matching resources. Because of this requirement, as the number of semantic annotations increases, this operation can become expensive. |
+ In general, the {{search}} operation requires access to all semantic annotations to find matching resources. For example, consider a search expression {{A and B}}, i.e., a resource must contribute to both concept {{A}} and concept {{B}}. To find appropriate matches for this search term, the algorithm must look for annotations that explicitly state {{A and B}} as well as those that state only {{A}} and only {{B}} (which taken together make {{A and B}}). Note that an annotation that states only {{A}} may be in one repository, while an annotation that states {{B}} may be in another. Thus, for remote searches, the {{search}} algorithm must gather and consider all remote annotations to find matching resources. The {{search}} operation is inherently centralized because of this situation. |
Line 43 was replaced by line 43 |
- We may reduce the cost of {{search}} by adding additional services that can be executed locally at each repository and by altering the search algorithm. The additional services are: |
+ We may reduce the cost of {{search}} by adding additional services that can be executed locally at each repository and by altering the search algorithm, making it slightly less centralized. The additional services are: |
Line 45 was replaced by line 45 |
- getRepositories() :: Set<RepositoryID> |
+ getRepositories() :: Set<RepositoryID> |
Line 47 was replaced by line 47 |
- getResources() :: Set<ResourceID> |
+ getResources( RepositoryID ) :: Set<ResourceID> |
Line 49 was replaced by line 49 |
- partialSearch( ConceptExpression, ResourceID ) :: Set<ConceptExpression> |
+ partialSearch( RepositoryID, ConceptExpression, ResourceID ) :: Set<ConceptExpression> |