Overview of Semantic Web and RDF Concepts

 
M2 
MLDM/DSC 
– Semantic Web
 
 
Maxime Lefrançois
 
adapted from slides from Lynda Témal, 
https://fr.linkedin.com/in/lynda-temal-32a206a/fr
w
hich are adapted from slides from Fabien Gandon, Inria.
 
 
2. International Resource Identifier
      Resource Description Framework
         and the Turtle syntax
Semantic Web Formalisms
Querying
Reasoning
Trust
 
2
Representation
 
Semantic Web Formalisms
 
Querying
 
Reasoning
 
Trust
 
 
3
 
RDF
 
R
esource
: 
 
company, building, sensor,
                
 
temperature, unit, …
D
escription
: attributes, quality, and relations
  
between ressources
F
ramework
: model, languages and
syntaxes for these descriptions
 
4
 
R
D
F
 : a triple model
 
(
 subject
 , 
predicate
, 
object
 )
 
Structure of a simple sentence
Lynda
 
works_at
 
Engie
( 
subject
 , 
verb
, object)
 
 
 
5
 
R
D
F
 : A set of triples
  
= a RDF graph
 
6
 
This cannot be interpreted by a machine
 
Timothy John Berners-Lee,
B
orn June 8th 1955 in Londres.
Is the principal inventor of the World Wide Web.
President of the World Wide Web Consortium (W3C),
 which he founded.
Author of the book a Framework for Web Science
.
 
 
7
 
Identification : Ressources & Relations
 
8
 
Timothy John Berners-Lee,
Born
 
June 8th 1955
 
in
 
Londres
.
Is the principal 
inventor
 of 
the World Wide Web
.
President of
 
the World Wide Web Consortium (W3C)
,
 which he 
founded
.
Author of
 the 
book a Framework for Web Science
.
 
 
Simple sentence
 
T
imBL
 
has date of birth 
1955-06-08.
T
imBL
 
has place of birth 
London.
T
imBL
 
is inventor of 
WWW.
T
imBL
 
is director of 
W3C.
T
imBL
 
is founder of 
W3C.
T
imBL 
is author of 
Framework for Web Sience
 
 
 
9
 
R
D
F
 Triples: interpretable by the
machine
 
(
T
imBL
,
 
dateOfBirth
,
 
1955-06-08
)
(
T
imBL
, 
placeOfBirth
,
 
London
)
(
T
imBL
, 
isInventorOf
,
 
WWW
)
(
T
imBL
, 
isDirectorOf
,
 
W3C
)
(
T
imBL
, 
isFounderOf
,
 
W3C
)
(
T
imBL
,
 
isAuthorOf
,
 Web_Science
)
 
(
Sujet
, 
predicat
,
 
Objet
)
 
10
 
 
R
D
F 
triples can be
r
epresented by a oriented graph
          (
node
, 
arc
, 
node
)
 
 
 
11
T
i
m
B
L
W
3
C
1
9
5
5
-
0
6
-
0
8
 
d
a
t
e
O
f
B
i
r
t
h
 
i
s
F
o
u
n
d
e
r
O
f
 
12
 
Rules to write 
R
D
F
 triples
 
The 
subject
 is always a resource (never a literal)
 
The 
predicates
 are binary relations identified by URIs
 
The 
object
 is a resource or a literal
 
13
 
How to identify something uniquely?
 
14
 
URL: Universal Resource Locator
 
 
URN: Universal Resource Name
 
urn:isbn:0-395-36341-1 (réf. RFC 3187)
urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 (réf. RFC 4122)
urn:ietf:rfc:2141 (réf. RFC 2648)
 
See list
https://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml
 
15
 
URI = URN and URI
 
16
T
i
m
B
L
W
3
C
1
9
5
5
-
0
6
-
0
8
 
d
a
t
e
O
f
B
i
r
t
h
 
i
s
F
o
u
n
d
e
r
O
f
 
17
http://dbpedia.org/resource/Tim_Berners-Lee
http://www.w3.org
 
