Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter Graph by Factors #26

Open
zsinnema opened this issue May 26, 2021 · 0 comments
Open

Filter Graph by Factors #26

zsinnema opened this issue May 26, 2021 · 0 comments
Labels
P1 Priority 1

Comments

@zsinnema
Copy link
Collaborator

zsinnema commented May 26, 2021

As Any User : I want to Filter graph viewer by a range of factors such as protocol, award number, contributor, etc.
So I Can: Control what I visualize in the graph viewer

The range of factors for this are the properties under SPAR:Dataset:
sparc:Dataset Properties
label
title
isAbout
contentsWereUpdatedAtTime
curationIndex
errorIndex
hasAdditionalFundingInformation
hasAwardNumber
hasContactPerson
hasDatasetTemplateSchemaVersion
hasExperimentalModality
hasNumberOfContributors
hasNumberOfDirectories
hasNumberOfFiles
hasResponsiblePrincipalInvestigator
hasSizeInBytes
hasUriApi
hasUriHuman
protocolEmploysTechnique
statusOnPlatform
submissionIndex
wasCreatedAtTime
wasUpdatedAtTime
unclassifiedIndex

Follow up with Tom about this :

Question : For the "Filter Graph by Factors" use case, where a graph viewer can be filtered by protocol, award number, contributor etc. What will be the the whole list of factors that the user can filter the graph viewer by? Is it the whole list of properties found on the sparch:Dataset (screenshot )?
And also, once the filtered is apply to the Graph Viewer, we will be displaying and focusing the nodes that apply to that filter but what happens to the rest of the nodes?
For example, if the graph is filtered by Contributor do we remove the nodes that don't have the contributor from the graph? We can completely remove the nodes, hide
them or made them fade in the background with less opacity than the nodes that did match the Contributor filter.

Answer : In the simple case yes, it is on that list of properties. However
since this is in the multi-dataset case I think this is indended
more as a tool for pulling in datasets to be visualized and not to
filter down what is already present. It is about going beyond the
loaded datasets, not filtering the existing ones, if that makes
sense.
I am pretty sure that this user story devolves into the filter
graph by datasets user story. The fully abstract version of it is
to take any sparql query that returns a list of datasets and show
only those datasets.
The issue is how to map the selection of any individual thing like
a protocol, a group, or a sample, and specify the equivalent sparql
query. For example, this is needed for groups because they do not
have a direct relation to the dataset beyond appearing in the
export file for a particular dataset.
Having through about this, I think that it will probably be more
robust in the long run to specify the filtering behavior for
individual graph elements by writing the sparql query that we want
to run to connect them to datasets.
I have a list of queries that we could start from.
https://github.com/SciCrunch/sparc-curation/blob/master/docs/queries.org#datasets
In the contributor use case the behavior we want is to look up
all dataset contributor records that we have loaded and return
all the datasets where they are a contributor. This may need to
search outside the set of loaded datasets so that we can discover
more datasets. This could hit a sparql endpoint to discover the
datasets beyond those already loaded, or to keep things simple
we could provide a stripped down ttl file with only the relations
we need to do the filtering and discovery so that we don't need
to worry about a sparql endpoint.

Question : For the "Filter Graph by Datasets" use case, the user needs to be able to filter the Graph Viewer by datasets. This means that in the case of having multiple loaded
datasets, a single Graph Viewer can display the contents of more than one or all loaded datasets ? Or do we assume that for each loaded dataset, there needs to be a
unique Graph viewer dedicated to displaying one dataset each only?

Answer : For the multi-dataset use case we will want to be able to view
multiple datasets in a single Graph viewer, as well as being able
to switch to a unique view per dataset, so both. This may not
always be easy to accomplish if there is more than one dataset per
file, so we will need to work through that case.

@zsinnema zsinnema added the P1 Priority 1 label May 26, 2021
@zsinnema zsinnema added this to the First Iteration of MVP milestone Jun 1, 2021
@jrmartin jrmartin removed this from the First Iteration of MVP milestone Jul 27, 2021
jrmartin added a commit that referenced this issue Mar 14, 2024
#26 Store Metadata Properties in Local Storage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 Priority 1
Projects
None yet
Development

No branches or pull requests

2 participants