diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/prov.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/prov.png new file mode 100644 index 0000000..bd9e40c Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/prov.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/stem.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/stem.png new file mode 100644 index 0000000..f2a0a29 Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/stem.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml1.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml1.png new file mode 100644 index 0000000..779cad8 Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml1.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml2.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml2.png new file mode 100644 index 0000000..74039f9 Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml2.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml3.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml3.png new file mode 100644 index 0000000..364f9c7 Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml3.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml4.png b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml4.png new file mode 100644 index 0000000..1680da4 Binary files /dev/null and b/CM3010 Databases and Advanced Data Techniques/Week 13/Files/xml4.png differ diff --git a/CM3010 Databases and Advanced Data Techniques/Week 13/Week 13 notes.md b/CM3010 Databases and Advanced Data Techniques/Week 13/Week 13 notes.md new file mode 100644 index 0000000..dfa2899 --- /dev/null +++ b/CM3010 Databases and Advanced Data Techniques/Week 13/Week 13 notes.md @@ -0,0 +1,93 @@ +# Semantic Databases +The meaning that we have in common can be shared more effectively and we can communicate structures and information between databases + +# Semantic databases - What does a table actually tell us + +Sharing a Relational database + +* Just data + * CSV + * A table in a RDB, the data in the table but also the column specification + * The CSV file is the data but not the relation +* Full relation (data and data types) + * Database dump (.sql) + +Example + +SF Movie Locations +* Actor1, Actor2, Actor3 + * Personal name + * An actor +* Year + * Year is a positive integer + * Year is a calendar year +* Location + * Text + * Geographical location + * In San Francisco + +### Layers of meaning +* Data type + * string, integer, float +* Data domain + * place, person, date +* Data semantics + * Person acted in film + +The more meaning we can specify, the more we're able to spot when someone else is specifying the same meaning. + +### Shared meaning +* Share data + * e.g. a .csv file +* Share difinitions + * Data entry documentation +* share syntax + * Validate new data. Agreements how we'll encode our information so new entries are accepted +* Share machine-readable semantics + +### Deductive database +First order logic: + +`ancestor(c, a) <- parent(c, a)` + +`ancestor(c, a) <- parent(c, b) AND ancestor(b, a)` + +`sibling(a, b) <- parent(c, a) AND parent(c, b)` + +In this example: + +`<-ancestor('Anakin', 'Kylo')` + +It won't look for explicit '___ is ancestor of ___' but it will look for the relation. + +## Sharing meaning in the real world +### Common semantics +* Shared documents(s) +* Formal specifications +* Human-readable definitions + +We always need realiable ways of sharing: +* Information +* Structures and semantics in computer-readable form +* Structures and semantics in a human-readable form + +With these three, we can start to communicate and share meaning. + +For example, STEM a music notation, tries to convey the last two (computer and human-readable) + +![stem](Files/stem.png) + +A specification document in human-readable form: + +![Diagram](Files/prov.png) + +## XML - Documents with semantics +eXtensible Markup Language + +Example of text that has been marked up: +![Diagram](Files/xml1.png) +Atributes +![Diagram](Files/xml2.png) +There always needs to be a parent node betcause documents are trees: +![Diagram](Files/xml3.png) +![Diagram](Files/xml4.png)