http://dbpedia.org/ontology/birthDate
 
http://dbpedia.org/property/founder
1955-06-08
 
18
http://dbpedia.org/resource/Tim_Berners-Lee
http://www.w3.org
 
http://dbpedia.org/ontology/birthDate
 
http://dbpedia.org/property/founder
"1955-06-08"^^<
http://www.w3.org/2001/XMLSchema#
>
 
19
 
(one of  ~) RDF syntaxes - N-Triple
 
<
http://dbpedia.org/resource/Tim_Berners-Lee
>
<
http://purl.org/dc/terms/creator
>
<
http://www.w3.org
>.
 
<
http://dbpedia.org/resource/Tim_Berners-Lee
>
<
http://dbpedia.org/property/dateOfBirth
>
“1955-06-08”^^<http://www.w3.org/2001/XMLSchema#date>.
 
<
http://dbpedia.org/resource/Tim_Berners-Lee
>
<
http://dbpedia.org/property/placeOfBirth
>
<http://dbpedia.org/resource/London>.
 
<
http://dbpedia.org/resource/London
>
<
http://dbpedia.org/property/isPartOf
>
<http://dbpedia.org/resource/England>.
 
 
20
 
(one of  ~) RDF syntaxes - 
Turtle
 
Syntactic sugar ++
 
21
 
Turtle prefixes and bases
 
 
<http://example.org/instances/appartement418>
 
<
http://www.w3.org/1999/02/22-rdf-syntax-ns#
type>
    
<http://example.org/vocabulary/T2>
 .
   
=
 
@Prefix rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#
>.
@Prefix : <http://example.org/vocabulary/> .
@Base <http://example.org/instances/> .
 
<
appartement418
> rdf:
type
 :
T2
 .
 
 
22
 
@Prefix rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#
>.
@Prefix dbp: <
http://dbpedia.org/property/>.
@Prefix 
dbr: <
http://dbpedia.org/resource/>.
@Prefix dc: <
http://purl.org/dc/terms/>.
@Prefix xsd: <
http://www.w3.org/2001/XMLSchema#
>.
 
dbr:
Tim_Berners-Lee
 rdf:
type 
dbo:
Scientist
 .
dbr:
Tim_Berners-Lee
 dc:
creator 
<
http://www.w3.org>
 .
dbr:
Tim_Berners-Lee
 dbp:
dateOfBirth 
“1955-06-08”^^
xsd:
date 
.
dbr:
Tim_Berners-Lee
 dbp:
placeOfBirth 
dbr:
London 
.
dbr:
Tim_Berners-Lee
 dbp:
placeOfBirth 
dbr:
England 
.
 
dbr:
London
 dbp:
isPartOf 
dbr:
England 
.
 
 
23
 
Turtle prefixes and bases
 
Separators    « . »  -  « ; »
 
@Prefix rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#
>.
@Prefix dbp: <
http://dbpedia.org/property/>.
@Prefix 
dbr: <
http://dbpedia.org/resource/>.
@Prefix dc: <
http://purl.org/dc/terms/>.
@Prefix xsd: <
http://www.w3.org/2001/XMLSchema#
>.
 
dbr:
Tim_Berners-Lee
 rdf:
type 
dbo:
Scientist
 ;
                    dc:
creator 
<
http://www.w3.org>
 ;
                    dbp:
dateOfBirth 
“1955-06-08”^^
xsd:
date 
;
                    dbp:
placeOfBirth 
dbr:
London 
;
                    dbp:
placeOfBirth 
dbr:
England 
.
 
dbr:
London
 dbp:
isPartOf 
dbr:
England 
.
 
 
24
 
Separators    « . »  -  « ; »  -  « , »
 
@Prefix rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#
>.
@Prefix dbp: <
http://dbpedia.org/property/>.
@Prefix 
dbr: <
http://dbpedia.org/resource/>.
@Prefix dc: <
http://purl.org/dc/terms/>.
@Prefix xsd: <
http://www.w3.org/2001/XMLSchema#
>.
 
