-
Notifications
You must be signed in to change notification settings - Fork 0
/
api-examples.coffee
116 lines (84 loc) · 2.67 KB
/
api-examples.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
zart = new Zart
defaultService: zart.RdfaService
zart.use new zart.Ontology
json: 'ontologies/schemaorg.json'
ns: 'schema'
# entityhub with geonames and dbpedia cached or stored
zart.use new zart.StanbolService 'stanbol',
url: 'http://dev.iks-project.eu:8080'
proxy: '../utils/proxy.php'
ns:
dbonto: 'http://dbpedia.org/ontology/'
dbres: 'http://dbpedia.org/resource/'
geo: 'http://geonames.org/'
# The way VIE can be used
zart.use new zart.RdfaService "rdfa"
@.error ->
console.log "Something bad happened"
# getSites gives back a list of strings
zart.service('stanbol').getSites (sites) ->
_(sites).forEach ->
console.log @
# VIE.EnityManager.getBySubject
entity = zart.entities.get "<http://dbpedia.org/resource/Obama>"
entity = zart.entities.get "dbpedia:Obama"
zart.service('rdfa').getPredicateElements entity, $('div')
zart.service('rdfa').getElementsForPropertiesOf entity
zart.type('schema:Person').extend 'schema:Musician'
zart.types.get('schema:Person')
zart.types.add('example:Musician', 'schema:Person', [new zart.Attribute('example:plays', 'example:Instrument')])
zart.types.get('schema:Person').extend('example:Musician',
'example:plays': 'example:Instrument'
'example:composerOf': ['example:Opera', 'example: Symphony']
# List all possible Properties
zart.types.get('schema:Person').attributes
# create new Entity
# see http://schema.org/Event
eventEntity = zart.entities.add
"@type": 'schema:MusicEvent' # default: Thing
"@subject":'http://example.net/newEvent' # optional
startDate: 'someDateString'
duration: 'someDateString'
location: someSchemaPlace # or http://...
assertTrue eventEntity.is 'schema:Event'
json = eventEntity.as 'jsonld'
# schema:name -> rdfs:label
# rdfs:label: "{{foaf:FirstName}} {{foaf:LastName}}"
# foaf:Person is schema:Person
zart.mappings.alias "foaf:Person", "schema:Person"
zart.get
eventEntity.addPerformers
# Annotate
$('#content').annotate
# Query
myQuery = zart.load
subject: "http://dbpedia/Obama"
predicates: ["name", "dateOfBirth"]
use: "stanbol"
success: (entities) ->
console.log entities
error: (err) ->
console.log "Something is wrong!"
do myQuery.execute unless foo is bar
zart.load({element: "div"}).from("rdfa")
zart.load({element: "div"}).from(new zart.RdfaService());
zart.load(queryParams)
.from("stanbol")
.execute()
.success (entities) ->
console.log entities
# Store
zart.save(entity)
.using("stanbol")
.set(
name: "Barack"
)
.execute()
# Annotate
zart.annotate($("div"))
.with("stanbol")
.execute()
# Delete
zart.delete(entity)
.using("stanbol")
.execute()