You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ju...@apache.org on 2007/07/17 01:07:56 UTC

svn commit: r556764 - in /labs/juuso: graph.m main.m n3.m owl.m rdf.m rdfs.m triple.m uri.m xsd.m

Author: jukka
Date: Mon Jul 16 16:07:55 2007
New Revision: 556764

URL: http://svn.apache.org/viewvc?view=rev&rev=556764
Log:
juuso: All resources are now strings instead of typed URIs, blank nodes or literals to keep things simple

Removed:
    labs/juuso/n3.m
    labs/juuso/triple.m
    labs/juuso/uri.m
Modified:
    labs/juuso/graph.m
    labs/juuso/main.m
    labs/juuso/owl.m
    labs/juuso/rdf.m
    labs/juuso/rdfs.m
    labs/juuso/xsd.m

Modified: labs/juuso/graph.m
URL: http://svn.apache.org/viewvc/labs/juuso/graph.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/graph.m (original)
+++ labs/juuso/graph.m Mon Jul 16 16:07:55 2007
@@ -19,28 +19,32 @@
 :- module graph.
 
 :- interface.
-:- import_module triple.
+:- import_module string.
 :- import_module list.
 
-:- type graph.
+:- type graph == list({ string, string, string }).
 
-:- func empty = graph is det.
-
-:- func create(list(triple)) = graph is det.
-
-:- pred contains(graph, triple).
+:- pred contains(graph, string).
 :- mode contains(in, in) is semidet.
 :- mode contains(in, out) is nondet.
 
-:- implementation.
-:- import_module set.
-
-:- type graph ---> graph(set(triple)).
-
-empty = create([]).
+:- pred contains(graph, string, string, string).
+:- mode contains(in, in, in, in) is semidet.
+:- mode contains(in, in, in, out) is nondet.
+:- mode contains(in, in, out, in) is nondet.
+:- mode contains(in, out, in, in) is nondet.
+:- mode contains(in, in, out, out) is nondet.
+:- mode contains(in, out, in, out) is nondet.
+:- mode contains(in, out, out, in) is nondet.
+:- mode contains(in, out, out, out) is nondet.
 
-create(Triples) = graph(Set) :-
-        Set = set.from_list(Triples).
+:- implementation.
 
-contains(graph(Set), Triple) :-
-        set.member(Triple, Set).
+contains(G, S) :-
+	contains(G, S, _, _);
+	contains(G, _, S, _);
+	contains(G, _, _, S).
+
+contains([ Head | Tail ], S, P, O) :-
+	Head = { S, P, O };
+	contains(Tail, S, P, O).

Modified: labs/juuso/main.m
URL: http://svn.apache.org/viewvc/labs/juuso/main.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/main.m (original)
+++ labs/juuso/main.m Mon Jul 16 16:07:55 2007
@@ -24,16 +24,14 @@
 :- pred main(io::di, io::uo) is det.
 
 :- implementation.
-:- import_module graph.
 :- import_module list.
-:- import_module triple.
-:- import_module uri.
+:- import_module graph.
+:- import_module rdf.
 :- import_module rdfs.
 :- import_module solutions.
-:- import_module n3.
 
 main(!IO) :-
-        G = graph.create([ triple(uri("A"), uri("P"), uri("B")),
-                           triple(uri("P"), rdfs("range"), uri("C")) ]),
-        solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("P"), X)), Xs),
-        io.write(Xs, !IO).
+        G = [ { "A", rdf("type"), "C" }, { "P", rdfs("range"), "C" } ],
+	solutions((pred(X::out) is nondet :- rdfs.property(G, S, P, O), X = { S, P, O }), Xs),
+        io.write(Xs, !IO),
+	io.nl(!IO).

Modified: labs/juuso/owl.m
URL: http://svn.apache.org/viewvc/labs/juuso/owl.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/owl.m (original)
+++ labs/juuso/owl.m Mon Jul 16 16:07:55 2007
@@ -50,12 +50,9 @@
 
 isClass(_, owl("Thing")).
 isClass(_, owl("Nothing")).