dbr:
Tim_Berners-Lee
 rdf:
type 
dbo:
Scientist
 ;
                    dc:
creator 
<
http://www.w3.org>
 ;
                    dbp:
dateOfBirth 
“1955-06-08”^^
xsd:
date 
;
                    dbp:
placeOfBirth 
dbr:
London 
,
                                    
 
dbr:
England 
.
 
dbr:
London
 dbp:
isPartOf 
dbr:
England 
.
 
 
25
 
26
 
Check out these tools:
 
http://prefix.cc/
 
https://perfectkb.github.io/yate/
 
How to say: « There exists something that… » with 
R
D
F
 ?
 
Anonymous nodes (blank node)
 
27
 
How to say: « There exists something that… » with 
R
D
F
 ?
 
dbr:
Tim_Berners-Lee 
dbo:
marriedTo
  _:
bnode1
 .
 
_:
bnode1
 foaf:firstName "Nancy" ;
   foaf:lastName "Carlson" .
 
Anonymous nodes (blank node)
 
28
 
How to say: « There exists something that… » with 
R
D
F
 ?
 
dbr:
Tim_Berners-Lee 
dbo:marriedTo  [
   foaf:firstName "Nancy" ;
   foaf:lastName "Carlson"  ] .
 
 
 
 
@Prefix foaf: <http://xmlns.com/foaf/0.1/> .
 # Someone knows someone else, who has the name "Bob".
[ ] foaf:knows [ foaf:name "Bob" ] .
 
Anonymous nodes (blank node)
 
29
 
How to represent a closed list in 
R
D
F
 ?
 
W
e
b
_
S
c
i
e
n
c
e
 
h
a
s
 
f
o
r
 
c
h
a
p
t
e
r
:
 
1
.
 
c
h
a
p
1
2
.
 
c
h
a
p
2
3
.
 
c
h
a
p
3
 
30
 
(
Web_Science
,
 
hasChapter
, 
_:a
)
 
(
_:a
,
 
rdf:first
, 
chap1
)
(
_:a
,
 
rdf:rest
, 
_:b
)
 
(
_:b
,
 
rdf:first
, 
chap2
)
(
_:b
,
 
rdf:rest
, 
_:c
)
 
(
_:c
,
 
rdf:first
, 
chap3
)
(
_:c
,
 
rdf:rest
, 
rdf:nil
)
 
rdf:first
  and 
rdf:rest
 → to chain
rdf:nil
 → to end the list
 
How to represent a closed list in 
R
D
F
 ?
 
31
 
<Web_Science>
 
ex:
hasChapter 
_:a
 
_:a
 
rdf:first
 ex:
chap1 ;
       rdf:rest
 
_:b .
 
_:b
 
rdf:first
 ex:
chap2 ;
       
rdf:rest
 
_:c .
 
_:c
 
rdf:first
 ex:
chap3 ;
      
rdf:rest
 
rdf:nil.
 
How to represent a closed list in 
Turtle
 ?
 
32
 
<Web_Science>
 
ex:
hasChapter 
[
   
rdf:first
 ex:
chap1 ;
   rdf:rest
 
[
      
rdf:first
 ex:
chap2 ;
      
rdf:rest
 
[
          
rdf:first
 ex:
chap3 ;
          
rdf:rest
 
rdf:nil         ]     ]    ]  .
 
How to represent a closed list in 
Turtle
 ?
 
33
 
 
OR (because that was still a bit verbose)
 
 
 
<Web_Science>
 
ex:
hasChapter 
(
 
ex:
chap1 
ex:
chap2 
ex:
chap3 
)
 
.
 
How to represent a closed list in 
Turtle
 ?
 
34
 
@Prefix  : <http://example.org/stuff/1.0/> .
 
 (1 [:p :q] ( 2 ) ) :p2 :q2 .
 
Can complexify at will
 
35
 
RDF Datatype
 
A datatype 
D
 is defined by:
 
 
A set 
L(D)
 of Unicode strings called the 
Lexical Space
 
A set 
V(D)
 called the 
