IP Library Granted Patent US 8,560,531
Granted Patent B2
US 8,560,531 · App. 13/175,611 · Granted Oct 15, 2013

Search tool that utilizes scientific metadata matched against user-entered parameters

Inventors: Veronika Margaret Megler (Oak Grove, OR); David Maier (Portland, OR)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,560,531
App. No.
13/175,611
Granted
Oct 15, 2013
Kind
B2
Abstract

A method for providing proximate dataset recommendations can begin with the creation of metadata records corresponding to datasets that represent scientific data by a scientific dataset search tool. The metadata records can conform to a standardized structural definition, and may be hierarchical. Values for the data elements of the metadata records can be contained within the datasets. Metadata records with a value that is proximate to a user-entered search parameter can be identified. A proximity score can be calculated for each identified metadata record. The proximity score can express a relevance of the corresponding dataset to the user-entered search parameters. The identified metadata records can be arranged in descending order by the calculated proximity rating, creating a list of proximate dataset results. The proximate dataset results can be presented within a user interface.

Claims (681)

1. A method for providing proximate dataset recommendations comprising:

creating of a plurality of metadata records that correspond to a plurality of datasets representing scientific data by a scientific dataset search tool, wherein said plurality of metadata records conform to a standardized structural definition, wherein values for data elements of a metadata record are contained within a corresponding dataset;

identifying at least one metadata record from the plurality of metadata records having a value that is proximate to one or more user-entered search parameters, wherein one of the search parameters is a temporal parameter, wherein proximity is determined with respect to a range represented by the corresponding user-entered search parameters;

calculating a proximity score for each identified metadata record, wherein said proximity score expresses a relevance of the corresponding dataset to the user-entered search parameters, wherein calculating the proximity score comprises calculating a temporal proximity score, wherein calculating the temporal proximity score further comprises:

determining a temporal distance, d Tdist , from a central point of the user-entered temporal search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Tdist

=

{

0

d

Tmin

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

+

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

+

d

Rmax

/

2

)

-

1

d

Tmin

>

Q

Tmin

or

d

Tmax

<

Q

Tmax

,

wherein Q Tmin and Q Tmax represent the minimum and maximum bounds of the temporal search parameter range, d Tmin and d Tmax represent the minimum and maximum time values of the dataset, and d Rmin and d Rmax represent the distance of d Tmin and d Tmax from the central point of the range; and

using the proximity score to filter or order metadata records to create a listing of dataset results.

2. The method of claim 1 , further comprising:

arranging the at least one identified metadata record in descending order by the calculated proximity rating, wherein said arranged metadata records create a listing of proximate dataset results; and

presenting the proximate dataset results within a user interface.

3. The method of claim 1 , wherein the user-entered search parameters comprise a geospatial parameter.

4. The method of claim 1 , wherein the user-entered search parameters comprise a numeric range or a non-numeric parameter or keyword that can be translated to a numeric range.

5. The method of claim 1 , wherein creating the plurality of metadata records further comprises:

accessing a data store storing a dataset;

extracting from the dataset values for metadata record data elements, wherein the values comprise at least temporal bounds of the dataset, geospatial bounds of the dataset, and a unique identifier for the proximate dataset result;

populating a new metadata record with the extracted values; and

storing the new metadata record in a data store accessible by the geospatially/temporally proximate dataset search tool.

6. The method of claim 1 , wherein calculating the proximity score for each identified metadata record further comprises:

calculating the temporal proximity score for the identified metadata record, wherein said temporal proximity score is weighted based upon a radius of a range expressed by the user-entered temporal search parameter;

calculating a geospatial proximity score for the identified metadata record, wherein said geospatial proximity score is weighted based upon a radius of a range expressed by the user-entered geospatial search parameter; and

combining the temporal proximity score and the geospatial proximity score into the proximity score.

7. The method of claim 1 , further comprising:

converting the determined d Tdist to the temporal proximity score, d Ts , using

d Ts =s ( d Tdist ),

wherein s is a scaling function that translates d Tdist into a value within a scale defined for the proximity score.

8. The method of claim 1 , wherein one of the search parameters is a geospatial parameter, and wherein calculating the proximity score comprises calculating a geospatial proximity score.

9. The method of claim 8 , wherein calculating the geospatial proximity score further comprises:

determining a geospatial distance, d Gdist , from a central point of the user-entered geospatial search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Gdist

=