-isClass(G, U) :- rdf.contains(G, triple(U, rdf("type"), owl("Class")).
-
-subClassOf(G, A, B) :-
-        
+isClass(G, U) :- property(G, U, rdf("type"), owl("Class")).
 
 sameAs(G, A, B) :-
         A = B;
-        graph_contains(G, triple(A, owl("sameAs"), B));
-        graph_contains(G, triple(B, owl("sameAs"), A)).
+        property(G, A, owl("sameAs"), B);
+        property(G, B, owl("sameAs"), A).

Modified: labs/juuso/rdf.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdf.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/rdf.m (original)
+++ labs/juuso/rdf.m Mon Jul 16 16:07:55 2007
@@ -20,21 +20,19 @@
 
 :- interface.
 :- import_module string.
-:- import_module uri.
 :- import_module graph.
 
-:- func rdf(string) = uri is det.
+:- func rdf(string) = string is det.
 
-:- pred type(graph, uri, uri).
+:- pred type(graph, string, string).
 :- mode type(in, in, in) is semidet.
 :- mode type(in, out, in) is nondet.
 :- mode type(in, in, out) is nondet.
 :- mode type(in, out, out) is nondet.
 
 :- implementation.
-:- import_module triple.
 
-rdf(S) = prefix("http://www.w3.org/1999/02/22-rdf-syntax-ns#", S).
+rdf(S) = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ++ S.
 
 type(Graph, Subject, Type) :-
-        contains(Graph, triple(Subject, rdf("type"), Type)).
+        contains(Graph, Subject, rdf("type"), Type).

Modified: labs/juuso/rdfs.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdfs.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/rdfs.m (original)
+++ labs/juuso/rdfs.m Mon Jul 16 16:07:55 2007
@@ -20,12 +20,11 @@
 
 :- interface.
 :- import_module string.
-:- import_module uri.
 :- import_module graph.
 
-:- func rdfs(string) = uri is det.
+:- func rdfs(string) = string is det.
 
-:- pred property(graph, uri, uri, uri).
+:- pred property(graph, string, string, string).
 :- mode property(in, in, in, in) is semidet.
 :- mode property(in, in, in, out) is nondet.
 :- mode property(in, in, out, in) is nondet.
@@ -33,49 +32,48 @@
 :- mode property(in, in, out, out) is nondet.
 :- mode property(in, out, out, out) is multi.
 
-:- pred instance(graph, uri, uri).
+:- pred instance(graph, string, string).
 :- mode instance(in, in, in) is semidet.
 :- mode instance(in, in, out) is nondet.
 :- mode instance(in, out, in) is nondet.
 :- mode instance(in, out, out) is multi.
 
-:- pred class(graph, uri).
+:- pred class(graph, string).
 :- mode class(in, in) is semidet.
 :- mode class(in, out) is nondet.
 
-:- pred range(graph, uri, uri).
+:- pred range(graph, string, string).
 :- mode range(in, in, in) is semidet.
 :- mode range(in, in, out) is nondet.
 :- mode range(in, out, in) is nondet.
 :- mode range(in, out, out) is nondet.
 
-:- pred domain(graph, uri, uri).
+:- pred domain(graph, string, string).
 :- mode domain(in, in, in) is semidet.
 :- mode domain(in, in, out) is nondet.
 :- mode domain(in, out, in) is nondet.
 
 %-------------------------------------------------------------------------%
 :- implementation.
-:- import_module triple.
 :- import_module rdf.
 
-:- pred builtin(uri, uri, uri).
+rdfs(S) = "http://www.w3.org/2000/01/rdf-schema#" ++ S.
+
+:- pred builtin(string, string, string).
 :- mode builtin(out, out, out) is multi.
 
-:- pred contains(graph, uri, uri, uri).
+:- pred contains(graph, string, string, string).
 :- mode contains(in, out, out, out) is multi.
 
 contains(G, S, P, O) :-
         builtin(S, P, O);
-        graph.contains(G, triple(S, P, O)).
-
-rdfs(S) = prefix("http://www.w3.org/2000/01/rdf-schema#", S).
+        graph.contains(G, S, P, O).
 
 property(G, S, P, O) :-
-        contains(G, S, P, O).
+        rdfs.contains(G, S, P, O).
 
 property(G, S, P, O) :-
-	contains(G, X, rdfs("subPropertyOf"), P),
+	rdfs.contains(G, X, rdfs("subPropertyOf"), P),
         property(G, S, X, O).
 
 instance(G, R, C) :-
@@ -90,9 +88,9 @@
 % classes are subclasses of this class.
 
 instance(G, R, rdfs("Resource")) :-
-        contains(G, R, _, _);
-        contains(G, _, R, _);
-        contains(G, _, _, R).
+        property(G, R, _, _);
+        property(G, _, R, _);
+        property(G, _, _, R).
 
 % rdfs:Resource is an instance of rdfs:Class.
 

Modified: labs/juuso/xsd.m
URL: http://svn.apache.org/viewvc/labs/juuso/xsd.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/xsd.m (original)
+++ labs/juuso/xsd.m Mon Jul 16 16:07:55 2007
@@ -25,11 +25,10 @@
 %
 %-------------------------------------------------------------------------%
 :- interface.
-:- import_module uri.
 :- import_module string.
 
-:- func xsd(string::in) = uri::out is det.
+:- func xsd(string::in) = string::out is det.
 
 :- implementation.
 
-xsd(S) = prefix("http://www.w3.org/2001/XMLSchema#", S).
+xsd(S) = "http://www.w3.org/2001/XMLSchema#" ++ S.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org