• No se han encontrado resultados

LOS DISCURSOS QUE MOLDEAN LOS PROYECTOS URBANOS

1) Discursos que se consumen y que circulan

The Semantic Web, introduced by Berners-Lee (Berners-Lee et al., 2001) in 2001, is the extension of the World Wide Web that enables people to share content beyond the boundaries of applications and websites (Hitzler et al., 2009). This is typically achieved through the inclusion of semantic content in web pages, which thereby converts the existing Web, dominated by unstructured and semi-structured docu- ments, into a web of meaningful machine-readable information. Accordingly, the Semantic Web can be seen as a giant mesh of information linked up in such a way as to be easily readable by machines, on a global scale. It can be understood as an efficient way of representing data on the World Wide Web, or as a globally linked database.

As shown in Figure 3.3, the Semantic Web is realised through the combination of certain key technologies (Hitzler et al., 2009). These technologies from the bot- tom of the stack up to the level of XML have been part of the Web standardised technology stack even before the emergence of the Semantic Web, whereas the upper, relatively new technologies – i.e., Terse RDF Triple Language (Turtle) and Notation3 (N3), RDF, RDF Schema (RDFS), SPARQL Protocol and RDF Query Language (SPARQL), OWL, and SWRL – are intrinsic to the Semantic Web re- search. All of these components have already been standardised by the World Wide Web Consortium (W3C) and are widely applied in the development of Se- mantic Web applications. Briefly, these standards and technologies are:

Identifiers: URI Encoding: Unicode Syntax: XML, Turtle, N3

Data Representation and Interchange: RDF Taxonomies: RDFS Querying:

SPARQL

Ontologies: OWL Rules: SWRL RDF stream querying:

C-SPARQL, EP-SPARQL, CQELS, SPARQLstream

Figure 3.3: Semantic Web stack.

• RDF serves to represent information in the form of so-called ‘triples’, each of which consists of a subject, a predicate, and an object, expressed as a Web URI. RDF enables the representation of information about resources in the form of graph – that is why the Semantic Web is sometimes called a Giant Global Graph. As noted above, an RDF-based data model can be represented in a variety of syntaxes (e.g., RDF/XML, N3, and Turtle). For example, the following listing contains RDF serialisations for a simple statement, which can be expressed with a natural language as ‘Sheffield is a city located in England’. Accordingly, Listing 3.1 contains the RDF/XML serialisation, and Listing 3.2 contains the N3/Turtle notation.

Listing 3.1: Example of the RDF/XML serialisation.

<rdf:\gls{rdf} xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pl="http://purl.org/ontology/places#"> <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Sheffield"> <rdf:type>pl:City</rdf:type> <pl:hasLocation>http://en.wikipedia.org/wiki/England<pl:hasLocation> </rdf:Description> </rdf:\gls{rdf}>

Listing 3.2: Example of the N3/Turtle serialisation.

@prefix pl: http://purl.org/ontology/places. <http://en.wikipedia.org/wiki/Sheffield> rdf:type pl:City;

pl:hasLocation https://en.wikipedia.org/wiki/England.

In our work in general and in this document, we have adopted the Turtle notation for its relative compactness, simplicity and human-readability. • RDFS provides a basic schema language for RDF. For example, using RDFS

it is possible to create hierarchies of classes and properties – that is to create simple, light-weight taxonomies, also known as RDF vocabularies, intended to structure RDF resources. These resources can be saved in a special non- relational database, called a triple store, and further queried with the special query language SPARQL.

• SPARQL is an RDF query language, which serves to query any RDF-based data from triple stores, including statements involving RDFS and OWL. Its syntax, mainly inspired by the established SQL, allows to define queries con- sisting of triple patterns, conjunctions, disjunctions, and optional patterns. SPARQL is considered to be one of the key technologies constituting the Semantic Web stack, and to date, there exist multiple implementations of it, written in many programming language. The following sample human- readable query in Listing 3.3 demonstrates the syntax of SPARQL. The query fetches all cities, located in England (e.g., Sheffield).

Listing 3.3: Example of a SPARQL query.

//define a shortcut prefix to save space and make //the code more human-readable

PREFIX pl: http://purl.org/ontology/places //query all cities from the triple repository... SELECT ?city

//...which are located in England WHERE {

?city a pl:City.

?city pl:hasLocation https://en.wikipedia.org/wiki/England. }

• OWL is a family of knowledge representation languages used to formally define an ontology – “a formal, explicit specification of a shared conceptual- isation” (Studer et al., 1998). Typically, an ontology is seen as a combination of a terminology component (i.e., TBox) and an assertion component (i.e., ABox), which are used to describe two different types of statements in on- tologies. The TBox contains definitions of classes and properties, whereas

the ABox contains definitions of instances of those classes. Together, the TBox and the ABox constitute the knowledge base of an ontology. OWL ex- tends RDFS by adding more advanced constructs to describe resources on the Semantic Web. By means of OWL it is possible to explicitly and formally define knowledge (i.e., concepts, relations, properties, instances, etc.) and basic rules in order to reason about this knowledge. OWL allows stating ad- ditional constraints, such as cardinality, restrictions of values, or characteris- tics of properties such as transitivity. The OWL languages are characterised by formal semantics – they are based on Description Logics (DLs) and thus bring reasoning power to the Semantic Web. There exists a prominent visual editor for designing OWL ontologies, called Protege,1and several reasoners

written in multiple programming languages, such as Pellet,2 FaCT++,3 and HermiT.4

• SWRL extends OWL with even more expressivity, as it allows defining rules in the form of implication between an antecedent (body) and consequent (head). It means that whenever the conditions specified in the body of a rule hold, then the conditions specified in the head must also hold. It is worth noting, that fully compatible with OWL-DL, SWRL syntax is quite expres- sive, which may have certain negative impacts on its decidability and com- putability. Listing 3.4 contains a rule, expressed in a human-readable syntax, and illustrates the functionality of SWRL. The following sample states that if a city is located in England, then it is also located in the United Kingdom.

Listing 3.4: Example of a SWRL rule.

pl:City(?city) ^ pl:hasLocation(?city, "http://en.wikipedia.org/wiki /England") -> pl:hasLocation(?city, "https://en.wikipedia.org/ wiki/United_Kingdom")

Note that with OWL and SWRL, there is typically more than one way of defining knowledge deducing facts. For example, this very same inference achieved by reasoning over the SWRL rule, can be also achieved by defining hasLocationas a transitive property between a city and England, and also between England and the United Kingdom. Even though it is not explicitly stated that a city is located in the United Kingdom, the reasoner will deduce this based on the fact that England is located in the United Kingdom by following the transitive property.

1http://protege.stanford.edu/

2https://github.com/complexible/pellet 3https://code.google.com/p/factplusplus/ 4http://hermit-reasoner.com/