Mirror of the Rel4tion website/wiki source, view at <http://rel4tion.org>
Clone
HTTPS:
git clone https://vervis.peers.community/repos/yEzqv
SSH:
git clone USERNAME@vervis.peers.community:yEzqv
Branches
Tags
languages.mdwn
Languages
Let’s examine a potential hierarchy of Razom languages.
- Plain triple language (N-Triples)
- Naming supported triple language (namespace-label references work)
- Shortcut language (like Turtle)
- Naming supported shortcut language (like what I’m writing now for Partager)
- Embedded naming language (naming, labeling and namespace-association have convenient syntax)
- Domain specific (everything made for specific ontologies)
I’m going to use some fake uids here. It is the exact same information, expressed on different levels. Some of the syntax is imaginary because I haven’t designed it all yet.
- Plain triple language (N-Triples)
Without defining any namespaces and labels:
<U> <SIA> <SC> .
<U> <SHN> <UN> .
<U> <SHD> <UD> .
<UN> <SIA> <ST> .
<UN> <SHC> "Unit" .
<UN> <SL> <LEN> .
<UD> <SIA> <ST> .
<UD> <SHC> "A unit of measurement" .
<UD> <SL> <LEN> .
With namespaces and labels:
<M> <SHL> "metro" .
<M> <SHP> "metro" .
<M> <SNS> <M> .
<M> <SIA> <SN> .
<ME> <SHL> "metro__en" .
<ME> <SHP> "metro__en" .
<ME> <SNS> <ME> .
<ME> <SIA> <SN> .
<U> <SHL> "Unit" .
<U> <SNS> <M> .
<U> <SIA> <SC> .
<U> <SHN> <UN> .
<U> <SHD> <UD> .
<UN> <SHL> "UnitName" .
<UN> <SNS> <ME> .
<UN> <SIA> <ST> .
<UN> <SHC> "Unit" .
<UN> <SL> <LEN> .
<UD> <SHL> "UnitDescription" .
<UD> <SNS> <ME> .
<UD> <SIA> <ST> .
<UD> <SHC> "A unit of measurement" .
<UD> <SL> <LEN> .
Naming supported triple language (namespace-label references work)
@namespace smaoin
@namespace lang @namespace metro@namespace metro__en @default metro smaoin:has_label “metro” . smaoin:has_prefix “metro” . smaoin:belongs_to_namespace . smaoin:is_a smaoin:Namespace . smaoin:has_label "metro__en" . smaoin:has_prefix "metro__en" . smaoin:belongs_to_namespace . smaoin:is_a smaoin:Namespace .
smaoin:has_label “Unit” . smaoin:belongs_to_namespace :metro . smaoin:is_a smaoin:Class . smaoin:has_name metro__en:UnitName . smaoin:has_description metro__en:UnitDescription .
smaoin:has_label “UnitName” . smaoin:belongs_to_namespace metro__en:metro__en . smaoin:is_a smaoin:Text . smaoin:has_content “Unit” . smaoin:has_language lang:en .
smaoin:has_label “UnitDescription” . smaoin:belongs_to_namespace metro__en:metro__en . smaoin:is_a smaoin:Text . smaoin:has_content “A unit of measurement” . smaoin:has_language lang:en .
Shortcut language (like Turtle)
Without defining any namespaces and labels:
<U> <SIA> <SC> ; <SHN> <UN> ; <SHD> <UD> . <UN> <SIA> <ST> ; <SHC> "Unit" ; <SL> <LEN> . <UD> <SIA> <ST> ; <SHC> "A unit of measurement" ; <SL> <LEN> .
With namespaces and labels:
<M> <SHL> "metro" ; <SHP> "metro" ; <SNS> <M> ; <SIA> <SN> . <ME> <SHL> "metro__en" ; <SHP> "metro__en" ; <SNS> <ME> ; <SIA> <SN> . <U> <SHL> "Unit" ; <SNS> <M> ; <SIA> <SC> ; <SHN> <UN> ; <SHD> <UD> . <UN> <SHL> "UnitName" ; <SNS> <ME> ; <SIA> <ST> ; <SHC> "Unit" ; <SL> <LEN> . <UD> <SHL> "UnitDescription" ; <SNS> <ME> ; <SIA> <ST> ; <SHC> "A unit of measurement" ; <SL> <LEN> .
Naming supported shortcut language (like what I’m writing now for Partager)
@namespace smaoin
@namespace lang @namespace metro@namespace metro__en @default metro smaoin:has_label “metro” ; smaoin:has_prefix “metro” ; smaoin:belongs_to_namespace ; smaoin:is_a smaoin:Namespace . smaoin:has_label "metro__en" ; smaoin:has_prefix "metro__en" ; smaoin:belongs_to_namespace ; smaoin:is_a smaoin:Namespace .
smaoin:has_label “Unit” ; smaoin:belongs_to_namespace :metro ; smaoin:is_a smaoin:Class ; smaoin:has_name metro__en:UnitName ; smaoin:has_description metro__en:UnitDescription .
smaoin:has_label “UnitName” ; smaoin:belongs_to_namespace metro__en:metro__en ; smaoin:is_a smaoin:Text ; smaoin:has_content “Unit” ; smaoin:has_language lang:en .
smaoin:has_label “UnitDescription” ; smaoin:belongs_to_namespace metro__en:metro__en ; smaoin:is_a smaoin:Text ; smaoin:has_content “A unit of measurement” ; smaoin:has_language lang:en .
Embedded naming language (naming, labeling and namespace-association have convenient syntax)
@use smaoin
@defuse metro
@base metro
:Unit (smaoin:Class) %en “Unit” “A unit of measurement”
Domain specific (everything made for specific ontologies)
fill here, e.g. details of a Task or something