Value Space
;
 
A mapping 
L2V(D) : L(V) 
 V(D), 
 called the Lexical-to-value mapping,
 
     maps all Strings in the lexical space to a value in the value space.
 
A Literal 
L
 with datatype 
D
:
 
 
In Turtle: "xxx"^^aaa, with:
 
 
xxx is the 
Lexical Form
 
aaa is the IRI that 
identifies
 datatype D
a
 
"2015-11-23T14:00:00+02:00"
 
"2015-11-23T12:00:00Z"
L2V(xsd:dateTime
I
)
 
   L2V(
xsd:dateTime
I
)("2015-11-23T12:00:00Z" )
= L2V(
xsd:dateTime
I
)("2015-11-23T14:00:00+02:00")
 
L(xsd:dateTime
I
)
 
"blabla"  
   
L(xsd:dateTime
I
)
 
Time
 
e.g., Time dimension,
Datatype for positions  -> xsd:dateTime
Datatype for distance -> xsd:duration
 
"P1Y"
 – one year
 
"PT0S" 
– zero second
 
"P1Y2M" 
 
1 year, 2 months
L2V(xsd:duration
I
)
 
What can I find
when I look-up a IRI* ?
 
* If I can look it up, it’s obviously a URL (Locator):
not a URN,
not a literal (but maybe its datatype)
 
http://dbpedia.org/resource/Tim_Berners-Lee
 
38
Slide Note

je suis Lynda TEMAL

Je suis chez sfeir depuis un an.

J’ai un doctorat de l’université de Rennes I.

Le sujet de la thèse modélisation d’ontologies pour le partage de données dans le domaine de la neuroimagerie.

Aujourd’hui je vais vous présenter une introduction au web semantique. appelé aussi web de données.

Embed
Share

This content delves into concepts related to Semantic Web, RDF (Resource Description Framework), and formalisms of Trust Reasoning Representation. It covers topics such as RDF resource description, triple models, machine interpretation challenges, and the role of key figures like Timothy John Berners-Lee in the development of the World Wide Web.

  • Semantic Web
  • RDF
  • Resource Description Framework
  • Web Science
  • Timothy John Berners-Lee

