Research on W1 assignments - dberkerdem/SWE573_Term_Project GitHub Wiki

This Page contains detailed documentation about the research assignment.

Git VCS

As a part of Agile Software Development, git is a highly popular, free and open source version control system. While developing software with team, it is possible for developers to work on same code pieces simultaneously; which means that while building new features, using same code blocks may generate conflicts that prevents features to run. To eradicate this problem, developers create different branches for different features and they find an environment to review the each other's code. Then, the new features merge into the main branch and if there is a conflict between codes, the system warns about the conflicts. Furthermore, git enables to log changes and create versions with tags, which means that developers revert back to old versions and commits via git.

Configuration of Git

  • Set a name that is identifiable for credit when review version history
git config --global user.name “[firstname lastname]”
  • Set an email address that will be associated with each history marker
git config --global user.email “[valid-email]”

Fundamental Git Commands

  • Initialize an existing directory as a Git repository
git init
  • Retrieve an entire repository from a hosted location via URL
git clone <URL>
  • Show modified files in working directory, staged for your next commit
git status
  • Add a file as it looks now to your next commit (If you want to add all changes you may use . instead [file])
git add <filename>
  • Commit your staged content as a new commit snapshot
git commit -m "<Message>"
  • Transmit local branch commits to the remote repository branch
git push <alias> <branch>

See the cheat sheet below for further details. Cheat Sheet

Wikidata

Wikidata is free and open knowledge base for the storage of Wikimedia projects such as Wikipedia. Not only humans but also machines can view and manipulate the data. Furthermore, it is available under CCO 1.0 License.

Python API

Wikibase Integrator is a tool for reading and writing to Wikibase with the APIs.

Installation

python -m pip install --pre wikibaseintegrator

Login Object

from wikibaseintegrator import wibi_login


login_instance = wbi_login.Login(user='<bot user name>', pwd='<bot password>')

Execute SPARQL queries

from wikibaseintegrator import wibi_core

cat_sparql_query = '
SELECT ?item ?itemLabel 
WHERE 
{
  ?item wdt:P31 wd:Q146. 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}'

wbi_core.ItemEngine.execute_sparql_query(cat_sparql_query)
⚠️ **GitHub.com Fallback** ⚠️