| ... | ... | @@ -3,13 +3,18 @@ |
|
|
|
Here is an example of our API :
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/",
|
|
|
|
"first_name": "Jean-Baptiste",
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/users/alice/",
|
|
|
|
"first_name": "Alice",
|
|
|
|
"groups": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/groups/",
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/users/alice/groups/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": [
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "add"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "view"
|
| ... | ... | @@ -17,30 +22,18 @@ Here is an example of our API : |
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"last_name": "Pasquier",
|
|
|
|
"username": "jbpasquier",
|
|
|
|
"email": "contact@jbpasquier.eu",
|
|
|
|
"last_name": "Poggioli",
|
|
|
|
"username": "alice",
|
|
|
|
"email": "alice.poggioli@paca.happy-dev.fr",
|
|
|
|
"account": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/accounts/jbpasquier/"
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/accounts/alice/"
|
|
|
|
},
|
|
|
|
"chatProfile": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/chatprofiles/jbpasquier/"
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/chatprofiles/alice/"
|
|
|
|
},
|
|
|
|
"name": "Jean-Baptiste Pasquier",
|
|
|
|
"name": "Alice Poggioli",
|
|
|
|
"projects": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/projects/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": []
|
|
|
|
},
|
|
|
|
"circles": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/circles/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": []
|
|
|
|
},
|
|
|
|
"inbox": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/inbox/",
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/users/alice/projects/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": [
|
| ... | ... | @@ -48,14 +41,24 @@ Here is an example of our API : |
|
|
|
"mode": {
|
|
|
|
"@type": "add"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "view"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"skills": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/skills/",
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/users/alice/skills/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": [
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "add"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "view"
|
| ... | ... | @@ -64,10 +67,15 @@ Here is an example of our API : |
|
|
|
]
|
|
|
|
},
|
|
|
|
"jobOffers": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/users/jbpasquier/jobOffers/",
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/users/alice/jobOffers/",
|
|
|
|
"@type": "ldp:Container",
|
|
|
|
"ldp:contains": [],
|
|
|
|
"permissions": [
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "add"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "view"
|
| ... | ... | @@ -76,7 +84,7 @@ Here is an example of our API : |
|
|
|
]
|
|
|
|
},
|
|
|
|
"profile": {
|
|
|
|
"@id": "https://api.test-paris.happy-dev.fr/profiles/jbpasquier/"
|
|
|
|
"@id": "https://api.alpha.happy-dev.fr/profiles/alice/"
|
|
|
|
},
|
|
|
|
"@type": "foaf:user",
|
|
|
|
"@context": [
|
| ... | ... | @@ -90,6 +98,11 @@ Here is an example of our API : |
|
|
|
"mode": {
|
|
|
|
"@type": "view"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"mode": {
|
|
|
|
"@type": "change"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
| ... | ... | @@ -109,7 +122,7 @@ Did you notice the presence of a context ? |
|
|
|
```
|
|
|
|
### It is a way to go from the Json to [JsonLD](https://fr.wikipedia.org/wiki/JSON-LD)
|
|
|
|
|
|
|
|
That's mean that encode Linked Data using Json.
|
|
|
|
That's mean that we encode [Linked Data](https://en.wikipedia.org/wiki/Linked_data) using Json.
|
|
|
|
|
|
|
|
JsonLD is an [RDF](https://en.wikipedia.org/wiki/RDF) implementation, which is its-selft the basic language of [semantic web](https://en.wikipedia.org/wiki/Semantic_Web).
|
|
|
|
|
| ... | ... | @@ -144,8 +157,9 @@ Here is the context referred : |
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
The type we use is `foaf`. If you go to : http://xmlns.com/foaf/0.1/
|
|
|
|
You'll see that the properties which we can use are :
|
|
|
|
The type we use is `foaf`. That means that we use the FOAF ontology which is done to describe people.
|
|
|
|
|
|
|
|
If you go to the [foaf ontology](http://xmlns.com/foaf/0.1/), you'll see that the properties which we can use are :
|
|
|
|
|
|
|
|
account | accountName | accountServiceHomepage | age | aimChatID | based_near | birthday | currentProject | depiction | depicts | dnaChecksum | familyName | family_name | firstName | focus | fundedBy | geekcode | gender | givenName | givenname | holdsAccount | homepage | icqChatID | img | interest | isPrimaryTopicOf | jabberID | knows | lastName | logo | made | maker | mbox | mbox_sha1sum | member | membershipClass | msnChatID | myersBriggs | name | nick | openid | page | pastProject | phone | plan | primaryTopic | publications | schoolHomepage | sha1 | skypeID | status | surname | theme | thumbnail | tipjar | title | topic | topic_interest | weblog | workInfoHomepage | workplaceHomepage | yahooChatID |
|
|
|
|
|
| ... | ... | @@ -154,6 +168,8 @@ Now we can describe a user for every machines in the world using a universal lan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The page is still in process and constructed in french.
|
|
|
|
You can participate to [the review](https://docs.google.com/document/d/1l70VbMxgGPAVuyT9_MtxLHhnELBE__hl40gE7AaJvk8/edit?usp=sharing)
|
|
|
|
|