<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Step 3
Step1:  Now print out the data artifacts
Step2:  Now visualize the dataset features.
Hint
Step3:  Now plot the artifact lineage
<ASSISTANT_TASK:>
Python Code:
from __future__ import print_function
!pip install -q papermill
!pip install -q matplotlib
!pip install -q networkx
import os
import tfx_utils
%matplotlib notebook
def _make_default_sqlite_uri(pipeline_name):
    return os.path.join(os.environ['HOME'], 'airflow/tfx/metadata', pipeline_name, 'metadata.db')
def get_metadata_store(pipeline_name):
    return tfx_utils.TFXReadonlyMetadataStore.from_sqlite_db(_make_default_sqlite_uri(pipeline_name))
pipeline_name = 'taxi'
pipeline_db_path = _make_default_sqlite_uri(pipeline_name)
print('Pipeline DB:\n{}'.format(pipeline_db_path))
store = get_metadata_store(pipeline_name)
Explanation: Step 3: Data Validation
Use the code below to run TensorFlow Data Validation on your pipeline.  Start by importing and opening the metadata store.
End of explanation
# Visualize properties of example artifacts
store.get_artifacts_of_type_df(tfx_utils.TFXArtifactTypes.EXAMPLES)
Explanation: Now print out the data artifacts:
End of explanation
# Visualize stats for data
store.display_stats_for_examples(<insert ID here>)
Explanation: Now visualize the dataset features.
Hint: try ID 2 or 3
End of explanation
# Try different IDs here. Click stop in the plot when changing IDs.
%matplotlib notebook
store.plot_artifact_lineage(<insert ID here>)
Explanation: Now plot the artifact lineage:
End of explanation
<END_TASK>