{

0

d

Gmax

r

(

d

Gmax

/

r

-

1

)

2

2

(

d

Gmax

-

d

Gmin

)

/

r

d

Gmin

r

,

d

Gmax

r

(

d

Gmin

+

d

Gmax

)

/

r

-

1

d

Gmin

>

r

,

wherein r is the radius of the range expressed by the user-entered geospatial search parameter and d Gmin and d Gmax are the minimum and maximum distances within the dataset from the central point.

10. The method of claim 9 , further comprising:

converting the determined d Gdist to the geospatial proximity score, d Gs , using

d Gs =s ( d Gdist ),

wherein s is a scaling function that translates d Gtdist into a value within a scale defined for the proximity score.

11. The method of claim 1 , wherein the proximity score utilizes a scale having a lower bound and an upper bound denoting a distant match and an exact match 0, respectively, to the user-entered geospatial and temporal search parameters.

12. The method of claim 11 , further comprising:

arranging the at least one identified metadata record in descending order by the calculated proximity score, wherein said arranged metadata records create a listing of proximate dataset results, wherein said arranging of the at least one identified metadata record further comprises: and

comparing the calculated proximity score of the at least one identified metadata record to the lower bound of the scale.

13. The method of claim 1 , wherein the scientific dataset search tool is a component of a data analysis system.

14. The method of claim 1 , wherein the standardized structural definition of the plurality of metadata records utilizes a hierarchical configuration in which metadata records are able to be nested within a superior metadata record.

15. The method of claim 1 , wherein the user-entered search parameters include at least one limiting value for at least one of the user-entered search parameters, wherein the calculated proximity score is further scaled with respect to the at least one limiting value.

16. A method for providing proximate dataset recommendations comprising:

creating of a plurality of metadata records that correspond to a plurality of datasets representing scientific data by a scientific dataset search tool, wherein said plurality of metadata records conform to a standardized structural definition, wherein values for data elements of a metadata record are contained within a corresponding dataset;

identifying at least one metadata record from the plurality of metadata records having a value that is proximate to one or more user-entered search parameters, wherein proximity is determined with respect to a range represented by the corresponding user-entered search parameters, wherein one of the search parameters is a geospatial parameter;

calculating a proximity score for each identified metadata record, wherein said proximity score expresses a relevance of the corresponding dataset to the user-entered search parameters, wherein calculating the proximity score comprises calculating a geospatial proximity score, wherein calculating the geospatial proximity score further comprises:

determining a geospatial distance, d Gdist , from a central point of the user-entered geospatial search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Gdist

=

{

0

d

Gmax

r

(

d

Gmax

/

r

-

1

)

2

2

(

d

Gmax

-

d

Gmin

)

/

r

d

Gmin

r

,

d

Gmax

r

(

d

Gmin

+

d

Gmax

)

/

r

-

1

d

Gmin

>

r

,

wherein r is the radius of the range expressed by the user-entered geospatial search parameter and d Gmin and d Gmax are the minimum and maximum distances within the dataset from the central point; and

using the proximity score to filter or order metadata records to create a listing of dataset results.

17. The method of claim 16 , further comprising:

converting the determined d Gdist to the geospatial proximity score, d Gs , using

d Gs =s ( d Gdist ),

wherein s is a scaling function that translates d Gdist into a value within a scale defined for the proximity score.

18. The method of claim 16 , further comprising:

arranging the at least one identified metadata record in descending order by the calculated proximity rating, wherein said arranged metadata records create a listing of proximate dataset results; and

presenting the proximate dataset results within a user interface.

19. The method of claim 16 , wherein the user-entered search parameters comprise a temporal parameter.

20. The method of claim 16 , wherein the user-entered search parameters comprise a numeric range or a non-numeric parameter or keyword that can be translated to a numeric range.

21. A computer program product comprising:

a non-transitory computer usable storage medium storing computer usable program code executable by one or more processors, the computer usable program code comprising:

computer usable program code configured to create of a plurality of metadata records that correspond to a plurality of datasets representing scientific data by a scientific dataset search tool, wherein said plurality of metadata records conform to a standardized structural definition, wherein values for data elements of a metadata record are contained within a corresponding dataset;

computer usable program code configured to identify at least one metadata record from the plurality of metadata records having a value that is proximate to one or more user-entered search parameters, wherein one of the search parameters is a temporal parameter, wherein proximity is determined with respect to a range represented by the corresponding user-entered search parameters;

computer usable program code configured to calculate a proximity score for each identified metadata record, wherein said proximity score expresses a relevance of the corresponding dataset to the user-entered search parameters, wherein calculating the proximity score comprises calculating a temporal proximity score, wherein the computer usable code to calculate the temporal proximity score is further configured to:

determine a temporal distance, d Tdist , from a central point of the user-entered temporal search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Tdist

=

{

0

d

Tmin

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

+

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

+

d

Rmax

/

2

)

-

1

d

Tmin

>

Q

Tmin

or

d

Tmax

<

Q

Tmax

,

wherein Q Tmin and Q Tmax represent the minimum and maximum bounds of the temporal search parameter range, d Tmin and d Tmax represent the minimum and maximum time values of the dataset, and d Rmin and d Rmax represent the distance of d Tmin and d Tmax from the central point of the range; and

computer usable program code configured to use the proximity score to filter or order metadata records to create a listing of dataset results.

22. The computer program product of claim 21 , the computer usable program code further comprising:

computer usable program code configured to convert the determined d Tdist to the temporal proximity score, d Ts , using

d Ts =s ( d Tdist ),

wherein s is a scaling function that translates d Tdist into a value within a scale defined for the proximity score.

23. A computer program product comprising:

a non-transitory computer usable storage medium storing computer usable program code executable by one or more processors, the computer usable program code comprising:

computer usable program code configured to create of a plurality of metadata records that correspond to a plurality of datasets representing scientific data by a scientific dataset search tool, wherein said plurality of metadata records conform to a standardized structural definition, wherein values for data elements of a metadata record are contained within a corresponding dataset;

computer usable program code configured to identify at least one metadata record from the plurality of metadata records having a value that is proximate to one or more user-entered search parameters, wherein proximity is determined with respect to a range represented by the corresponding user-entered search parameters, wherein one of the search parameters is a geospatial parameter;

computer usable program code configured to calculate a proximity score for each identified metadata record, wherein said proximity score expresses a relevance of the corresponding dataset to the user-entered search parameters, wherein calculating the proximity score comprises calculating a geospatial proximity score, wherein the computer usable program code configured to calculate the geospatial proximity score further comprises:

computer usable program code configured to determine a geospatial distance, d Gdist , from a central point of the user-entered geo spatial search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Gdist

=

{

0

d

Gmax

r

(

d

Gmax

/

r

-

1

)

2

2

(

d

Gmax

-

d

Gmin

)

/

r

d

Gmin

r

,

d

Gmax

r

(

d

Gmin

+

d

Gmax

)

/

r

-

1

d

Gmin

>

r

,

wherein r is the radius of the range expressed by the user-entered geospatial search parameter and d Gmin and d Gmax are the minimum and maximum distances within the dataset from the central point; and

computer usable program code configured to use the proximity score to filter or order metadata records to create a listing of dataset results.

24. The computer program product of claim 23 , the computer usable program code further comprising:

computer usable program code configured to convert the determined d Gdist to the geospatial proximity score, d Gs , using

d Gs =s ( d Gdist ),

wherein s is a scaling function that translates d Gdist into a value within a scale defined for the proximity score.

25. A system comprising:

one or more processors;

at least one non-transitory computer usable storage medium storing computer usable program code executable by the one or more processors, the computer usable program code comprising:

computer usable program code configured to create of a plurality of metadata records that correspond to a plurality of datasets representing scientific data by a scientific dataset search tool, wherein said plurality of metadata records conform to a standardized structural definition, wherein values for data elements of a metadata record are contained within a corresponding dataset;

computer usable program code configured to identify at least one metadata record from the plurality of metadata records having a value that is proximate to one or more user-entered search parameters, wherein proximity is determined with respect to a range represented by the corresponding user-entered search parameters, wherein one of the search parameters is a geospatial parameter;

computer usable program code configured to calculate a proximity score for each identified metadata record, wherein said proximity score expresses a relevance of the corresponding dataset to the user-entered search parameters, wherein calculating the proximity score comprises calculating a geospatial proximity score, wherein the computer usable program code configured to calculate the geospatial proximity score further comprises:

computer usable program code configured to determine a geospatial distance, d Gdist , from a central point of the user-entered geo spatial search parameter for the dataset using the following formula or a variation or derivative thereof:

d

Tdist

=

{

0

d

Tmin

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

Q

Tmax

(

d

Rmax

-

1

)

2

+

(

d

Rmax

-

1

)

2

2

d

Rmax

-

d

Rmin

d

Tmin

<

Q

Tmin

,

d

Tmax

>

Q

Tmax

(

d

Rmin

+

d

Rmax

/

2

)

-

1

d

Tmin

>

Q

Tmin

or

d

Tmax

<

Q

Tmax

,

wherein r is the radius of the range expressed by the user-entered geospatial search parameter and d Gmin and d Gmax are the minimum and maximum distances within the dataset from the central point; and

computer usable program code configured to use the proximity score to filter or order metadata records to create a listing of dataset results.

26. The system of claim 25 , the computer usable program code further comprising:

computer usable program code configured to convert the determined d Gdist to the geospatial proximity score, d Gs , using

d Gs =s ( d Gdist ),

wherein s is a scaling function that translates d Gdist into a value within a scale defined for the proximity score.

Assignments (3)
CONFIRMATORY LICENSE Recorded Jan 9, 2015
From: PORTLAND STATE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 034747/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2011
From: MEGLER, VERONIKA M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026538/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2011
From: MAIER, DAVID
To: STATE OF OREGON BY AND THROUGH THE STATE BOARD OF HIGHER EDUCATION ON BEHALF OF PORTLAND STATE UNIVERSITY
Reel/Frame 026538/0551 →
Continuity (1)
Related Publication 20130006976A1 · Jan 3, 2013