-
Notifications
You must be signed in to change notification settings - Fork 8
W3 Web Annotation Data Model
Annotations are tools to provide additional information associated with a specific point in a document or other piece of data. A user can add, change, or remove information from a Web resource using a web annotation system without changing the resource itself. The annotations act as a layer on top of the current resource, and this layer is usually visible to other users that use the same annotation system. So, it can be said that annotations are metadata, a content about a content. It shows how a piece of content connects into annotated piece of content. This case is described by two pieces of data: body and target. Body is the piece of data that is annotated on target, which is another piece of data: Body is related to the target and conveys information about the target.
Source:
1- https://www.w3.org/TR/annotation-model/#dfn-iri
Research by: Altay Acar
World Wide Web consortium is an international community aiming to standardize the web to ensure its long term growth. W3C defines annotation as associating pieces of information. Annotating is a pervasive activity in web: any comment, rating, review, and etc. submitted on any piece of web content can be considered annotation. In addition there is a lot of note taking systems that can annotate web content. Thus, there is a plethora of annotation systems in the web. To standardize annotations on the web so that annotations can be used, shared, and reused across various software and hardware. Thus, users can share their annotations or use their annotations in multiple devices.
Source:
1- https://www.w3.org/TR/annotation-model/
2- https://w3c.github.io/web-annotation/model/wd/#diagrams-and-examples/
Research by: Mehmet Batuhan Çelik
An annotation is a collection of related resources that contain a body, a target, and their relationships. This relationship isn't always stable, and it can shift depending on the type of annotation. The entire model, on the other hand, includes features such as embedded content, resource segment selection, and syting suggestions, among others. This Standardized Web Annotation Data Model demonstrates how to serialize a resource-oriented data structure that may be utilized with a variety of protocols. This model is serialized as JSON.
W3C standards establish an Open Web Platform for application development that has the unrivaled potential to enable developers to create rich interactive experiences that are available on any device, driven by massive data warehouses. Despite the fact that the platform's bounds are still evolving, industry executives almost unanimously agree that HTML5 will be the platform's cornerstone. However, the platform's full potential is dependent on many other technologies developed by W3C and its partners, including as CSS, SVG, WOFF, the Semantic Web stack, XML, and a number of APIs.
W3C creates these technical standards and recommendations using a method that aims to maximize consensus on a technical report's content, assure high technical and editorial quality, and gain W3C and community approval.
Source:
1- https://github-wiki-see.page/m/kasimbozdag/swe_574/wiki/Web-Annotation-Data-Model
3- https://devopedia.org/web-annotation
Research by: Muhammed Enes Sürmeli
Annotation is, broadly speaking, a set of connected resources which conveys that these resources are related.
W3C proposes web annotation data model to standardise the resource annotation in the world wide web. Standardising is important because users may want to import/export annotations from different tools.
Web Annotation Data Model tries to be sufficiently expressive for complex requirements but simple enough to understand at a glance for common use cases.
The model: Web annotation data model consists of at least 0 bodies and at least 1 target. The data model conveys that bodies are related to the resources described in the target attribute.
Source:
1- https://www.w3.org/TR/annotation-model/
Research by: Ahmet Yiğit Özdoğan
The primary aim of the Web Annotation Data Model is to provide a standard description model and format to enable annotations to be shared between systems. This interoperability may be either for sharing with others, or the migration of private annotations between devices or platforms. The shared annotations must be able to be integrated into existing collections and reused without loss of significant information. The model should cover as many annotation use cases as possible, while keeping the simple annotations easy and expanding from that baseline to make complex uses possible.
The Web Annotation Data Model is a single, consistent model that can be used by all interested parties. All efforts have been made to keep the implementation costs for both producers and consumers to a minimum. A single method of fulfilling a use case is strongly preferred over multiple methods, unless there are existing standards that need to be accommodated or there is a significant cost associated with using only a single method. While the Data Model is built using Linked Data fundamentals, the design is intended to allow rich and performant non-graph-based implementations. As such, inferencing and other graph-based queries are explicitly not a priority for optimization in the design of the model.
Source:
1- https://www.w3.org/TR/annotation-model/#introduction
Research by: Onur Kömürcü
The Web Annotation Data Model is defined using the following basic principles:
An Annotation is a rooted, directed graph that represents a relationship between resources. There are two primary types of resource that participate in this relationship, Bodies and Targets. Annotations have 0 or more Bodies. Annotations have 1 or more Targets. The content of the Body resources is related to, and typically "about", the content of the Target resources. Annotations, Bodies and Targets may have their own properties and relationships, typically including creation and descriptive information. The intent behind the creation of an Annotation or the inclusion of a particular Body or Target is an important property and represented by a Motivation resource. The following principles describe additional distinctions regarding the exact nature of Target and Body:
The Target or Body resource may be more specific than the entity identified by the resource's IRI alone. In particular,
- The Target or Body resource may be a specific segment of the resource.
- The Target or Body resource may be styled in a specific way.
- The Target or Body resource may be a specific state of the resource.
- The Target or Body resource may be included in the Annotation to play a specific role.
- The Target or Body resource may be any combination of the above.
- The resource with these constraints is a separate resource from the Annotation, Body or Target, and is called a SpecificResource.
- The SpecificResource refers to the source resource and the constraints that make it more specific.
- The identity of the SpecificResource is separate from the descriptions of the constraints.
- The Body resource may be a choice between multiple resources.
- The properties of external resources, such as Bodies and Targets, included in the Annotation document are intended as hints to the client, and are not to be considered authoritative information. This includes properties such as the created time, the creating agent, the modification time, any rights assertions, format, language or text direction of the external resource.
Source:
Research by: Egemen Atik
Main Principles -> Body, which is a comment or other descriptive resource (an additional "data" provided) and Target within the source that relates to the body. -> annotation may have 0 or more bodies. (i.e. if you highlight a part of text with no comments, it is an annotation with a target but without a body. Every comment or additional data added related to the target forms a Body. ->Annotation has 1 or more targets. Target is a part of the annotated website/text/etc. -> Bodies are related to the the target. -> both bodies and targets can have additional properties defining them
many annotations refer as target to only part of the data rather than the whole source, to make this possible selectors should be used. Selectors can be implemented in different ways according to need - Text Quote based Selector takes part of the inserted txt and adds identifiers as prefix and suffix to remember , while Position Selectors identify by enumerating positions (Direct example from source: For example, if the document was "abcdefghijklmnopqrstuvwxyz", the start was 4, and the end was 7, then the selection would be "efg".)
The most common use case for online annotation is simply attaching a textual comment to an existing web page. This would be particularly useful for the project since we allow sharing notes with other users. Educator of a course or even other learner users may be able to annotate on notes taken, and provide feedback. Bookmarks and highlighted text are also very common use cases of annotation without a body.
Source:
1- https://w3c.github.io/web-annotation/model/wd/#selectors
2- https://www.w3.org/TR/annotation-model/#aims-of-the-model
3- https://arxiv.org/ftp/arxiv/papers/1304/1304.6709.pdf
Research by: Ezgi Aysel Batı
- IRI: An IRI, or Internationalized Resource Identifier, is an extension to the URI specification to allow characters from Unicode, whereas URIs must be made up of a subset of ASCII characters. There is a mapping algorithm for translating between IRIs and the equivalent encoded URI form. IRIs are defined by.
- Resource: An item of interest that may be identified by an IRI.
- Web Resource: A Resource that must be identified by an IRI, as described in the Web Architecture, Web Resources may be dereferencable via their IRI.
- External Web Resource: A Web Resource, which is not part of the representation of the Annotation, such as a web page, image, or video. External Web Resources are dereferencable from their IRI.
- Property: A feature of a Resource, that often has a particular data type. In the model sections, the term "Property" is used to refer to only those features which are not Relationships and instead have a literal value such as a string, integer or date. The valid values for a Property are thus any data type other than object, or an array containing members of that data type if more than one is allowed.
- Relationship: In the model sections, the term "Relationship" is used to distinguish those features that refer to other Resources, either by reference to the Resource's IRI or by including a description of the Resource in the Annotation's representation. The valid values for a Relationship are: a quoted string containing an IRI, an object that has the "id" property, or an array containing either of these if more than one is allowed.
- Class: Resources may be divided, conceptually, into groups called "classes"; members of a class are known as Instances of the class. Resources are associated with a particular class through typing. Classes are identified by IRIs, i.e., they are also Web Resources themselves.
- Type: A special Relationship that associates an Instance of a class to the Class it belongs to.
- Instance: An element of a group of Resources represented by a particular Class.
Source:
1- https://www.w3.org/TR/annotation-model/#dfn-iri
Research by: Altay Acar
Annotator is an open-source JavaScript library that can be used to add annotations to any webpage. Plugins can also be used to enhance Annotator. Annotorious is one such picture annotation plugin. Hypothes.is, Harvard's Open Video Annotation Project, EdX, MIT's Annotation Studio, WritingPod, Crunched Book, and many other projects use Annotator.
Hypothesis is free source and based on Annotator. Annotator used to save annotations at annotateit.org, however that service was shut down in March of 2017. Hypothesis is a service that keeps annotations as well, but you may easily set up your own servers.
AngularJS is used to build Pundit Annotator. It comes with client code that is open source. The server code is available for download and installation.
Source:
1- https://github-wiki-see.page/m/kasimbozdag/swe_574/wiki/Web-Annotation-Data-Model
3- https://devopedia.org/web-annotation
Research by: Muhammed Enes Sürmeli
- to grade a Web site based on its usefulness, user-friendliness, and acceptability for minors viewing.
- to add/remove material to improve or adjust the content (like wiki).
- as a means of collaboration, such as when discussing the contents of a particular resource.
- as a medium for artistic or social criticism, by allowing Web users to reinterpret, enrich, or protest against institutions or ideas found on the Internet.
- to identify and quantify temporary correlations between data components.
- to save, remember, and synthesize selected data. When it comes to comments, annotations can be thought of as an extra layer. The same publication that hosts the original document also publishes the comments. Annotations are added on top of that, although they may turn into comments in the future. What are the basic data structures of Web Annotation?
- target (the element being annotated, e.g., a web document or a portion of it),
- body (the content of the annotation, e.g., a string value),
- annotation (the element that serves to relate body and target of an annotation) The body can be structured content or a literal value (a URI). An URI (e.g., fragment IDs) and/or a selector that defines a domain-, resource-, or application-specific access protocol, such as offset-based, XPath-based, and so on, can be used to identify the target.
Research by: Ecenur Sezer
WHAT'S BEFORE? Web annotations are not new notions and they actually have been tried over the years. The reason why those attempts couldn't be successful is the fact that they lack of standards. On 23 February 2017, W3C, the standard body (standardized annotation) for the web is announced.
WHAT EXACTLY DOES THIS MEAN? With the help of W3 standards, all web pages can support different kinds of conversations without need of any extra action by the publishers. W3 Web annotation enables this native/built-in feature so just like the web search results. The conversations will be able to hold on as inline and everywhere in the web with W3. It can be thought as we are passing one step further in the dynamic web sites.
Here's a good example that explains the proposed architecture of the W3C Web annotations : https://www.w3.org/annotation/diagrams/annotation-architecture.svg
WHAT'S THE DIFFERENCE? Most of us know the applications like Adobe PDF reader, kindle, medium, genius, and etc. You might say that those also support annotation functionality, what's new with W3C? What W3C mainly does is providing a model that enables to reunit, reanchor the annotations whenever we want separately from the document. This can be thought as a similarity with the main logic behind the blockchain. Just as blockchain tries to decentralize the things by passing the authority to the users instead of the publishers, W3C also aims this purpose. With the help of W3C, users will take the control of power of the contents from the publishers. It is also estimated that W3C will allow users to organize and create groups.
Wouldn't be good the following case: When you read a medium blog about a topic that you are interested in, you see the annotations of the other users. You realized that they create a group that discuss about that topic and you joined their group and the discussion. Or think about you are watching a udemy course and you realized that people are planning practices about what is learned in the annotations.
I read the sentences of Rob Sanderson and Tim Cole who are the co-chairs of the W3C Web Annotation and wanted to publish with you directly: "Many websites already allow comments, but current […] systems rely on unique, usually proprietary technologies chosen and provided by publishers. Notes cannot be shared easily across the Web and comments about a Web page can only be saved and viewed via a single website. Readers cannot select their own tools, choose their own service providers or bring their own communities."
Source:
1- https://web.hypothes.is/blog/annotation-is-now-a-web-standard/
Research by: Bahrican Yeşil
Interoperability is a difficult task. Annotations made with one tool should work with the others. Can we, in other words, export annotations from one program and import them into another? When a browser has several tools installed, they should be able to create, modify, and anchor annotations together. Hypothesis and Pundit were both annotated on a webpage in one research. It was later discovered that the tools are incompatible and at times contradictory.
Source:
1- https://github-wiki-see.page/m/kasimbozdag/swe_574/wiki/Web-Annotation-Data-Model
3- https://devopedia.org/web-annotation
Research by: Muhammed Enes Sürmeli
Group Members
Meeting Notes of 451
Mobile Team Meeting Notes
Back-End Team Meeting Notes
Front-End Team Meeting Notes
Meeting Notes of 352
- Meeting #1 (04.03.2022)
- Meeting #2 (10.03.2022)
- Meeting #3 (17.03.2022)
- Meeting #4 (24.03.2022)
- Meeting #5 (31.03.2022)
- Meeting #5.1 (02.04.2022)
- Meeting #5.2 (05.04.2022)
- Meeting #6 (07.04.2022)
- Meeting #6.1 (12.04.2022)
- Meeting #7 (14.04.2022)
- Meeting #8 (21.04.2022)
- Meeting #9 (01.05.2022)
- Meeting #10 (12.05.2022)
- Practice App Requirements
- Practice App Use Case Diagram
- Practice App Sequence Diagram
- Practice App API Documentation
CMPE451 Milestones
- Will be added when ready