Uploaded on Sep 06, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. M2 MLDM/DSC Semantic Web http://ci.mines-stetienne.fr/teaching/websem/2018 2. International Resource Identifier Resource Description Framework and the Turtle syntax Maxime Lefran ois maxime.lefrancois@emse.fr adapted from slides from Lynda T mal, https://fr.linkedin.com/in/lynda-temal-32a206a/fr which are adapted from slides from Fabien Gandon, Inria.

  2. Semantic Web Formalisms Trust Reasoning Representation 2

  3. Semantic Web Formalisms Trust Reasoning 3

  4. RDF Resource: company, building, sensor, temperature, unit, Description: attributes, quality, and relations between ressources Framework: model, languages and syntaxes for these descriptions 4

  5. RDF : a triple model ( subject , predicate, object ) Structure of a simple sentence Lynda works_at Engie ( subject , verb, object) 5

  6. RDF : A set of triples = a RDF graph 6

  7. This cannot be interpreted by a machine Timothy John Berners-Lee, Born June 8th 1955 in Londres. Is the principal inventor of the World Wide Web. President of the World Wide Web Consortium (W3C), which he founded. Author of the book a Framework for Web Science. 7

  8. Identification : Ressources & Relations Timothy John Berners-Lee, Born June 8th 1955 in Londres. Is the principal inventor of the World Wide Web. President of the World Wide Web Consortium (W3C), which he founded. Author of the book a Framework for Web Science. 8

  9. Simple sentence TimBL has date of birth 1955-06-08. TimBL has place of birth London. TimBL is inventor of WWW. TimBL is director of W3C. TimBL is founder of W3C. TimBL is author of Framework for Web Sience 9

  10. RDF Triples: interpretable by the machine (TimBL, dateOfBirth, 1955-06-08) (TimBL, placeOfBirth, London) (TimBL, isInventorOf, WWW) (TimBL, isDirectorOf, W3C) (TimBL, isFounderOf, W3C) (TimBL, isAuthorOf, Web_Science) (Sujet, predicat, Objet) 10

  11. RDF triples can be represented by a oriented graph (node, arc, node) 11

  12. 1955-06-08 dateOfBirth TimBL isFounderOf W3C 12

  13. Rules to write RDF triples The subject is always a resource (never a literal) The predicates are binary relations identified by URIs The object is a resource or a literal 13

  14. How to identify something uniquely? 14

  15. URL: Universal Resource Locator URN: Universal Resource Name urn:isbn:0-395-36341-1 (r f. RFC 3187) urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 (r f. RFC 4122) urn:ietf:rfc:2141 (r f. RFC 2648) See list https://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml 15

  16. URI = URN and URI 16

  17. 1955-06-08 dateOfBirth TimBL isFounderOf W3C 17

  18. 1955-06-08 http://dbpedia.org/ontology/birthDate http://dbpedia.org/resource/Tim_Berners-Lee http://dbpedia.org/property/founder http://www.w3.org 18

  19. "1955-06-08"^^<http://www.w3.org/2001/XMLSchema#> http://dbpedia.org/ontology/birthDate http://dbpedia.org/resource/Tim_Berners-Lee http://dbpedia.org/property/founder http://www.w3.org 19

  20. (one of ~) RDF syntaxes - N-Triple <http://dbpedia.org/resource/Tim_Berners-Lee> <http://purl.org/dc/terms/creator> <http://www.w3.org>. <http://dbpedia.org/resource/Tim_Berners-Lee> <http://dbpedia.org/property/dateOfBirth> 1955-06-08 ^^<http://www.w3.org/2001/XMLSchema#date>. <http://dbpedia.org/resource/Tim_Berners-Lee> <http://dbpedia.org/property/placeOfBirth> <http://dbpedia.org/resource/London>. <http://dbpedia.org/resource/London> <http://dbpedia.org/property/isPartOf> <http://dbpedia.org/resource/England>. 20

  21. (one of ~) RDF syntaxes -Turtle Syntactic sugar ++ 21

  22. Turtle prefixes and bases <http://example.org/instances/appartement418> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/vocabulary/T2> . = @Prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @Prefix : <http://example.org/vocabulary/> . @Base <http://example.org/instances/> . <appartement418> rdf:type :T2 . 22

  23. Turtle prefixes and bases @Prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @Prefix dbp: <http://dbpedia.org/property/>. @Prefix dbr: <http://dbpedia.org/resource/>. @Prefix dc: <http://purl.org/dc/terms/>. @Prefix xsd: <http://www.w3.org/2001/XMLSchema#>. dbr:Tim_Berners-Lee rdf:type dbo:Scientist . dbr:Tim_Berners-Lee dc:creator <http://www.w3.org> . dbr:Tim_Berners-Lee dbp:dateOfBirth 1955-06-08 ^^xsd:date . dbr:Tim_Berners-Lee dbp:placeOfBirth dbr:London . dbr:Tim_Berners-Lee dbp:placeOfBirth dbr:England . dbr:London dbp:isPartOf dbr:England . 23

  24. Separators . - ; @Prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @Prefix dbp: <http://dbpedia.org/property/>. @Prefix dbr: <http://dbpedia.org/resource/>. @Prefix dc: <http://purl.org/dc/terms/>. @Prefix xsd: <http://www.w3.org/2001/XMLSchema#>. dbr:Tim_Berners-Lee rdf:type dbo:Scientist ; dc:creator <http://www.w3.org> ; dbp:dateOfBirth 1955-06-08 ^^xsd:date ; dbp:placeOfBirth dbr:London ; dbp:placeOfBirth dbr:England . dbr:London dbp:isPartOf dbr:England . 24

  25. Separators . - ; - , @Prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @Prefix dbp: <http://dbpedia.org/property/>. @Prefix dbr: <http://dbpedia.org/resource/>. @Prefix dc: <http://purl.org/dc/terms/>. @Prefix xsd: <http://www.w3.org/2001/XMLSchema#>. dbr:Tim_Berners-Lee rdf:type dbo:Scientist ; dc:creator <http://www.w3.org> ; dbp:dateOfBirth 1955-06-08 ^^xsd:date ; dbp:placeOfBirth dbr:London , dbr:England . dbr:London dbp:isPartOf dbr:England . 25

  26. Check out these tools: http://prefix.cc/ https://perfectkb.github.io/yate/ 26

  27. How to say: There exists something that with RDF ? Anonymous nodes (blank node) 27

  28. How to say: There exists something that with RDF ? Anonymous nodes (blank node) dbr:Tim_Berners-Lee dbo:marriedTo _:bnode1 . _:bnode1 foaf:firstName "Nancy" ; foaf:lastName "Carlson" . 28

  29. How to say: There exists something that with RDF ? Anonymous nodes (blank node) dbr:Tim_Berners-Lee dbo:marriedTo [ foaf:firstName "Nancy" ; foaf:lastName "Carlson" ] . @Prefix foaf: <http://xmlns.com/foaf/0.1/> . # Someone knows someone else, who has the name "Bob". [ ] foaf:knows [ foaf:name "Bob" ] . 29

  30. How to represent a closed list in RDF ? Web_Science has for chapter: 1. chap1 2. chap2 3. chap3 30

  31. How to represent a closed list in RDF ? rdf:first and rdf:rest to chain rdf:nil to end the list (Web_Science, hasChapter, _:a) (_:a, rdf:first, chap1) (_:a, rdf:rest, _:b) (_:b, rdf:first, chap2) (_:b, rdf:rest, _:c) (_:c, rdf:first, chap3) (_:c, rdf:rest, rdf:nil) 31

  32. How to represent a closed list in Turtle ? <Web_Science> ex:hasChapter _:a _:a rdf:first ex:chap1 ; rdf:rest _:b . _:b rdf:first ex:chap2 ; rdf:rest _:c . _:c rdf:first ex:chap3 ; rdf:rest rdf:nil. 32

  33. How to represent a closed list in Turtle ? <Web_Science> ex:hasChapter [ rdf:first ex:chap1 ; rdf:rest [ rdf:first ex:chap2 ; rdf:rest [ rdf:first ex:chap3 ; rdf:rest rdf:nil ] ] ] . 33

  34. How to represent a closed list in Turtle ? OR (because that was still a bit verbose) <Web_Science> ex:hasChapter ( ex:chap1 ex:chap2 ex:chap3 ) . 34

  35. Can complexify at will @Prefix : <http://example.org/stuff/1.0/> . (1 [:p :q] ( 2 ) ) :p2 :q2 . 35

  36. RDF Datatype A datatype D is defined by: A set L(D) of Unicode strings called the Lexical Space A set V(D) called the Value Space; A mapping L2V(D) : L(V) V(D), called the Lexical-to-value mapping, maps all Strings in the lexical space to a value in the value space. A Literal L with datatype D: In Turtle: "xxx"^^aaa, with: xxx is the Lexical Form aaa is the IRI that identifies datatype Da

  37. e.g., Time dimension, Datatype for positions -> xsd:dateTime Datatype for distance -> xsd:duration L2V(xsd:dateTimeI)("2015-11-23T12:00:00Z" ) = L2V(xsd:dateTimeI)("2015-11-23T14:00:00+02:00") Time L(xsd:dateTimeI) L2V(xsd:durationI) L2V(xsd:dateTimeI) "P1Y" one year "2015-11-23T12:00:00Z" "PT0S" zero second "2015-11-23T14:00:00+02:00" "P1Y2M" 1 year, 2 months "blabla" L(xsd:dateTimeI)

  38. What can I find when I look-up a IRI* ? http://dbpedia.org/resource/Tim_Berners-Lee * If I can look it up, it s obviously a URL (Locator): not a URN, not a literal (but maybe its datatype) 38

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#