learningtapestry / metadataregistry

DEPRECATED - THIS CODE BASE IS NO LONGER MAINTAINED. Metadata Registry
Apache License 2.0
7 stars 5 forks source link

Create search system that pulls resources by attributes #32

Open science opened 8 years ago

science commented 8 years ago

For Learning Registry this feature would let you find resources by which curricular standards they are associated with. @joehobson gave some great examples of how this system currently works in LR 1.0. We should have a corresponding service in 2.0 to enable similar search/filtering. Following text is from Joe:

A few weeks ago, a developer notified the list that they were running into trouble with the standards alignment data service. The data service was built before CCSS dot notation and corestandards.org URLs were commonly used, so it relied on ASN ids and expected the record payload to either be NSDL_DC xml or LR Paradata. Obviously things have changed significantly since then.

With help from Douglas McAuliffe, we’re happy to announce that the data service has been updated. For flexibility, we're now supporting LRMI/schema.org/JSON records, CCSS URLs, new ASN URLs, and CCSS dot notation. To that end, we actually ended up improving it substantially, and making it more flexible for future data changes (NGSS ids, for instance). The updated service looks for targetUrl or targetName, depending on which extractor you use. It should still support NSDL_dc and LR Paradata 1.0 records as well. discriminator-by-resource - Enabled user to search by targetUrl discriminator-by-resource-ts - Enabled user to search by targetUrl discriminator-by-ts - Enabled user to search by targetUrl resource-by-discriminator - Enabled user to search by targetUrl resource-by-discriminator-ts - Enabled user to search by targetUrl resource-by-ts - Added support for LRMI entries New: resource-name-by-discriminator - Enabled search by targetName New: discriminator-name-by-resource - Enabled search by targetName Keep in mind that we’re not employing any mapping to convert data between identifiers, so if you extract based on ASN URL, you will only find records that use the ASN URL (not the CCSS equivalent, unless they use both IDs).

The updated data service has been deployed on node01, node02, and the goOpen node. Here are some example URLs:

find standards alignments for a particular resource URL: http://node01.public.learningregistry.net/extract/standards-alignment-related/discriminator-by-resource?resource=http://www.learner.org/courses/learningmath/measurement/session1/&ids_only=true

find resources by CCSS dot notation: http://goopen.public.learningregistry.net/extract/standards-alignment-related/resource-name-by-discriminator?discriminator=CCSS.ELA-Literacy.RI.2.6&ids_only=true

find resources by newer ASN URLs http://node01.public.learningregistry.net/extract/standards-alignment-related/resource-by-discriminator?ids_only=true&discriminator=http://asn.jesandco.org/resources/S114344B

find resources by legacy ASN purl.org URL: http://node01.public.learningregistry.net/extract/standards-alignment-related/resource-by-discriminator?discriminator=http://purl.org/ASN/resources/S1013C40

find resources by corestandards.org URL: http://node01.public.learningregistry.net/extract/standards-alignment-related/resource-by-discriminator?ids_only=true&discriminator=http://corestandards.org/Math/Content/1/G/A/2

Please try it out and let us know if you run into any issues. If you’re interested in how you might use a service like this in a real-world application, we made a walkthrough video years ago showing how real-time standards alignment data could be used to suggest resources to teachers when building curriculum: https://youtu.be/_zuJdBNGBQQ