kpic.n3 2.13 KB
@prefix g: <http://www.w3.org/2001/02pd/gv#>.
@prefix l: <http://www.w3.org/2000/10/swap/log#>.
@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix : <kpic#>.
@prefix v: <?>.
@prefix p: <prop43#>.

<> u:seeAlso <http://www.w3.org/History/1989/proposal.html>.

this l:forAll v:graph, v:n1, v:ek, v:n2.

<> g:digraph :theGraph.

this l:forAll v:thing, v:str, v:prop.

{ v:n1 v:ek v:n2.
  v:ek a g:EdgeProperty. }
   l:implies { :theGraph g:hasNode v:n1, v:n2. }.



{ v:thing a p:Document }
  l:implies { v:thing g:shape "polygon"; g:style "bold" }. #@@rect has angled bottom

p:Document u:subClassOf :LabelledThing.
p:Concept u:subClassOf :LabelledThing.
p:Organization u:subClassOf :LabelledThing.

{ v:thing a p:Concept }
  l:implies { v:thing g:shape "diamond" }. #@@cloud

{ v:thing a :LabelledThing; u:label v:str }
  l:implies { v:thing g:label v:str }.

{ v:thing a p:Document; dc:title v:str }
  l:implies { v:thing g:label v:str }.

p:describes a :LabelledProperty. #@@ solid
p:refersTo a :LabelledProperty. #@@ solid
p:wrote a :LabelledProperty;  #@@ solid
  g:label "wrote".  #@@ should be in prop43.n3
p:unifies a :LabelledProperty. #@@ solid

:LabelledProperty u:subClassOf g:EdgeProperty.

{ v:prop a :LabelledProperty; u:label v:str }
  l:implies { v:prop g:label v:str }.

:DottedEdgeProperty u:subClassOf g:EdgeProperty.

{ v:prop a :DottedEdgeProperty }
  l:implies { v:prop g:style "dotted" }.

p:includes a :DottedEdgeProperty; a :LabelledProperty.
p:forExample a :DottedEdgeProperty; a :LabelledProperty.
p:produces a :DottedEdgeProperty.

p:forExample a :TargetLabelled.
p:includes a :TargetLabelled.

{ v:prop a :TargetLabelled.
  v:n1 v:prop v:n2.
  v:n2 u:label v:str }
    l:implies { v:n2 g:label v:str }. # grab for example->Hypercard label

p:hasPart a g:EdgeProperty. #@@ right-angle effect

{ v:thing a p:Division } l:implies
  { v:thing g:label "division" }.
{ v:thing a p:Group } l:implies
  { v:thing g:label "group" }.
{ v:thing a p:Section } l:implies
  { v:thing g:label "section" }.

p:Person u:subClassOf :LabelledThing.
#{ v:thing a p:Person } l:implies
#  { v:thing g:style "plaintext" }.